Mengapa saya menggunakan Angular? [Tutup]


20

Dari tutorial dasar Angular, sepertinya yang dilakukannya hanyalah mengambil beberapa JSON dari API dan menampilkannya. Juga, ada sihir ikatan rangkapnya.

Tetapi mengapa saya akan menggunakannya alih-alih solusi backend (seperti Rails) yang membangun tampilan di backend dan menyajikannya kepada pengguna, dengan segala sesuatu sudah ada di tempatnya? Apa kasus penggunaannya?

Jawaban:


26

TLDR;

Angular membantu Anda menangani kompleksitas yang melekat pada antarmuka pengguna yang kaya. Dengan meningkatnya kompleksitas UI, model tradisional menghasilkan halaman di server menjadi jauh lebih kompleks. Angular memungkinkan Anda menguraikan UI menjadi potongan yang dapat dikelola, dan memungkinkan Anda memisahkan UI dari implementasinya. Ini membuat pembuatan halaman sisi server jauh lebih mudah, tetapi Angular benar-benar menjadi miliknya ketika Anda beralih ke aplikasi berbasis javascript murni. Contoh yang bagus dari aplikasi semacam itu adalah Trello .

Ceritanya panjang

Angular tidak benar-benar ditargetkan pada situs yang dapat Anda implementasikan dengan nyaman dengan menghasilkan semua yang ada di server, dan mengirimkannya ke seberang. Selain itu, walaupun itu adalah pendekatan yang sangat baik yang berfungsi untuk banyak situs dan aplikasi di internet, menjadi semakin kompleks (sehingga sulit) untuk menjaga pendekatan itu berfungsi saat Anda mencoba meningkatkan tingkat interaktivitas di situs Anda.

Pada akhirnya cara Anda menyelesaikan ini adalah dengan mendorong UI Anda semakin ke sisi Javascript dari persamaan. Angular memungkinkan Anda memecah UI menjadi beberapa komponen, memberi Anda pemisahan yang jelas antara tampilan dan nuansa, dan cara kerjanya. Anda kemudian dapat membangun halaman yang cukup sederhana di server, dan ujung depan JS digunakan untuk membuat UI kaya yang membuat panggilan terpisah kembali ke server Anda untuk data yang mereka butuhkan.

Namun ada satu hal yang ingin Anda lakukan adalah server sebuah halaman rintisan yang memuat aplikasi yang sepenuhnya berbasis javascript. Mungkin contoh yang paling terkenal dari jenis use-case di mana Angular benar-benar bersinar adalah Trello (menggunakan Backbone, bukan Angular, tetapi ini adalah use-case yang sama). Ada situs http://builtwith.angularjs.org/ yang memiliki lebih banyak situs contoh yang menggunakan Angular.

Jadi jawaban singkatnya? Angular membuatnya lebih mudah untuk membuat antarmuka pengguna yang kaya dan sangat interaktif dengan membiarkan Anda menguraikan UI Anda menjadi komponen-komponen, dan akhirnya sepenuhnya javascript.


3
AngularJ tidak menyediakan pemisahan tampilan dan nuansa serta logika yang jelas.
rsman

13
@rsman, itu jelas terjadi. Inti dari pengikatan data adalah bahwa Anda tidak menulis sejumlah besar kode manipulasi DOM, sudut melakukannya untuk Anda, ergo, Anda mendefinisikan seperti apa, Anda menentukan bagaimana interaksi Anda dll bekerja, tetapi Anda menghindari harus memasangkan keduanya bersama-sama dengan kode yang memperbarui seperti apa dari kode yang menangani interaksi.
Pengembara

3
Trello, yang digunakan dalam contoh ini tidak menggunakan blog Angular.fogcreek.com/the-trello-tech-stack
JAMESSTONEco

1
@ joesstoneco memang, tidak, saya hanya menggunakan Trello sebagai contoh aplikasi JS murni sisi klien. Itu adalah salah satu yang paling awal untuk melakukannya dengan baik.
guysherman

7

Ini tentang membuat antarmuka pengguna yang lebih responsif. Penjilidan ganda, injeksi ketergantungan dan sebagainya memungkinkan untuk membuat halaman dinamis dengan mudah. Anda dapat menulis arahan dalam Angular yang memberi Anda cara deklaratif untuk membangun tampilan.

Sebagai contoh, dalam proyek saat ini kami memiliki pandangan yang menggunakan beberapa ratus baris kode JavaScript untuk membuat pengalaman pengguna yang responsif. Meski begitu halamannya agak buggy dan sangat sulit dipertahankan. Kami mulai mencari-cari opsi yang lebih baik dan melihat backbone.js dan knockout.js. Akhirnya kami mencoba Angular. Kami dapat membuat halaman yang jauh lebih responsif dan terawat hanya dengan beberapa baris kode. Hilang sudah semua kode manipulasi DOM. Lewatlah sudah semua kreasi tampilan backend kikuk yang harus diambil dan dimasukkan di tempat yang tepat. Lewat sudah semua kode yang ditulis untuk menjaga model dan tampilan dalam sinkronisasi. Dengan pengalaman itu, keputusan untuk pindah ke Angular menjadi lebih mudah dan sejauh ini kami tidak menyesalinya.


"Hilang sudah semua kode manipulasi DOM." Ini adalah hal terpenting menurut saya.
Bent

5

Angular untuk mengembangkan Aplikasi Halaman Tunggal, ini membantu menyediakan kerangka yang solid untuk aplikasi Anda. Ini juga baik dengan bentuk, tidak begitu baik dengan UI yang ramai dan rumit dengan banyak data. Pengikatan data dua arah pada mulanya adalah "sulap" tetapi Anda harus menyadari bahwa sebagian besar kerangka kerja terbaru (termasuk Angular 2 sendiri) menjauh dari pengikatan data dua arah untuk pendekatan yang lebih sederhana. cerita akan terlalu panjang di sini).

Saya juga harus memperingatkan Anda bahwa Angular tidak memiliki cara yang pasti dalam melakukan sesuatu dan terkadang menawarkan terlalu banyak cara untuk menguliti kucing, yang dapat membuat kurva belajar menjadi lebih curam. Juga jika Anda ingin skala aplikasi Angular, Anda harus memahami mekanisme internal dan kemungkinan dampaknya pada kinerja. Setelah Anda melakukannya, dan sekali Anda membangun pola desain solid yang konsisten, langit adalah batasnya. Tetapi Anda perlu mendedikasikan waktu untuk itu.

Yang mengatakan, pertanyaan Anda tampaknya lebih tentang apa kasus penggunaan SPA daripada Angular itu sendiri.

Kasus penggunaan Aplikasi Halaman Tunggal adalah untuk memiliki aplikasi web dengan UI / UX yang kuat dan nuansa aplikasi yang lebih baik secara keseluruhan. Dengan tidak harus memuat ulang halaman Anda menghemat waktu rendering dan bandwidth. Anda juga memisahkan data dan presentasi yang luar biasa. Aplikasi Anda menjadi:

  • File statis, termasuk index.html Anda
  • API REST yang menyajikan data
  • Aplikasi front-end berbasis data
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.