GÜNCELLEME: Yazımın altında sizinle ana içeriğin tamamlayıcısı olarak paylaşmak istediğim çok yararlı bir yorum buldum:
Örnek eksikliği ile ilgili olarak, harika falcorjs repo kullanıcısını bulabilirsiniz, bir Falcor'un CRUD kullanımının farklı örnekleri vardır:
https://github.com/przeor/awesome-falcorjs ... İkinci şey, " Falcor da dahil olmak üzere Tam Yığın Tepkisi Geliştirmede Mastering (nasıl kullanılacağını öğrenmenin iyi bir yolu):
AŞAĞIDAKİ ORGİNAL POST:
FalcorJS ( https://www.facebook.com/groups/falcorjs/ ) Relay / GraphQL ile karşılaştırıldığında verimli olmak için çok daha basittir.
GraphQL + Röle için öğrenme eğrisi BÜYÜK:
Kısa özetimle: Falcor'a git. Sizi ekibiniz için büyük bir bütçeye ve çok fazla öğrenme zamanına sahip olana kadar sonraki projenizde Falcor'u kullanın, ardından RELAY + GRAPHQL kullanın.
GraphQL + Relay, verimli olmanız gereken büyük bir API'ye sahiptir. Falcor'un küçük API'si vardır ve JSON'a aşina olan herhangi bir ön uç geliştiriciyi kavramak çok kolaydır.
Sınırlı kaynaklara sahip bir AGILE projeniz varsa -> o zaman FalcorJS'ye gidin!
KONUMUM: FalcorJS, tam yığın javascriptte verimli olmak için% 500 + daha kolaydır.
Projemde bazı FalcorJS başlangıç kitleri de yayınladım (+ daha fazla tam yığın falcor'un örnek projeleri): https://www.github.com/przeor
Teknik ayrıntılarda daha fazla olmak için:
1) Falcor kullanırken, hem ön uçta hem de arka uçta kullanabilirsiniz:
'falcor' dan şahin ithal etmek;
ve ardından modelinizi temel alarak oluşturun.
... arka uçta kullanımı kolay iki kütüphaneye de ihtiyacınız var: a) falcor-express - bir kez kullanıyorsunuz (örn. app.use ('/ model.json', FalcorServer.dataSourceRoute (() => yeni NamesRouter ())) ). Kaynak: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/index.js
b) falcor-router - burada BASİT rotaları tanımlarsınız (örn. rota: '_view.length' ). Kaynak:
https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/router.js
Falcor, öğrenme eğrisi açısından çocuk oyuncağıdır.
Ayrıca FB'nin lib'sinden çok daha basit olan belgeleri görebilir ve " falcorjs (netflix falcor) ' u neden önemsemelisiniz? " Makalesine de bakabilirsiniz .
2) Relay / GraphQL, büyük bir kurumsal araç gibi görünmektedir.
Örneğin, ayrı ayrı bahsettiğiniz iki farklı belgeniz var:
a) Röle: https://facebook.github.io/relay/docs/tutorial.html
- Konteynerler - Rotalar - Kök Konteyner - Hazır Durumu - Mutasyonlar - Ağ Katmanı - Babel Röle Eklentisi - GRAPHQL
- GraphQL Röle Özellikleri
- Nesne Tanımlama
- Bağ
- Mutasyonlar
- Daha fazla okuma
API REFERANSI
Röle
- RelayContainer
- Relay.Route
- Relay.RootContainer
- Relay.QL
- Relay.Mutation
- Relay.PropTypes
- Relay.Store
ARABİRİMLERİ
RelayNetworkLayer
- RelayMutationRequest
- RelayQueryRequest
b) GrapQL: https://facebook.github.io/graphql/
- 2Language
- 2.1 Kaynak Metin
- 2.1.1Unicode
- 2.1.2 Beyaz Alan
- 2.1.3 Hat Sonlandırıcılar
- 2.1.4Comments
- 2.1.5 Önemli Virgüller
- 2.1.6Lexik Jetonlar
- 2.1.7 İmzalı Jetonlar
- 2.1.8Punctuators
- 2.1.9Names
- 2.2 Sorgu Belgesi
- 2.2.1Operations
- 2.2.2 Seçim Setleri
- 2.2.3Fields
- 2.2.4Arguments
- 2.2.5 Alan Takma Adı
- 2.2.6Fragments
- 2.2.6.1Tip Koşulları
- 2.2.6.2 Satır İçi Parçalar
- 2.2.7 Giriş Değerleri
- 2.2.7.1Int Değeri
- Yüzen Değer
- Boole Değeri
- Gergi Değeri
- Numara Değeri
- Liste Değeri
- 2.2.7.7 Giriş Nesnesi Değerleri
- 2.2.8Variables
- 2.2.8.1 Parçalar içinde değişken kullanım
- 2.2.9 Giriş Türleri
- 2.2.10Directives
- 2.2.10.1 Parça Direktifleri
- 3Tip Sistemi
- 3.1Types
- 3.1.1Scalars
- 3.1.1.1 Dahili Skalerler
- 3.1.1.1.1Int
- 3.1.1.1.2Float
- 3.1.1.1.3String
- 3.1.1.1.4Boolean
- 3.1.1.1.5ID
- 3.1.2Objects
- 3.1.2.1 Nesne Alanı Bağımsız Değişkenleri
- 3.1.2.2 Nesne Alanı kullanımdan kaldırıldı
- 3.1.2.3 Nesne türü doğrulaması
- 3.1.3Interfaces
- 3.1.3.1 Arayüz tipi doğrulaması
- 3.1.4Unions
- 3.1.4.1 Birlik tipi doğrulaması
- 3.1.5Enums
- 3.1.6 Giriş Nesneleri
- 3.1.7Lists
- 3.1.8Non-null
- 3.2Directives
- 3.2.1@skip
- 3.2.2@include
- 3.3 Çalıştırma türleri
- 4Introspection
- 4.1 Genel İlkeler
- 4.1.1 Adlandırma kuralları
- 4.1.2Documentation
- 4.1.3Deprecation
- 4.1.4Tip Adı Tanıtımı
- 4.2 Şema İçgözlemi
- 4.2.1 "__Type" Türü
- 4.2.2Tür Çeşitleri
- 4.2.2.1Scalar
- 4.2.2.2Object
- 4.2.2.3Union
- 4.2.2.4Interface
- 4.2.2.5Enum
- 4.2.2.6 Giriş Nesnesi
- 4.2.2.7List
- 4.2.2.8Non boş
- 4.2.2.9 Liste Listesi ve Boş Değil
- 4.2.3 __Field Türü
- 4.2.4 __InputValue Türü
- 5Validation
- 5.1Operations
- 5.1.1 Adlandırılmış İşlem Tanımları
- 5.1.1.1 Operasyon Adı Tekliği
- 5.1.2 Anonim İşlem Tanımları
- 5.1.2.1 Yalnız Anonim İşlem
- 5.2Fields
- 5.2.1 Nesneler, Arayüzler ve Birlik Türlerinde Alan Seçimleri
- 5.2.2Seçim Seçiminin Birleştirilmesi
- 5.2.3 Yaprak Alan Seçimleri
- 5.3Arguments
- 5.3.1 Bağımsız Değişken İsimleri
- 5.3.2 Bağımsız Değişken
- 5.3.3 Bağımsız Değişken Değerleri Tip Doğruluk
- 5.3.3.1 Uyumlu Değerler
- 5.3.3.2 Gerekli Argümanlar
- 5.4Fragments
- 5.4.1 Parça Bildirimleri
- 5.4.1.1 Parça Adı Tekliği
- 5.4.1.2 Parçalı Forma Türü Varlığı
- 5.4.1.3 Kompozit Tiplerdeki Parçalar
- 5.4.1.4 Parçalar Kullanılmalıdır
- 5.4.2 Parçalı Spreadler
- 5.4.2.1 Parça yayılım hedefi tanımlandı
- 5.4.2.2 Parçalı spreadler döngü oluşturmamalıdır
- 5.4.2.3 Parçanın yayılması mümkündür
- 5.4.2.3.1 Nesne Kapsamında Nesne Farkları
- 5.4.2.3.2 Nesne Kapsamında Soyut Tablolar
- 5.4.2.3.3 Soyut Kapsamda Nesne Farkları
- 5.4.2.3.4 Soyut Kapsamda Soyut Tablolar
- 5.5Values
- 5.5.1 Giriş Nesnesi Alanı Tekliği
- 5.6Directives
- 5.6.1 Yönergeler Tanımlandı
- 5.7Variables
- 5.7.1 Değişken Teklik
- 5.7.2Değişken Varsayılan Değerler Doğru Yazılmış
- 5.7.3 Değişkenler Giriş Türleridir
- 5.7.4Tüm Değişken Kullanımları Tanımlı
- 5.7.5 Kullanılan Tüm Değişkenler
- 5.7.6Tüm Değişken Kullanımlara İzin Verilir
- 6Execution
- 6.1 Değerlendirme talepleri
- 6.2 Zorlama Değişkenleri
- 6.3 Değerlendirme işlemleri
- 6.4 Seçim setlerini değerlendirme
- 6.5 Gruplanmış alan kümesini değerlendirme
- 6.5.1 Alan girişleri
- 6.5.2 Normal değerlendirme
- 6.5.3 Seri yürütme
- 6.5.4 Hata işleme
- 6.5.5Nullability
- 7Response
- 7.1 Serileştirme Biçimi
- 7.1.1JSON Serileştirme
- 7.2 Yanıt Biçimi
- 7.2.1Data
- 7.2.2Errors
- Ek: Gösterim Kuralları
- A.1 Bağlamdan Bağımsız Dilbilgisi
- A.2Sekssel ve Sözdizimsel Dilbilgisi
- A.3 Gramer Gösterimi
- A.4 Gramer Semantiği
- A.5Algorithms
- Ek: Gramer Özeti
- B.1 Tanımlı Jetonlar
- B.2 Ders Jetonları
- B.3 Sorgu Belgesi
Seçim senin:
Basit tatlı ve kısa belgelenmiş Falcor JS VERSUS GraphQL ve Relay gibi uzun ve gelişmiş belgelere sahip büyük kurumsal sınıf aracı
Daha önce de söylediğim gibi, JSON kullanma fikrini kavrayan bir ön uç geliştiriciyseniz, Falcor'un ekibinden JSON grafik uygulaması tam yığın geliştirme projenizi yapmanın en iyi yoludur.