Saat ini ada beberapa pendekatan untuk membangun aplikasi web:
1. Sisi server saja
Ini adalah pendekatan klasik di mana Anda merender halaman di server dengan kerangka kerja web seperti Ruby on Rails, Django, Express, Play! Kerangka kerja dan lain-lain
Alur kerja umum : Bangun semua logika bisnis, model, dan tampilan templat di server dalam kerangka pilihan Anda.
2. API sisi-klien + REST
Relatif belum lama ini, komunitas web secara keseluruhan mulai membangun aplikasi sisi klien dalam Angular, Backbone, Ember, dan beberapa lusin kerangka kerja JavaScript MV * lainnya. Dan sekarang kami juga memiliki React.js bergabung dengan partai.
PEMBARUAN : Tidak ada kesalahpahaman. Yang saya maksudkan hanya dari sisi klien adalah pemisahan sepenuhnya dari kekhawatiran. Anda memiliki server REST API dan aplikasi sisi klien yang berbicara ke server itu. Tergantung pada kasus penggunaan Anda, kemungkinan besar, Anda tidak akan pernah memiliki aplikasi hanya sisi klien yang benar yang tidak terhubung ke back-end baik untuk otentikasi atau kegigihan data.
Alur kerja yang umum : Habiskan berjam-jam untuk memutuskan Angular vs Backbone vs Ember vs X. Kemudian Anda membangun rute, model, tampilan, pengontrol pada klien. Setelah selesai, sekarang buat model, pengontrol, rute di server. Dengan cara Anda melakukan jumlah pekerjaan ganda.
3. Hibrida
Saya tidak tahu banyak tentang menggunakan pendekatan ini, tetapi jika saya menebak, Anda membuat pandangan Anda (Lihat kerangka kerja MVC) di server. Hasilnya, Anda mendapatkan dukungan SEO plus pemuatan laman yang lebih cepat.
Di bagian depan Hybrid ada rendr airbnb yang konon menggabungkan backbone dan mengekspresikan bersama.
Eric Florenzo telah memposting di blognya hari ini: React: Akhirnya, tumpukan web server / klien yang hebat .
Jumlah cara untuk membangun aplikasi web sangat banyak. Dan bagi seseorang yang mempelajari pengembangan web, ini bisa menjadi masalah. Bagaimana seseorang memutuskan pendekatan mana yang digunakan untuk membangun aplikasi mereka selanjutnya?