ОНОВЛЕННЯ. У своєму дописі я знайшов дуже корисний коментар, яким я хочу поділитися з вами як доповнення до основного вмісту:
Що стосується браку прикладів, ви можете знайти дивовижну-Falcorjs репо-користувачу, є різні приклади використання CRUD Falcor:
https://github.com/przeor/awesome-falcorjs ... По-друге, є книга під назвою " Оволодіння повною стекою React Development ", що включає і Falcor (хороший спосіб навчитися ним користуватися):
ОРГІНАЛЬНІ ПОШТИ Знизу:
FalcorJS ( https://www.facebook.com/groups/falcorjs/ ) набагато простіше бути ефективним порівняно з Relay / GraphQL.
Крива навчання для GraphQL + Relay - ВЕЛИЧЕЗНА:
У моєму короткому резюме: Перейдіть на Falcor. Використовуйте Falcor у своєму наступному проекті, поки у вас не буде великий бюджет і багато часу на навчання для вашої команди, тоді використовуйте RELAY + GRAPHQL.
GraphQL + Relay має величезний API, в якому ви повинні бути ефективними. Falcor має невеликий API і його дуже легко зрозуміти будь-якому розробнику, що знайомий з JSON.
Якщо у вас є проект AGILE з обмеженими ресурсами -> тоді йдіть на FalcorJS!
МОЯ СУБЕКТИВНА думка: FalcorJS на 500% + простіше бути ефективним у повному розмірі javascript.
Я також опублікував кілька стартових наборів FalcorJS для мого проекту (+ більше прикладних проектів Falcor з повним стеком): https://www.github.com/przeor
Детальніше про технічні деталі:
1) Коли ви використовуєте Falcor, ви можете використовувати як на передньому, так і на бекенді:
імпорт falcor з 'falcor';
а потім побудуйте свою модель на основі.
... вам також потрібні дві бібліотеки, які просто використовувати у бекенді: a) falcor-express - ви використовуєте його один раз (наприклад, app.use ('/ model.json', FalcorServer.dataSourceRoute (() => новий NamesRouter ())) ). Джерело: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/index.js
б) falcor-router - там ви визначаєте ПРОСТІ маршрути (наприклад, route: '_view.length' ). Джерело:
https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/router.js
Фалькор - це шматок пирога з точки зору кривої навчання.
Ви також можете ознайомитись з документацією, яка набагато простіша за вкладку FB, а також перегляньте статтю " чому вам слід піклуватися про falcorjs (netflix falcor) ".
2) Реле / GraphQL швидше схожий на величезний інструмент підприємства.
Наприклад, у вас є дві різні документації, про які окремо йдеться:
а) Естафета: https://facebook.github.io/relay/docs/tutorial.html
- Контейнери - Маршрути - Корінний контейнер - Готовий стан - Мутації - Мережевий шар - Плагін Babel Relay - GRAPHQL
- Специфікація GraphQL Relay
- Ідентифікація об'єкта
- З'єднання
- Мутації
- Подальше читання
ПОСИЛАННЯ API
Естафета
- RelayContainer
- Естафета.Руте
- Relay.RootContainer
- Relay.QL
- Естафета. Мутація
- Реле.PropTypes
- Естафета. Магазин
ІНТЕРФЕЙСИ
RelayNetworkLayer
- RelayMutationRequest
- RelayQueryRequest
б) GrapQL: https://facebook.github.io/graphql/
- 2 Язик
- 2.1 Текст джерела
- 2.1.1Унікод
- 2.1.2 Білий простір
- 2.1.3 Лінійні термінатори
- 2.1.4Коменти
- 2.1.5Нізначні коми
- 2.1.6Лексичні маркери
- 2.1.7Ігноровані токени
- 2.1.8 Пунктуатори
- 2.1.9Імена
- 2.2Довідковий документ
- 2.2.1 Операції
- 2.2.2 Набори вибору
- 2.2.3Поля
- 2.2.4 Аргументи
- 2.2.5 Польовий псевдонім
- 2.2.6Фрагменти
- 2.2.6.1Умови вводу
- 2.2.6.2 Вбудовані фрагменти
- 2.2.7Вхідні значення
- 2.2.7.1Інше значення
- 2.2.7.2 Значення пласта
- 2.2.7.3Болеве значення
- 2.2.7.4 Значення струни
- 2.2.7.5 Значення суми
- 2.2.7.6 Значення списку
- 2.2.7.7Вхідні значення об'єкта
- 2.2.8 Змінні
- 2.2.8.1 Змінне використання у фрагментах
- 2.2.9Види вводу
- 2.2.10Директиви
- 2.2.10.1 Директиви щодо фрагментів
- 3Type System
- 3.1 Типи
- 3.1.1Шкала
- 3.1.1.1 Вбудовані скаляри
- 3.1.1.1.1Інт
- 3.1.1.1.2плав
- 3.1.1.1.3Стринг
- 3.1.1.1.4Болеві
- 3.1.1.1.5ID
- 3.1.2Об’єкти
- 3.1.2.1 Аргументи об'єктного поля
- 3.1.2.2 Деструкція поля об'єкта
- 3.1.2.3 Перевірка типу об'єкта
- 3.1.3Інтерфейси
- 3.1.3.1 Перевірка типу інтерфейсу
- 3.1.4Спілки
- 3.1.4.1Перевірка типу об'єднання
- 3.1.5
- 3.1.6Вхідні об'єкти
- 3.1.7 Списки
- 3.1.8Non-Null
- 3.2Директиви
- 3.2.1@skip
- 3.2.2@include
- 3.3 Типи початку
- 4Інспекція
- 4.1Загальні принципи
- 4.1.1 Конвенції про іменування
- 4.1.2Документація
- 4.1.3Означення
- 4.1.4 Вступ Ім'я Вступ
- 4.2Сема інтроспекції
- 4.2.1Тип "__Type"
- 4.2.2 Типи видів
- 4.2.2.1Шкала
- 4.2.2.2Об’єкт
- 4.2.2.3 Союз
- 4.2.2.4Інтерфейс
- 4.2.2.5 Кількість
- 4.2.2.6Вхідний об'єкт
- 4.2.2.7Список
- 4.2.2.8 Незначне
- 4.2.2.9Спорядження, що поєднується, та ненулеве
- 4.2.3Тип поля __
- 4.2.4Тип __InputValue
- 5 Валідація
- 5.1Операції
- 5.1.1 Іменні визначення операцій
- 5.1.1.1Унікальність імені операції
- 5.1.2Анонімні визначення операцій
- 5.1.2.1Лічна анонімна операція
- 5.2Поля
- 5.2.1Поле вибору об'єктів, інтерфейсів та типів об'єднань
- 5.2.2 Об'єднання вибору поля
- 5.2.3 Вибір поля поля
- 5.3 Аргументи
- 5.3.1 Назви аргументів
- 5.3.2 Унікальність аргументу
- 5.3.3 Значення аргументу Тип Правильність
- 5.3.3.1 Сумісні значення
- 5.3.3.2 Необхідні аргументи
- 5.4Фрагменти
- 5.4.1 Фрагментні декларації
- 5.4.1.1 Унікальність імені фрагмента
- 5.4.1.2 Існування типу розповсюдження фрагмента
- 5.4.1.3 Фрагменти про складені типи
- 5.4.1.4 Фрагменти повинні бути використані
- 5.4.2 Фрагментний розкид
- 5.4.2.1. Визначена ціль розповсюдження фрагмента
- 5.4.2.2 Фрагментні спреди не повинні утворювати циклів
- 5.4.2.3 Можливе поширення фрагментів
- 5.4.2.3.1 Розподіл об'єкта в об єкті
- 5.4.2.3.2 Абстрактні розвороти в об’єкті
- 5.4.2.3.3 Розподіл об'єкта в абстрактному обсязі
- 5.4.2.3.4 Абстрактні розвороти в абстрактному масштабі
- 5.5. Цінності
- 5.5.1 Унікальність поля введення об'єкта
- 5.6Директиви
- 5.6.1 Визначено напрями
- 5.7 Змінні
- 5.7.1 Варіабельна унікальність
- 5.7.2Замінні значення за замовчуванням правильно введені
- 5.7.3 Змінні - це типи вводу
- 5.7.4Визначені всі використання змінних
- 5.7.5 Усі використані змінні
- 5.7.6 Дозволено всі зміни змінних
- 6Виконання
- 6.1Оцінка запитів
- 6.2Замінних змінних
- 6.3Оцінка операцій
- 6.4 Оцінка наборів вибору
- 6.5Оцінка згрупованого набору полів
- 6.5.1Полеві записи
- 6.5.2Нормальна оцінка
- 6.5.3 Повітряне виконання
- 6.5.4 Поводження з помилками
- 6.5.5 Зменшення
- 7Відповідь
- 7.1 Формат серіалізації
- 7.1.1 JSON серіалізація
- 7.2Формат відповіді
- 7.2.1 Дані
- 7.2.2 Помилки
- AA Додаток: Конвенції про позначення
- A.1 Граматика без контексту
- A.2Лексична та синтаксична граматика
- A.3 Граматичні позначення
- A.4 Граматична семантика
- A.5Альгоритми
- BA Додаток: Підсумки граматики
- B.1 Проігноровані маркери
- B.2Лексичні маркери
- B.3Довідковий документ
Це твій вибір:
Простий солодкий і короткий задокументований Falcor JS VERSUS Величезний інструмент для підприємств з довгою та вдосконаленою документацією як GraphQL & Relay
Як я вже говорив раніше, якщо ви передовий розробник, який розуміє ідею використання JSON, то реалізація графіків JSON від команди Falcor - найкращий спосіб зробити ваш повнорозмірний проект розробників.