Apakah memelihara Aplikasi Web Berbasis Heavily Ajax lebih sulit?

8

Mungkin saya salah melakukannya, tetapi dalam pengalaman saya, mengembangkan dan memelihara aplikasi web berbasis ajax jauh lebih sulit daripada aplikasi web "lebih standar".

Saya tidak berbicara tentang aplikasi yang menggunakan ajax untuk memuat beberapa data di sana-sini, tetapi gaya di mana halaman yang dikirim server hanyalah sebuah bingkai, dan semua data diisi pada waktu buka.

Saya ingin mendengar dari mereka yang berpengalaman dalam mengembangkan jenis aplikasi ini. Pengalaman pribadi saya adalah bahwa mereka membutuhkan lebih banyak waktu untuk membangun dan memelihara.

Erik
sumber
Bagaimana Anda mendefinisikan aplikasi web yang lebih standar?
Chris
yang tidak menggunakan ajax untuk semuanya? Misalnya, 37 sinyal webapps jelas non-ajax, meskipun faktanya mereka menggunakan percikan di sana
Erik
1
Lebih sulit dari apa? Daripada sesuatu yang menggunakan teknologi diretas-bersama, non-standar untuk mencapai hasil yang sama? Jika Anda membuat aplikasi Anda lebih kompleks (mis. Dengan menambahkan interaktivitas intrapage) itu wajar untuk mengharapkan beberapa peningkatan biaya untuk mempertahankannya.
Alex Feinman
Secara khusus, apakah Anda bertanya apakah jenis situs web yang digunakan Ajax cenderung lebih sulit daripada jenis situs web yang tidak menggunakannya, atau apakah Anda bertanya apakah situs web Ajax lebih sulit daripada situs web non-Ajax untuk fungsi yang sama?
David Thornley

Jawaban:

6

Saya akan mengedepankan bahwa baik mengembangkan dan memelihara aplikasi yang menggunakan JavaScript adalah tugas yang lebih kompleks dan lebih menantang daripada mengembangkan aplikasi web "klasik".

Alasan untuk itu terletak pada fakta sederhana bahwa tumpukan teknologi yang lebih heterogen yang Anda gunakan akan semakin sulit.

Dalam hal ini dengan JavsScript yang pada dasarnya kita miliki adalah pemrograman terhadap keluaran server otomatis yang dengan sendirinya adalah ide yang aneh. Halaman aplikasi web dinamis dihasilkan di server menggunakan beberapa bahasa pemrograman. Di sisi server Anda mendapatkan semua permen seperti pemeriksaan sintaks, pemeriksaan jenis, semua jenis analisis otomatis dan alat refactoring siap membantu Anda.

JavaScript berfungsi di sisi lain pagar, di mana tidak ada informasi tentang hal-hal besar yang terjadi di server. JavaScript berfungsi melawan markup yang dibuat secara otomatis yang agak mudah berubah dan dapat berubah. Itulah sebabnya pengembang harus memperhatikan agar keduanya tetap sinkron. Semakin besar aplikasi semakin menantang tugasnya. Dan tugas itu biasanya merupakan pekerjaan manual yang tidak dapat diotomatisasikan secara memadai untuk meningkatkan skala dengan aplikasi Anda.

Karenanya ya, aplikasi yang kaya JavaScript lebih sulit dipertahankan.


sumber
6

Saya menemukan bahwa jangka panjang bahwa aplikasi ajax saya (semua intranet) lebih mudah dirawat karena menurut saya lebih modular. Misalnya jika saya memiliki halaman yang kemudian memuat konten lain ke dalam wadah, konten yang sama dapat dengan mudah digunakan kembali dan dirender di tempat lain. Kode sumber untuk setiap bagian ada dalam file yang berbeda untuk dilihat dan metode pada controller membuat debugging / meningkatkan tugas yang lebih mudah. Ini akan sangat tergantung pada bagaimana Anda menggunakan AJAX dan bagaimana pengaturan aplikasi Anda.

Ominus
sumber
1

The kesulitan terutama soal pengalaman. Jika Anda tidak berpengalaman dalam memelihara aplikasi web berbasis AJAX, maka ya: itu lebih sulit.

Namun, tampaknya ada lebih banyak kompleksitas dalam model UI dengan kemampuan rerendering daripada yang dengan render tunggal, seperti halaman web tradisional yang dilayani melalui satu permintaan. Ini benar karena sejumlah alasan:

  • Kode rendering dibagi antara kode sisi server yang melakukan rendering awal dan kode JavaScript yang melakukan rendering sisi klien. Ini dapat dibuat lebih mudah dengan, misalnya, menggunakan JavaScript di server dan juga klien.
  • Secara umum, banyak kode Anda mungkin perlu digandakan (misalnya validasi) pada klien dan server.
  • Daripada secara langsung merender data ke dalam HTML dengan kode sisi server, Anda memerlukan penangan AJAX yang memformat data menjadi JSON, dan kemudian lebih banyak kode untuk memformat JSON ke dalam HTML. Kerangka kerja dapat membuat ini lebih mudah.
Matthew Rodatus
sumber