ngResource
sudah tampak sangat sederhana untuk mengimplementasikan hal-hal dengan ...
Apa Keuntungan / Kerugian menggunakan Restangular over ngResource ?
1.1.3 $resource
akan mengembalikan janji dan dapat dipuji menggunakan komit PR terbaru . Akankah dukungan masa depan ditawarkan $resource
untuk mendukung kata kerja tambahan yang Restangular lakukan? Dan jika itu terjadi, Restangular sepertinya akan menghilang dan menjadi tidak relevan.
javascript
angularjs
restangular
ngresource
Dan Kanze
sumber
sumber
$http
perubahan rilis utama dibuat untuk angularjs --- Anda tidak akan dapat memutakhirkan karena panggilan layanan Restangualr akan mengharapkan "sesuatu yang lain" dan Anda akan berakhir dengan memotong kerangka ini Anda "memutuskan untuk pergi dengan".Jawaban:
Saya pencipta Restangular.
Saya telah membuat bagian tentang README dengan perbedaan terhadap $ resource. Anda dapat memeriksanya di sini https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource
Pokoknya, sebagai tambahan, selain fitur tambahan dan pendekatan berbasis janji, idenya adalah bahwa Restangular juga dapat menangani semua URL Anda, sehingga Anda tidak perlu tahu apa-apa tentang mereka.
Misalkan Anda memiliki sesuatu seperti ini untuk mobil: / pengguna / 123 / mobil / 456
Di $ resource, Anda harus membuat URL itu secara manual dan Anda juga harus membuat $ object object untuk ini secara manual. Restangular membantu Anda dalam hal ini dengan "mengingat" URL.
Jadi jika Anda melakukannya di suatu tempat
Semoga ini membantu!
sumber
.one('users', 123)
lebih atau kurang "mengetahui" tentang URL Anda'/users/123'
? (Hanya bermain sebagai pendukung Iblis) Sepertinya'/foo/123/bar/123'
jauh lebih mudah daripada.one('foo', 123).one('bar', 123)
.var user = Restangular.one('users', 123).getList()
. Kemudian dalam kode atau beberapa pengontrol lain, Anda lakukanuser.getList('buildings')
. Di sini, Anda hanya tahu jenis berikutnya yang merupakan bangunan, tetapi itu pertanyaan/users/123/buildings/
, jadi Anda tidak perlu tahu URL lengkap sepanjang waktu$resource
- Saya tidak menyiratkan itu akan menjadi tidak relevan dengan cara apa pun, hanya saja telah disebutkan. Adakah kerugian atau fakta faktual yang harus kita ketahui?Saya menemukan RequestInterceptor Restangular cukup berguna untuk menghapus beberapa bidang dari objek sebelum membuat Permintaan. Sebagian besar layanan web REST saat ini saya bekerja dengan jangan berharap id dalam data objek dalam permintaan PUT misalnya, hanya di url. Umumnya mereka tidak mengharapkan bidang data tambahan yang tidak dapat diperbarui oleh PUT (seperti id, atau siput yang dihasilkan dengan mengatur judul dll). Saya menemukan ini menjadi mudah dengan Restangular sementara saya belum menemukan cara melakukannya dengan $ resource dengan cara yang bersih, tapi saya yakin itu mungkin terjadi entah bagaimana.
Jelas seseorang juga dapat mengubah layanan web untuk mengabaikan bidang-bidang tambahan, tapi itu tidak selalu mungkin.
sumber
ngResource tidak mengembalikan janji dalam rilis stabil terbaru (saat ini 1.0.6). Selain itu, sepertinya Restangular mengekspos lebih banyak kata kerja daripada ngResource (mengekspos PUT, OPTIONS, PATCH, dll).
Jika Anda tidak memerlukan kata kerja tambahan dan berada di cabang AngularJS yang tidak stabil (yang mencakup janji untuk ngResource), saya tidak melihat alasan utama untuk menggunakan Restangular daripada ngResource.
Gunakan apa pun yang Anda merasa nyaman.
sumber
$resource
akan mengembalikan janji dan dapat dipuji menggunakan komit PR terbaru. stackoverflow.com/questions/16429832/... Apakah dukungan di masa mendatang akan ditawarkan$resource
untuk mendukung kata kerja tambahan? Dan jika itu terjadi, Restangular sepertinya akan menghilang dan menjadi tidak relevan.Sebagai tindak lanjut dari jawaban di atas dan untuk pembaca baru , seperti saya, tertarik dengan pemikiran itu:
Menurut saya satu - satunya jaminan bagi kelangsungan perpustakaan open-source adalah komunitas yang dibangun di sekitarnya. contoh terbaik adalah mariaDB dan WebScaleSQL yang keduanya dilahirkan sebagai pertanda pertumbuhan sistem manajemen basis data relasional MySQL.
Pada saat penulisan ini, Restangular
having 6699 stars and 727 forks
sekarang bergerak maju ke Restangular 2.0 yang dimaksudkan untuk mendukung angularJs 2.0 dan ES6.sumber
Untuk situs web sederhana dan cepat yang ingin Anda jalankan selamanya dengan dukungan minimum, saya akan menggunakan http sudut lurus bawaan HttpClient siapa pun ketika saya mengerjakan proyek yang saya sukai dan saya menikmati dan mencoba menggunakan semua teknologi keren kemudian Saya akan menggunakan Ngx-Restangular
Anda juga harus tahu bahwa ngx-restangular berfungsi dengan layanan RESTful hanya seperti namanya. Jadi untuk layanan yang menyediakan SABUN Anda tidak akan dapat menggunakan Ngx-Restangular
https://ngx-restangular.com/
Itu dikatakan saya akan menggunakan ngx-restangular sebagian besar waktu karena saya selalu mencoba untuk bekerja pada proyek yang saya temukan keren dan mencoba untuk mengimplementasikan apa yang menurut saya terbaik.
Semoga berhasil!
sumber