Bingung tentang ASP.NET Ajax, jQuery, dan JavaScript [ditutup]

15

Kemarin, saya membaca beberapa bab tentang ASP.NET Ajax dan jQuery dari buku ASP.NET 4 saya dan saya menemukan kerangka itu cukup menarik dan memutuskan untuk belajar lebih banyak tentang mereka.

Hari ini, saya meminjam beberapa buku dari perpustakaan di Ajax dan JavaScript. Tampaknya ASP.NET Ajax berbeda dari Ajax dan jQuery sepertinya JavaScript "baru".

Apakah itu berarti saya dapat melewati JavaScript dan mempelajari jQuery secara langsung?

Di sisi lain, buku Ajax non-ASP.NET yang saya pinjam tampaknya hanya berlaku untuk pemrograman web sisi klien dan terlihat sangat berbeda dari apa yang saya pelajari dari ASP.NET Ajax. Jika saya seorang pengembang ASP.NET, saya kira saya harus tetap dengan ASP.NET Ajax bukan sisi klien Ajax kan? Bagaimana dengan PHP? Apakah ada "PHP Ajax" yang mirip dengan ASP.NET Ajax?

Bukannya saya malas belajar alat lain, tapi saya hanya ingin fokus pada yang benar.

Mr.Y
sumber
3
+1 lucu bagaimana pertanyaan Anda merangkum dalam beberapa bagian dunia pemrograman web.
gideon

Jawaban:

31

Ini adalah topik yang rumit, tetapi inilah usaha saya untuk menyaring semua hal-hal ini dan bagaimana mereka berhubungan.

AJAX: Ini adalah konsep yang melibatkan menarik data secara asinkron ke aplikasi web tanpa memuat ulang seluruh halaman. Ini memungkinkan untuk UI dinamis seperti Google Mail yang bertindak seperti aplikasi desktop tetapi dijalankan di browser.

ASP.NET AJAX: Ini adalah perpustakaan yang dibuat oleh Microsoft yang mencoba membuat konsep AJAX dapat diakses oleh pengembang yang memiliki latar belakang ASP.NET. Ini menyediakan metode yang mirip dengan metode .NET Framework seperti String.Format dan lainnya. Ini memiliki beberapa tumpang tindih dengan JQuery tetapi keduanya dapat digunakan dalam harmoni bersama karena mereka memiliki kekuatan dan kelemahan yang berbeda. Penting untuk diingat bahwa ini adalah pustaka sisi klien dan tidak benar-benar memiliki ketergantungan pada ASP.NET. Anda bisa menggunakan ASP.NET AJAX dengan teknologi sisi server apa pun.

jQuery: Ini adalah pustaka JavaScript yang menyediakan kerangka kerja untuk membuat aplikasi AJAX mudah untuk ditulis. Ini memberikan model seleksi yang kuat menggunakan sintaks seperti CSS untuk berinteraksi dengan DOM browser. Ini juga mengabstraksi banyak perbedaan antara berbagai browser dan versi. Jadi, Anda hampir selalu lebih baik berkode terhadap jQuery dibandingkan dengan DOM atau AJAX API khusus browser. Ada banyak sekali ekologi plugin jQuery yang tersedia yang dapat menambahkan segala macam perilaku kuat ke aplikasi web Anda, tanpa banyak pekerjaan di pihak Anda.

JavaScript: Ini adalah bahasa yang ditafsirkan yang diterapkan oleh semua browser utama yang memungkinkan untuk perilaku sisi klien yang dinamis di situs web. Bahasa itu sendiri cukup solid, tetapi API berbeda yang disediakan oleh browser yang berbeda membuatnya sulit untuk menulis JavaScript "mentah" secara efektif. Itu sebabnya ada semua perpustakaan di atasnya.

Sekarang, pertanyaan apa yang harus Anda pelajari sebagai pengembang ASP.NET. Saya akan merekomendasikan untuk membiasakan diri dengan fungsionalitas kedua ASP.NET AJAX dan jQuery. Microsoft mendukung keduanya, dan keduanya disertakan dengan VS 2010. Mereka memiliki kekuatan dan kelemahan yang berbeda dan jika Anda memahami apa itu, Anda akan lebih efektif dalam menggunakannya.

Anda tidak harus menggunakan AJAX untuk melakukan situs web ASP.NET, tetapi situs web Anda akan lebih kuat dan lebih ramah pengguna jika Anda melakukannya. Dan jika Anda mengembangkan rasa ketika AJAX efektif dan ketika tidak, Anda akan menjadi pengembang web yang lebih baik.

Oh, dan menjauhlah dari UpdatePanels. Itu adalah jawaban pertama MS untuk AJAX, tetapi mereka umumnya buruk dan bertentangan dengan banyak konsep yang membuat AJAX baik. Mereka memberi Anda manfaat jangka pendek tetapi dalam jangka panjang mereka adalah mimpi buruk pemeliharaan dalam pengalaman saya.

RasionalGeek
sumber
3
Satu-satunya hal yang akan saya tambahkan adalah bahwa ASP.NET AJAX juga menyembunyikan beberapa detail di sisi klien. Pustaka masih semua sisi klien, tetapi menyediakan cara mudah untuk menghubungkan sisi klien dan server tanpa harus mengetahui semua detail. Jika Anda benar-benar ingin pemahaman yang lebih baik tentang pemrograman web, Anda mungkin ingin mulai menggunakan jQuery dan memanggil metode ASP.NET Anda untuk mendapatkan pemahaman tentang cara kerjanya.
Bryan Rehbein
1
+1 Ringkasan yang sangat bagus. Query quibble jQuery juga disertakan dengan VS2008
Conrad Frix
@Conrad Frix sangat benar. Tapi benarkah siapa yang menggunakan potongan tua itu sekarang? :-) (hanya bercanda jangan nyalakan saya)
RationalGeek
Saya baru saja akan mendapatkan penyembur api saya juga. Anehnya saya menggunakan 2003 :(, 2005: |, dan 2010 :) dalam pekerjaan saya sehari-hari, tetapi tidak ada 2008
Conrad Frix
Paragraf JQuery Anda setidaknya bisa menyebutkan Javascript! selain itu, deskripsi hebat dari para teknisi bertanya tentang
ozz
5

Tidak, tidak ada PHP AJAX.

Jika Anda harus melakukan pengembangan klien, pelajari dulu javascript murni. Kemudian pelajari jQuery. Jika Anda mulai dengan jQuery saja, Anda akan kehilangan konsep-konsep javascript penting dan pada dasarnya Anda akan melakukan pemrograman cut & paste.

JavaScript dan jQuery adalah alat universal dan standar yang dapat digunakan hampir di setiap pengembangan HTML. Pemrogram PHP menggunakan js + jq saat melakukan hal-hal klien, programmer Ruby menggunakan js + jq dll.

Sekarang, sejauh yang saya tahu, ASP.NET AJAX bahkan merupakan kerangka Javascript tingkat lebih tinggi yang cocok untuk bekerja dengan ASP.NET, karena ASP.NET, seperti yang mungkin Anda ketahui, itu sendiri merupakan abstraksi yang cukup tinggi dari HTML. Itu sebabnya mereka memiliki hal-hal JS tertentu. Pada dasarnya itu adalah untuk bermain baik dengan komponen ASP.NET sisi server dan meningkatkannya. Juga, ASP.NET AJAX dimulai pada saat di mana itu tidak bahwa jelas bahwa jQuery akan de facto-standar. Atau, sudah jelas, tetapi tidak untuk Microsoft ;-) - mereka sebenarnya berencana untuk membuat perpustakaan JS tingkat menengah mereka sendiri (seperti jQuery).

Jujur, saya bukan orang Microsoft dan saya pasti akan tetap menggunakan JavaScript murni + jQuery selama saya bisa - jika perusahaan / proyek Anda tidak benar-benar membutuhkan ASP.NET AJAX. Ini akan memberi Anda pengetahuan yang paling dikenal secara universal tentang pemrograman sisi klien.


sumber
4

Singkatnya, ini kesepakatannya

(1) JQuery tidak menggantikan Javascript, Ini adalah perpustakaan yang menyederhanakan tugas JavaScript umum. Kode JQuery apa pun sebenarnya ditulis dalam JavaScript.

(2) AJAX hanyalah kode JavaScript yang memanipulasi sisi klien halaman web dan sering menarik konten dari server tanpa memaksa memuat ulang seluruh halaman. Tidak ada beberapa "Versi" dari AJAX.

(3) Tidak menyerahkan # 2 di atas. Baik ASP.NET dan JQuery memiliki pustaka atau alat yang menyederhanakan tugas membuat situs web berbasis AJAX. Ada juga sejumlah alat lain yang melakukan ini juga. Itu semua adalah AJAX yang sama, hanya cara berbeda untuk membuatnya, atau perpustakaan mengenkapsulasi itu.

(4) Perpustakaan mana yang harus Anda pelajari? Itu kebanyakan hal preferensi. Jika Anda suka menggunakan kontrol Web banyak dan pengembangan web drag-drop dengan ASP.NET Anda mungkin lebih suka menggunakan kontrol ASP.NET untuk melakukan hal yang sama. Saya juga seorang pengembang ASP.NET, tetapi saya lebih suka menggunakan JQuery karena sering memberi saya kontrol berbutir lebih baik, meskipun kadang-kadang bisa sedikit lebih banyak bekerja. Juga, jika Anda mempelajari cara JQuery, Anda dapat menggunakannya pada platform apa pun termasuk PHP.

JohnFx
sumber
3

Ada banyak cara untuk melakukan AJAX, dan jika Anda melakukan ASP.NET, ASP.NET AJAX adalah salah satu cara itu. Dalam beberapa tahun terakhir, saya secara pribadi telah lolos dari melakukannya dengan cara mendukung jQuery dan penerapannya pada AJAX.

Jika saya seorang pengembang ASP.NET saya kira saya harus tetap dengan ASP.NET AJAX bukan sisi klien AJAX kan?

ASP.NET AJAX masih ajax sisi klien. Cari pustaka JavaScript (besar) yang dibuat untuk Anda oleh ASP.NET AJAX (Anda akan melihatnya saat berjalan di ScriptResource.axd atau WebResource.axd.

Apakah itu berarti saya dapat melewati javascript dan belajar jQUERY secara langsung?

jQuery hanyalah pustaka fungsi JavaScript. Anda masih membutuhkan pemahaman JavaScript untuk menggunakan jQuery dengan benar. jQuery melakukan abstrak dari beberapa Javascript yang rumit, jadi jQuery, menurut saya, adalah cara yang baik untuk mulai menggunakan dan mempelajari JavaScript (meskipun Anda lebih baik setidaknya mengetahui beberapa JavaScript sebelum mulai menggunakannya).

Apakah ada "PHP AJAX" yang mirip dengan ASP.NET AJAX?

Ada banyak perpustakaan JavaScript untuk abstrak AJAX untuk Anda. jQuery hanyalah salah satunya, tetapi itu sangat populer, dan sangat kuat.

Marcie
sumber
0

http://ajaxpatterns.org/PHP_Ajax_Frameworks mencantumkan berbagai kerangka kerja PHP Ajax meskipun saya tidak tahu seberapa terintegrasi mereka seperti ASP.Net AJAX. Bagian dari sebagian besar kerangka kerja AJAX akan melibatkan beberapa kode sisi klien karena J dari AJAX adalah untuk Javascript.

Ada implementasi lain untuk mendapatkan fungsionalitas AJAX sebelum Microsoft memasukkan ASP.Net AJAX di mana Anthem.Net adalah salah satu contoh yang saya gunakan bertahun-tahun yang lalu.

JB King
sumber
0

JavaScript adalah bahasa yang diartikan sisi klien yang memberi Anda kendali atas komponen halaman browser; yaitu dokumen HTML dan juga browser itu sendiri. jQuery adalah pustaka fungsi JavaScript lintas browser yang membuatnya lebih mudah untuk berinteraksi dengan DOM.

ASP.NET dan PHP keduanya bahasa scripting sisi server, di mana sebagai ASP.NET dibangun halaman dikompilasi menjadi DLL perakitan NET, oleh ASP.NET JIT (Just In Time) Compiler, halaman yang dibangun dalam PHP ditafsirkan.

Secara teknis, ASP.NET tidak benar-benar bahasa, itu kerangka kerja dan waktu berjalan, yang memperlihatkan API yang dapat diakses menggunakan C # atau VB.NET. Jadi untuk mengembangkan aplikasi ASP.NET, Anda perlu mengetahui C # atau VB.NET.

Dari pengalaman saya, saya akan menyarankan agar Anda meluangkan waktu dan belajar JavaScript, kemudian lanjutkan belajar jQuery. Tentunya Anda juga bisa melakukan cross learning, yaitu jQuery dan inti JavaScript.

AJAX adalah teknologi pemrograman asinkron sisi klien, yang dapat digunakan di jQuery dan ASP.NET AJAX. ASP.NET AJAX adalah implementasi Microsoft dari teknologi AJAX.

Paul C. Metieh II
sumber
-5

Bahasa sisi klien digunakan untuk mengurangi beban permintaan server.

Javascript adalah bahasa scripting sisi klien dan Jquery adalah kerangka kerja javascript dan opsional. Js, jquery bekerja di sistem Anda sendiri dan melakukan tugas-tugas seperti validasi kata sandi, animasi di halaman web dll, mereka tidak mengakses database.

Basis data akan menjadi MYSQL, ORACLE dan ada di host web; ASP, PHP adalah bahasa scripting sisi server. Anda dapat menggunakan ASP atau PHP untuk mengakses database tetapi SQL juga diperlukan untuk bekerja di situs web.

pandu
sumber
1
ajax dan jquery bukan bahasa
Raynos
1
Validasi kata sandi juga tidak dilakukan pada klien. Itu hanya "sandi Anda salah", tetapi masih bisa lewat.
Florian Margaine
@Florian Margaine, Anda dapat memvalidasi kata sandi dan mengirimkan formulir menggunakan javascript kanan.
pandu
mengerikan, jawaban dibangun dengan buruk.
ozz
1
Saya harus setuju, ketika saya menemukan ini untuk ditinjau, butuh usaha yang cukup besar untuk mencoba setidaknya meningkatkan keterbacaan. Itu sudah di bawah -3 suara jadi mungkin akan tanpa disadari (bahkan lebih buruk untuk memiliki kesalahan konseptual dengan terserah penulis untuk memperbaikinya), tetapi setidaknya saya berharap itu lebih mudah dibaca sekarang dan menunjukkan kepada penulis bagaimana ia bisa pergi tentang menulis menjawab.
Oeufcoque Penteano