Bagaimana cara membuat pengembangan aplikasi web kurang membuat frustrasi?

8

Saya cukup baru dalam pengembangan aplikasi web. Aku hanya tidak bisa menghilangkan perasaan bahwa aku butuh selamanya untuk melakukan sesuatu yang bahkan kompleksitasnya jauh. Dalam c ++ dan java saya bisa menulis aplikasi yang sama dalam hitungan jam.

Di web debugging itu menyakitkan (terutama jika kompleks json-ajax) terlibat. IDE payah. Bahasa membiarkan semuanya melalui tanpa kesalahan sampai tidak berfungsi lagi dan Anda terjebak mencari bug tanpa kesalahan atau peringatan untuk memandu Anda (dan tidak ada cara yang benar-benar baik untuk melangkah melalui program).

Dapatkah seseorang membimbing saya untuk membaca materi dan / atau teknologi yang akan membantu saya menemukan cara untuk tetap waras ketika mengembangkan aplikasi web yang kompleks?

Mungkin jawabannya adalah menggunakan kerangka kerja yang baik (zend?). Di tempat kerja kita tidak benar-benar menggunakan kerangka kerja kecuali untuk generator model basis data dan generator dasar tambah / perbarui / hapus halaman.

zhenka
sumber
Untuk memperjelas saya terutama berbicara tentang debugging sisi server bukan JavaScript.
zhenka
2
Mungkin Anda dapat memperbarui judul dan tag untuk mencerminkan klarifikasi?
psr
Anda bisa menulis aplikasi web di Java?
3
Melangkah melalui kode dalam debugger adalah teknik debugging terburuk yang mungkin (dan untuk beberapa alasan itu sangat berlebihan). Merangkul kekuatan dari menegaskan, kontrak dan log.
SK-logic
1
@ Raynos, ada sejumlah kerangka kontrak untuk hampir semua bahasa dinamis (tapi saya belum melihat yang seperti ini untuk PHP, jujur ​​saja). en.wikipedia.org/wiki/…
SK-logic

Jawaban:

4

Jika Anda belum menggunakan Firefox dan firebug, Anda harus melakukannya. Debugger Firebug hanya penuh dengan kehebatan (bukan bahwa Chrome tidak, mereka sebagian besar sama), tapi saya cenderung pergi dengan Firefox karena proyek OS seperti mozrepl , yang memungkinkan Anda untuk skrip Firefox daripada menggunakan browser-pemijahan suite tes otomatis seperti Selenium.

Jadi, untuk sisi klien, baik Chrome atau Firefox memiliki debugger bawaan yang hebat (diisi dengan panel pengawas, monitor kinerja, semua hal baik yang Anda ketahui dan sukai di C ++ / Java).

Sedangkan untuk sisi server, jika Anda menggunakan PHP, maka saya sangat menyarankan menggunakan DBG . Jika Anda tidak terikat dengan PHP, maka saya juga akan sangat menyarankan pindah ke Python dan menggunakan PDB . PDB, ditambah dengan cProfile hanya membuat kehidupan pembangunan jauh lebih mudah.

Jika Anda terbiasa dengan GDB sama sekali (C ++), maka PDB dan DBG harus mudah untuk dijemput dan dijalankan. Keduanya juga dapat diintegrasikan ke dalam editor seperti Eclipse, Netbeans dan Vim.

Demian Brecht
sumber
1

Saya memprogram secara berbeda dalam bahasa dinamis. Tidak ada pemeriksaan waktu kompilasi, tetapi juga tidak ada penundaan waktu kompilasi. Jadi saya menulis sedikit kode sekaligus, dan kemudian mengujinya. Saya mulai dengan halaman kosong, dan menambahkan satu elemen pada suatu waktu, menguji saat saya pergi. Saya berkomitmen setiap perubahan kecil untuk kontrol revisi segera setelah berfungsi. Dengan begitu jika saya mengacaukan saya bisa kembali ke kondisi kerja sebelumnya dan mencoba lagi. Di sisi server saya menemukan bahasa dinamis jauh lebih produktif daripada Java, karena saya harus menulis dan membaca kode yang jauh lebih sedikit, dan karena saya tidak pernah harus bermain-main dengan server restart.

kevin cline
sumber
+1) Itu adalah pendekatan yang sama yang kami gunakan juga di tim kami. Pengembangan Web memiliki beberapa perbedaan dibandingkan dengan aplikasi desktop. Tetapi secara umum kriteria pengembangan dan pengujian adalah yang memungkinkan Anda menemukan kesalahan potensial dalam kode baru dengan lebih baik.
Francesco
Anda tidak perlu dipusingkan dengan server restart dengan Java jika Anda memilih kerangka kerja yang baik seperti Play Framework
Jonas
@Jonas - Benar bahwa me-restart bukan karena keterbatasan Java, tetapi AFAIK tidak satu pun dari implementasi JEE yang populer akan secara dinamis memuat ulang kelas. Patching panas kadang-kadang berfungsi, tetapi sebenarnya ini adalah hack.
kevin cline
1

Anda selalu dapat menggunakan java atau C ++ (atau ruby, atau python, atau scala atau ...) jika Anda benar-benar tidak tahan PHP (yang bisa dimengerti. Banyak orang tidak menyukainya.)

Jika Anda ingin tetap menggunakan apa yang saat ini Anda gunakan, pastikan Anda menggunakan pembakar ( meskipun alat google chrome dev akan mendapatkan jauh lebih dahsyat ) dengan plugin FirePHP yang akan memungkinkan Anda untuk memiliki tampilan penuh dari status PHP dan segala kesalahan yang terjadi.

Selanjutnya, pastikan Anda menggunakan fungsi-fungsi penanganan Kesalahan PHP yang digunakan (tapi ingat untuk menghapusnya lagi sebelum Anda tayangkan, karena mereka juga merupakan cara yang bagus bagi pengguna jahat untuk mengetahui internal aplikasi Anda)

Sedangkan untuk IDE, Anda selalu dapat mencoba Alat Pengembang PHP Eclipse atau menggunakan Zend Studio yang lebih berdedikasi .

Trezoid
sumber
1

Beberapa alat yang saya gunakan untuk meningkatkan perkembangan saya adalah:

Visual Web Developer 2010 (bagian dari Visual Studio 2010)

Anda mengatakan IDE menyebalkan. Dengan ini, Anda sekarang memiliki salah satu IDE terbaik di luar sana, dan jika Anda menggunakan kode C ++ saya yakin Anda sudah tahu VS. Saya menggunakan versi ekspres yang gratis dan saya tidak perlu lagi.

JS Fiddle dan Codepad

Bagus untuk mencoba tata letak HTML / CSS, dan skrip JS. Codepad sangat bagus untuk mencoba situs web Anda dalam bahasa sisi-server.

Firefox + Firebug (atau browser lainnya yang setara)

Skrip debugging jauh lebih mudah menggunakan browser. Anda juga memiliki DOM gaya pohon lengkap yang dapat Anda manipulasi sesuai keinginan dan perubahan akan diterapkan secara waktu nyata.

Gunakan kerangka kerja

Ada berbagai kerangka kerja untuk setiap bahasa web di luar sana. Mereka menawarkan Anda serangkaian fungsionalitas yang teruji dengan baik yang memastikan kompatibilitas lintas-browser, menghemat banyak waktu untuk debugging, dan "menulis lebih sedikit." Saya sarankan mencari jQuery dan YUI untuk coding JavaScript.


Log Konsol

Untuk melacak kemajuan debugging Anda, gunakan Debug Console, terintegrasi di sebagian besar browser. Di JS, menggunakan console.log('something to write');akan menambahkan entri teks ke konsol debug, dengan cara ini Anda dapat menambahkan informasi berguna ke kode Anda untuk tujuan debugging dan melacak eksekusi kode Anda.


Pelat boiler

Sekarang jangan salah paham. Saya tahu Anda terlibat dalam pengembangan aplikasi web dan bukan situs web normal. Tetapi kenyataannya, ini masih sebuah situs web, dan Anda masih harus mengurus masalah paling penting yang Anda miliki: kompatibilitas lintas-browser. Ini adalah template yang solid yang akan memberi Anda dasar yang kuat untuk halaman HTML Anda, dan banyak lagi ...

Reset CSS

Jika Anda tidak menggunakan Boilerplate, yang datang dengan reset CSS-nya sendiri, Anda mungkin masih ingin memastikan halaman Anda terlihat dengan benar di antara browser. Reset CSS akan memastikan hal ini. Favorit saya adalah Reset YUI CSS , bersama dengan CSS Base dan Font CSS .

Jose Faeti
sumber
0

Menggunakan kerangka kerja seperti Ruby on Rails membantu meringankan frustrasi yang hebat. Ini memiliki pelaporan kesalahan yang cukup bagus, dan berkat ActiveRecord bekerja dengan model dan database sangat mudah. Selama Anda mengikuti filosofi konvensi tentang konfigurasi, Anda dapat membuat prototipe aplikasi web yang kompleks dengan cukup cepat dengan RoR.

Saya akan kedua Firebug, meskipun alat Pengembang untuk webkit juga berfungsi dengan baik.

Edit sumber daya:

Inilah tempat yang bagus untuk memulai secara gratis.

www.railstutorial.org

jktress
sumber
0

XDebug dapat membantu Anda men-debug di modecloser ke apa yang Anda terbiasa dengan VS (versi terbaru dari kapal Wampserver dengan Xdebug (baik server dan klien), jika Anda mencari instalasi pengembangan yang mudah yang menginstal semua yang Anda butuhkan kecuali sebuah editor teks).

Juga, jika PHP bukan pilihan Anda, coba bahasa lain : Anda mungkin lebih senang menggunakan Python, Ruby / Rails, ASP atau Perl.

Selain itu, Anda dapat menulis modul C ++ CGI alih-alih skrip PHP, meskipun saya akan menyarankan untuk mencoba PHP lagi, ini cukup berguna setelah Anda terbiasa.

wildpeaks
sumber