UPDATE: Saya telah menemukan komentar yang sangat berguna di bawah posting saya yang ingin saya bagikan dengan Anda sebagai pelengkap untuk konten utama:
Mengenai kurangnya contoh, Anda dapat menemukan repo pengguna falcorjs yang mengagumkan, ada beberapa contoh penggunaan CRUD Falcor:
https://github.com/przeor/awesome-falcorjs ... Hal kedua, ada buku berjudul " Menguasai Pengembangan Penuh Stack React "yang mencakup Falcor juga (cara yang baik untuk belajar bagaimana menggunakannya):
POST ORGINAL DI BAWAH INI:
FalcorJS ( https://www.facebook.com/groups/falcorjs/ ) jauh lebih sederhana untuk menjadi efisien dibandingkan dengan Relay / GraphQL.
Kurva pembelajaran untuk GraphQL + Relay adalah BESAR:
Dalam ringkasan singkat saya: Go for Falcor. Gunakan Falcor dalam proyek Anda berikutnya sampai ANDA memiliki anggaran besar dan banyak waktu belajar untuk tim Anda kemudian gunakan RELAY + GRAPHQL.
GraphQL + Relay memiliki API yang sangat besar sehingga Anda harus efisien. Falcor memiliki API kecil dan sangat mudah untuk dipahami oleh pengembang front-end yang akrab dengan JSON.
Jika Anda memiliki proyek AGILE dengan sumber daya terbatas -> maka pergilah untuk FalcorJS!
SUBYEKTIFKU pendapat: FalcorJS adalah 500% + lebih mudah untuk efisien dalam javascript full-stack.
Saya juga telah menerbitkan beberapa kit starter FalcorJS pada proyek saya (+ lebih banyak contoh proyek falcor dengan tumpukan penuh): https://www.github.com/przeor
Untuk lebih detail teknis:
1) Ketika Anda menggunakan Falcor, maka Anda dapat menggunakan keduanya di front-end dan backend:
mengimpor falcor dari 'falcor';
dan kemudian membangun model Anda berdasarkan.
... Anda juga memerlukan dua perpustakaan yang mudah digunakan di backend: a) falcor-express - Anda menggunakannya sekali (mis. app.use ('/ model.json', FalcorServer.dataSourceRoute (() => NamesRouter baru) ())) ). Sumber: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/index.js
b) falcor-router - di sana Anda menentukan rute SIMPLE (mis. rute: '_view.length' ). Sumber:
https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/router.js
Falcor adalah sepotong kue dalam hal kurva belajar.
Anda juga dapat melihat dokumentasi yang jauh lebih sederhana dari lib FB dan periksa juga artikel " mengapa Anda harus peduli tentang falcorjs (netflix falcor) ".
2) Relay / GraphQL lebih cenderung seperti alat perusahaan besar.
Misalnya, Anda memiliki dua dokumentasi berbeda yang dibicarakan secara terpisah:
a) Relay: https://facebook.github.io/relay/docs/tutorial.html
- Kontainer - Rute - Kontainer Root - Status Siap - Mutasi - Lapisan Jaringan - Plugin Babel Relay - GRAPHQL
- Spesifikasi Relay GraphQL
- Identifikasi Objek
- Koneksi
- Mutasi
- Bacaan lebih lanjut
REFERENSI API
Menyampaikan
- RelayContainer
- Relay. Rute
- Relay.RootContainer
- Relay.QL
- Relay. Pemindahan
- Relay. Tipe
- Relay. Toko
INTERFASI
RelayNetworkLayer
- RelayMutationRequest
- RelayQueryRequest
b) GrapQL: https://facebook.github.io/graphql/
- 2Bahasa
- 2.1Sumber Teks
- 2.1.1Unicode
- 2.1.2Ruang Putih
- 2.1.3Garis Terminator
- 2.1.4Komentar
- 2.1.5 Koma Tidak Penting
- 2.1.6 Token Teknis
- 2.1.7 Token yang Ditandai
- 2.1.8Punctuator
- 2.1.9Nama
- 2.2 Dokumen Permintaan
- 2.2.1Operasi
- 2.2.2Seleksi Pemilihan
- 2.2.3 Hasil
- 2.2.4Arumen
- 2.2.5Layar Alias
- 2.2.6Fragments
- 2.2.6.1 Ketentuan Jenis
- 2.2.6.2Inline Fragmen
- 2.2.7 Nilai Input
- 2.2.7.1Int Value
- 2.2.7.2Nilai Float
- 2.2.7.3 Nilai Boolean
- 2.2.7.4String Value
- 2.2.7.5Nilai Akhir
- 2.2.7.6Daftar Nilai
- 2.2.7.7Input Nilai Objek
- 2.2.8Variabel
- 2.2.8.1Variabel digunakan dalam Fragmen
- 2.2.9 Jenis Input
- 2.2.10 Arahan
- 2.2.10.1 Arahan Arah
- Sistem 3Type
- 3.1Jenis
- 3.1.1Scalars
- 3.1.1.1Built-in Scalars
- 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.2Objek
- 3.1.2.1Object Field Arguments
- 3.1.2.2Penghentian bidangObject
- 3.1.2.3 Validasi jenis objek
- 3.1.3 Antarmuka
- 3.1.3.1 Validasi tipe antarmuka
- 3.1.4Union
- 3.1.4.1 Validasi jenis UNI
- 3.1.5Num
- 3.1.6Masukan Objek
- 3.1.7Lists
- 3.1.8 Tidak-Null
- 3.2Direktif
- 3.2.1@skip
- 3.2.2@sertakan
- 3.3Mulai tipe
- 4Introspeksi
- 4.1 Prinsip Umum
- 4.1.1 Konvensi penamaan
- 4.1.2Dokumentasi
- 4.1.3Persetujuan
- 4.1.4Jenis Introspeksi Nama
- 4.2 Introspeksiema
- 4.2.1 Jenis "__Type"
- 4.2.2 Jenis Jenis
- 4.2.2.1Scalar
- 4.2.2.2Object
- 4.2.2.3Union
- 4.2.2.4Interface
- 4.2.2.5Enum
- 4.2.2.6Input Object
- 4.2.2.7Daftar
- 4.2.2.8No-null
- 4.2.2.9Mengombinasikan Daftar dan Non-Null
- 4.2.3The __Field Jenis
- 4.2.4The __InputValue Type
- 5 pembatalan
- 5.1Operasi
- 5.1.1 Definisi Operasi Bernama
- 5.1.1.1 Nama Operasi Keunikan
- 5.1.2 Definisi Operasi Anonim
- 5.1.2.1Lone Anonymous Operation
- 5.2 Hasil
- 5.2.1Pilih Pilihan pada Objek, Antarmuka, dan Jenis Serikat
- 5.2.2 Penggabungan Pilihan Bidang
- 5.2.3Pilihan Field Leaf
- 5.3Arumen
- 5.3.1 Nama Dokumen
- 5.3.2 Keunikan Dokumen
- 5.3.3 Nilai-Nilai Dokumen Ketepatan
- 5.3.3.1 Nilai Yang Kompatibel
- 5.3.3.2 Argumen yang Diperlukan
- 5.4Fragments
- 5.4.1 Deklarasi Tagihan
- 5.4.1.1 Nama Unik Keunikan
- 5.4.1.2 Keberadaan Jenis Sprag
- 5.4.1.3Fragments Pada Jenis Komposit
- 5.4.1.4Fragments Harus Digunakan
- 5.4.2 Spread Segmen
- 5.4.2.1 Target sebaran target didefinisikan
- 5.4.2.2 Spread spread tidak boleh membentuk siklus
- 5.4.2.3 Penyebaran fragmen dimungkinkan
- 5.4.2.3.1Object Spreads Dalam Lingkup Objek
- 5.4.2.3.2Abstrak Spread dalam Lingkup Objek
- 5.4.2.3.3Object Spreads Dalam Lingkup Abstrak
- 5.4.2.3.4Abstrak Menyebar dalam Lingkup Abstrak
- 5.5 Nilai
- 5.5.1Input Objek Bidang Keunikan
- 5.6Direktif
- 5.6.1 Arahan Didefinisikan
- 5.7 Variabel
- 5.7.1Variabel Keunikan
- 5.7.2Variabel Nilai Default Diketik dengan Benar
- 5.7.3Variabel Adalah Jenis Input
- 5.7.4Semua Variabel Penggunaan yang Didefinisikan
- 5.7.5Semua Variabel yang Digunakan
- 5.7.6Semua Penggunaan Variabel Diizinkan
- 6 Eksekusi
- 6.1Menilai permintaan
- 6. Variabel Penawaran
- 6.3Evaluasi operasi
- 6.4 Mengevaluasi set pilihan
- 6.5 Mengevaluasi set bidang yang dikelompokkan
- 6.5.1 entri entri
- 6.5.2 Evaluasi normal
- 6.5.3 Eksekusi serial
- 6.5.4 Penanganan teror
- 6.5.5Nullability
- 7Respon
- 7.1 Format Serialisasi
- 7.1.1 Seronisasi JSON
- 7.2 Format Respon
- 7.2.1 Data
- 7.2.2 Kesalahan
- AAppendix: Konvensi Notasi
- A.1Context-Free Grammar
- A.2 Tata Bahasa Leksikal dan Sintaksis
- A.3 Notasi Grammar
- A.4Grammar Semantik
- A.5 Algoritma
- BAppendix: Ringkasan Tata Bahasa
- B.1 Token yang Ditandai
- B.2 Token Teknis
- B.3 Dokumen Permintaan
Itu pilihanmu:
Falcor JS VERSUS yang manis dan pendek dan terdokumentasi Alat kelas perusahaan besar dengan dokumentasi panjang dan canggih sebagai GraphQL & Relay
Seperti yang saya katakan sebelumnya, jika Anda adalah dev front-end yang memahami ide menggunakan JSON, maka implementasi grafik JSON dari tim Falcor adalah cara terbaik untuk melakukan proyek dev full-stack Anda.