Представляем RealWorld

Примеры полнофункциональных блоговых приложений на базе React, Angular, Node, Django и многих других — это как TodoMVC, но для полнофункциональных приложений! https://github.com/gothinkster/realworld

TL; DR — RealWorld показывает, как точно такая же платформа для ведения блогов в реальном мире построена с использованием React / Angular / & more поверх Node / Django / & more . Да, вы можете смешивать и сочетать их, потому что все они придерживаются одной спецификации API.

Освоение основных концепций и идеологии новой структуры неоправданно разочаровывает. Вы читаете документы, запускаете надуманный пример в коде, разбираете пример приложения «todo» и снова собираете его вместе, устанавливаете их CLI локально… и затем вы отправляетесь в гонки!

Кроме тебя никого нетДаже не близко. Потому что, когда вы на самом деле пытаетесь создать собственное приложение, именно тогда вас охватывает закон Мерфи.

«Как предварительно загрузить данные перед переходом на определенный маршрут? Это определенно не было ни в одном из документов или примеров. И почему этот CLI говорит мне, что left-pad это не может быть решено? Я даже не могу запустить приложение Hello World прямо сейчас. Это бесит.

Потребуются недели или даже месяцы этой душевной муки, чтобы достичь полного понимания и овладения этой новой структурой. Хуже того, экосистема Javascript не замедляется. Так что, как только вы закончите овладеть этим, у вас будет больше возможностей освоить, и у вас никогда не будет достаточно времени для них всех.

Если вы сделаете шаг назад, это редкая проблема в истории разработки программного обеспечения, с которой мы сталкиваемся. Большинство улучшений в истории программного обеспечения были направлены на централизованные усилия правительств, корпораций и тому подобное. То есть, пока не появилась сеть. Ключевое отличие от Интернета заключается в том, что его модель обновления следует более децентрализована & демократической решение, и, следовательно, направление инноваций течет противоположно: снизу вверх.

Поэтому всякий раз, когда вы видите, что выпущена новая библиотека или фреймворк, на самом деле происходит только то, как экосистема Javascript делает то, для чего она предназначена: позволяет любому вносить улучшения в дополнение к среде выполнения веб-приложений, некоторые из которых даже превращают ее обратно в ядро. Само время выполнения.

Это хорошая вещь

Тем не менее, это широко обсуждаемая проблема, которая заключается в том, что происходящее утомляет не потому, что скорость инноваций сама по себе утомляет, а потому, что наши традиционные методы обучения людей недостаточно хорошо масштабируются, чтобы соответствовать этому.

Другими словами, мы не можем изменить темп инноваций в сети. Но мы можем изменить скорость, с которой мы можем сообщать эти изменения друг другу.

Мне всегда нравилось, как TodoMVC делал это. Создавая одно и то же приложение (чья предполагаемая функциональность не нуждалась в объяснении) в каждой среде, они создали библиотеки и платформы пользовательского интерфейса Javascript для Rosetta Stone .

Тем не менее, несмотря на тот факт, что большинство приложений / учебников todo обеспечивают отличный беглый взгляд на возможности фреймворка, они, как правило, не передают знания и перспективы, необходимые для создания с его помощью «настоящих» веб-приложений.

Почему? Это из-за происхождения самих приложений todo.

Приложения Todo не являются хорошими примерами, когда вы сравниваете «реалистичные» веб- приложения, потому что приложения todo существовали задолго до появления Интернета. Иными словами, приложения todo не были одним из прорывных приложений, для существования которых требовалась сама сеть. Естественно, что первая идея при представлении простейшего приложения todo, вероятно, не имеет жестких требований для постоянного подключения к сети.

Но другой замечательной моделью этого, которую я всегда любил, был учебник «создать блог» в документации по Rails. Спойлеры: у них вы делаете блог.

Блог. Одно из самых простых изобретений, которое никогда не существовало бы без самой сети. И он также использует все преимущества сети: запросы и сохранение данных в базе данных, система аутентификации, управление сессиями, полный CRUD для ресурсов — и теперь в наши дни платформы социальных блогов (например, сайт, на котором вы читаете это) также имеют усовершенствованные реляционные функции, такие как подписка, лайки и комментирование. Блог-сайт — прекрасный пример простого, но надежного веб-приложения.

Используя лучшие идеи из TodoMVC и учебника по блогам Rails, мы попытались решить эту проблему, создав спецификацию дизайна и API для реального сайта социальных блогов, похожего на Medium.com. Мы назвали это Conduit . А затем мы начали писать первые шесть реализаций фреймворка, на которых он мог бы работать: Angular 1.x , Angular 2+ или React & Redux поверх Node , Django или Rails .

На сегодняшний день мы рады сообщить, что все шесть стеков были завершены, и вы можете проверить их в репозитории RealWorld GitHub ! (Обязательно добавьте звездочку / разветвление 🙂 Вы можете посмотреть живую демо-версию Conduit , работающую на React & Redux, на бэкэнде Node 😮

Теперь, когда мы доказали, что Conduit может работать в нескольких средах, мы приглашаем вас поделиться своим мастерством и добавить поддержку других платформ (Vue, Polymer, Elm, Go, Erlang,…), внедрив Conduit в новый каркас!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.