Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Web Development
Code

15 Pertimbangan Penting untuk Memilih Kerangka Pengembangan Web

by
Difficulty:IntermediateLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Johari Triana (you can also view the original English article)

Kerangka kerja pengembangan web baru tumbuh dengan kecepatan yang lebih cepat daripada yang bisa diimbangi oleh siapa pun. Pada artikel ini, kita akan menentukan cara memutuskan kerangka kerja untuk membuat aplikasi web hot berikutnya.

Di zaman sekarang ini, mendorong aplikasi yang sudah selesai, dipoles jauh sebelum pesaing Anda adalah kuncinya. Koding segala sesuatu dari awal, tidak termasuk hal-hal biasa, bisa sangat memakan waktu dan membuat pengembang menghabiskan waktu untuk menemukan kembali roda, waktu yang lebih baik dihabiskan untuk mengimplementasikan fitur-fitur baru atau memperketat basis kode. Di sinilah kerangka pengembangan web masuk. Kerangka sering mencakup semua aspek biasa aplikasi termasuk akses basis data, otentikasi, manajemen sesi, dan banyak lagi.

Hari ini, kita akan melihat berbagai aspek yang harus Anda perhatikan sebelum memilih kerangka kerja. Tertarik? Ayo segera mulai!

1. Konteks Penggunaan

Tutorial Image

Bahkan sebelum Anda mulai melihat suatu kerangka kerja, Anda harus membuat daftar persyaratan Anda dan apakah kerangka kerja itu cocok untuk tujuan itu.

Anda membutuhkan kerangka kerja jika:

  • aplikasi Anda terutama didasarkan pada operasi CRUD
  • Anda perlu pemisahan UI dan logika yang mendasarinya tetapi tidak punya waktu untuk menerapkan sistem yang tepat
  • Anda mendapati diri Anda memiliki perpustakaan buatan sendiri yang Anda gunakan di setiap aplikasi Anda yang mencakup otentikasi pengguna, sesi, dan operasi biasa lainnya yang terkait dengan pembuatan aplikasi web
  • Anda memiliki bos yang ingin Anda membuat CMS untuk mereka dalam 2 hari dan Anda sudah tahu kerangka kerjanya

Anda TIDAK perlu kerangka kerja jika:

  • Anda ingin sistem URL yang cantik
  • Anda hanya menginginkan bagian tertentu dari kerangka kerja seperti ORM-nya
  • Anda berada di timeline yang ketat dan Anda perlu belajar kerangka kerja dari awal
  • Anda diberitahu kerangka menyembuhkan kanker

2. Lisensi

Tutorial Image

Sebelum Anda mulai mengembangkan kerangka kerja, lihat jenis lisensi kerangka mana yang didistribusikan. Meskipun sebagian besar lisensi cukup liberal untuk digunakan dan memungkinkan Anda membuat aplikasi komersial, beberapa di antaranya tidak begitu murah hati. Hal terakhir yang Anda inginkan adalah membuat seluruh aplikasi hanya untuk mengetahui bahwa lisensi tidak memungkinkan Anda untuk mendistribusikannya secara komersial. Lebih baik lakukan riset Anda sebelumnya daripada menderita sesudahnya.

Perhatikan bahwa ini tidak terbatas pada kerangka saja. Plugin atau ekstensi yang Anda gunakan untuk fungsionalitas tambahan mungkin memiliki klausa tersembunyi. Periksa juga lisensinya!

3. Pola Perangkat Lunak

Tutorial Image
Dari proyek Symfony

Hampir setiap kerangka di luar sana secara eksklusif menggunakan pola MVC. MVC, yang merupakan singkatan dari Model-View-Controller, membantu Anda menjaga data Anda: model, logika: controller dan antarmuka pengguna: view, terpisah satu sama lain. Ini pada gilirannya memungkinkan Anda menulis kode yang lebih baik dan lebih kuat yang pada akhirnya menghasilkan aplikasi yang lebih baik.

Hanya karena hampir semua orang menggunakan MVC bukan berarti itu semua yang perlu Anda ketahui. Ada beberapa varian termasuk MVP: Model-View-Presenter, MVA: Model-View-Adapter dan AVC: Application-View-Controller.

4. Persyaratan Hosting

Tutorial Image

Sebagai pengembang web, kita mungkin cenderung membangun aplikasi pada platform terdepan, tetapi seringkali kebutuhan dan anggaran klien yang lebih dulu. Seringkali mungkin keluar dari anggaran untuk mendapatkan host khusus untuk menempatkan aplikasi kita dan kita harus puas dengan shared hosting dengan modul dan pengaturan normal.

Kerangka kerja yang cocok dengan hosting bersama meliputi:

Kerangka kerja yang membutuhkan pengaturan relatif non-tradisional:

Namun, dalam semua kejujuran, Anda masih dapat menjalankan kerangka kerja seperti Django dari yang shared host. Ini hanya akan mengharuskan server menginstal modul yang diperlukan. Anda mungkin dapat menjalankannya dari CGI tetapi akan jauh lebih lambat daripada menjalankannya secara native.

5. kemudahan instalasi

Tutorial Image

Kemudahan instalasi memainkan peran yang sangat penting saat memilih kerangka kerja. Suatu kerangka kerja, betapapun sarat fitur atau cepatnya itu, dapat menimbulkan masalah yang cukup besar jika seseorang harus menjalankan sejumlah langkah hanya untuk membuatnya diinstal dan berfungsi.

Ini juga akan menimbulkan masalah besar setelah aplikasi siap, diuji dan perlu digunakan untuk server produksi. Kerangka kerja dengan kemudahan instalasi dan penyebaran yang mudah mendapat poin brownies di sini.

Untuk banyak kerangka kerja, pengaturannya semudah mengatur nilai yang tepat dalam file konfigurasi sementara untuk yang lain mungkin membutuhkan waktu, urusan rumit. Pilih kerangka kerja yang memungkinkan Anda mulai dan berjalan secepat mungkin.

6. Kurva Belajar

Tutorial Image

Setiap kerangka kerja memiliki semesta kecilnya sendiri: konvensi penamaan, struktur direktori, dan apa yang bukan. Beberapa kerangka kerja agak fleksibel dalam hal ini sementara yang lain sangat, sangat ketat memunculkan kesalahan pada kesalahan terkecil. Beberapa kerangka kerja mengikuti konvensi umum sambil menerapkan fitur sementara yang lain mungkin menyerang dan melakukan hal sendiri. Saat memilih kerangka kerja, ingatlah untuk memilih kerangka kerja yang memiliki kurva belajar sekecil mungkin.

Jika Anda tidak tahu bahasa kerangka kerjanya ditulis dengan apa, buat catatan termasuk bahasa itu sendiri ke kurva belajar. Saya telah melihat sejumlah pengembang melompat ke Django dari CakePHP dan berjuang karena mereka perlu mempelajari Python dan Django secara bersamaan. Jika Anda perlu mempelajari kerangka kerja dan bahasa yang digunakan untuk menulisnya, percepat langkah Anda!

7. Perpustakaan Inti

Tutorial Image

Mari kita hadapi itu; itu untuk perpustakaan inti yang kebanyakan orang mengadopsi kerangka kerja. Pustaka harus sedemikian rupa sehingga membebaskan Anda dari menulis kode berulang tetapi masih menyediakan cara bagi Anda untuk mengotak-atiknya jika Anda memerlukan lebih banyak kontrol atau fitur.

Sebagian besar kerangka kerja menawarkan perpustakaan yang mencakup hampir semua daftar berikut:

  • AJAX
  • Otentikasi
  • Otorisasi
  • Caching
  • Sanitasi data
  • Validasi data
  • Template
  • Pemetaan atau penulisan ulang URL

Tentu saja, tidak setiap orang membutuhkan kerangka kerja yang penuh dengan fitur. Banyak orang lebih suka kerangka kerja untuk menangani minimum sementara membiarkan pengembang menangani sisanya. Dalam kasus ini, Anda harus memastikan bahwa kerangka kerja yang dimaksud hanya memiliki fitur yang Anda butuhkan.

Tren saat ini di antara kerangka kerja adalah bahwa mereka dibuat sebagai perpustakaan dari perpustakaan. Dengan kata lain, ini memungkinkan Anda menukar bagian perpustakaan dengan bagian lain dari pilihan Anda. Contoh yang sangat baik dari ini adalah Pylons. Ini memungkinkan Anda mengganti hampir semua bagiannya mulai dari ORM hingga ke bahasa templating. Orang-orang menyukai kerangka kerja yang digabungkan secara longgar ini seperti halnya kerangka yang berpasangan erat dengan komponen-komponen intinya.

8. Abstraksi DB dan ORM

Tutorial Image

Hampir setiap aplikasi harus mengakses database untuk membaca data atau mengedit isinya. Either way, Anda akan melakukan ini sepanjang aplikasi dan dengan mengingat hal ini, sebagian besar kerangka kerja memungkinkan Anda menggunakan kelas akses basis data yang dapat Anda manfaatkan. Jadi saat memilih aplikasi, pilih aplikasi yang memungkinkan aplikasi Anda menjadi basis data agnostik. Anda tidak akan pernah harus peduli tentang bagian basis data jika Anda perlu mengganti basis data jika kerangka kerja Anda menangani hal itu.

Bagian kedua yang perlu Anda pikirkan adalah kemampuan kerangka kerja ORM . Tanpa perlu teknis, ORM atau Object Relational Mapping memungkinkan Anda mengekspresikan data sebagai objek dan melihat bagaimana hubungannya dengan objek lain. Bayangkan sebuah database objek tempat Anda dapat mengambil informasi, jika Anda mau.

Kerangka kerja yang memiliki kemampuan ORM termasuk CakePHP, Django dan Ruby. Dengan kerangka kerja seperti Pylons, Anda dapat menggunakan ORM pilihan Anda.

9. Terhitung Perpustakaan JS

Tutorial Image

Perselisihan lain adalah pustaka JavaScript yang dibundel. Sementara sebagian besar pustaka membiarkan Anda menukar pustaka dengan mudah, metode AJAX di dalam kerangka sebagian besar masih ditujukan ke pustaka JS tertentu. Ini secara implisit berarti bahwa Anda harus menulis sendiri fungsionalitasnya secara manual. Di sisi lain adalah kerangka kerja dengan metode agnostik perpustakaan yang memungkinkan Anda menukar perpustakaan JavaScript dengan sedikit atau tanpa kerumitan.

Sama seperti referensi, baik CakePHP dan Ruby on Rails dibekali dengan Prototipe dan Scriptaculous sebagai standar.

10. Unit Testing

Tutorial Image

Saya salah satu pengembang yang bersumpah dengan unit testing. Wikipedia mendefinisikan unit testing sebagai:

Unit testing adalah metode verifikasi dan validasi perangkat lunak di mana seorang programmer menguji apakah masing-masing unit kode sumber cocok untuk digunakan. Unit adalah bagian terkecil yang dapat diuji dari suatu aplikasi.

Kerangka kerja yang memungkinkan saya menulis unit test adalah nilai tambah yang pasti dalam kasus ini. Banyak kerangka kerja termasuk Codeignieter, CakePHP dan Zend memungkinkan Anda membuat tes khusus selain tes inti untuk memeriksa bagian-bagian penting dari aplikasi Anda.

11. Penskalaan

Tutorial Image

Pengembang web rata-rata tidak perlu khawatir tentang skalabilitas kerangka kerja. Seperti yang sering terjadi, I/O dan latensi jaringan seringkali merupakan masalah daripada skalabilitas kerangka kerja. Bahkan masalah skalabilitas mistis Twitter bukan kesalahan kerangka yang dimaksud.

Jika seseorang meminta Anda untuk memberhentikan suatu kerangka kerja yang menunjukkan masalah penskalaan, abaikan saja. Kerangka kerja jarang menjadi alasan masalah penskalaan. Tentu, Anda bisa mengoptimalkan kode sedikit tetapi sering kali beban dari masalah penskalaan terletak di tempat lain.

12. Dokumentasi

Tutorial Image

Dokumentasi kerangka kerja seringkali menjadi kunci keberhasilannya. Dijelaskan dengan baik, dokumentasi terperinci menarik pengguna dan evangelist yang berkuasa yang kemudian membawa lebih banyak orang. Dengan dokumentasi yang jelek dan membingungkan, orang-orang akan pergi dengan bingung dan kesal.

Cari kerangka kerja yang memiliki dokumentasi lengkap dengan banyak contoh, snippet, kode sampel, artikel, dan tutorial. Screencast seperti Jeffrey adalah nilai tambah khusus karena ini akan membuat Anda bisa terus.

13. Komunitas

Tutorial Image

Tidak dapat dihindari, bahkan dengan dokumentasi yang tepat, Anda akan mengalami kesalahan untuk memperbaiki yang mana, Anda harus meminta komunitas di balik kerangka kerja untuk bantuan. Saya secara pribadi berinteraksi dengan komunitas-komunitas yang secara ekstrim menyerang programmer-programmer yang baru dalam kerangka kerja dan mengejek mereka sementara di sisi lain saya melihat komunitas dengan riang menyambut para pemula dan mengajari mereka trik-trik perdagangan. Saya pikir tidak perlu mengatakan kerangka mana yang akhirnya saya pilih dan mulai bekerja secara permanen.

Seperti yang sering terjadi, komunitas di balik suatu kerangka kerja membuat atau menghancurkan kerangka kerja tersebut. Terlalu sombong dan Anda akan membenci kerangka bukan orang-orang. Berbudi luhur dan Anda akan tertarik pada kerangka kerja. Pilih kerangka kerja yang memiliki komunitas ramah yang membantu pengembang yang baru dalam platform.

14. Perbaikan/Pembaruan Bug

Tutorial Image

Salah satu alasan pengembang web menghindar dari hanya membuat kerangka kerja mereka sendiri adalah fakta bahwa mereka sendiri yang bertugas memperbaiki bug dan pembaruan. Dengan kerangka kerja besar, Anda benar-benar memiliki ribuan programmer memilah-milah kode dan meletakkannya melalui langkahnya setiap hari. Bug, jika dan ketika ditemukan, Hentikan sesegera mungkin setelah ditemukan.

Pilih kerangka kerja yang tidak stagnan. Anda tidak ingin seorang hacker memberi tahu Anda bahwa kerentanan keamanan ada dalam kerangka kerja melalui halaman yang diretasnya di situs Anda. Anda lebih suka mendengarnya dari pengembang kerangka kerja, semoga dengan tautan ke tambalan masalah ini. Pilih kerangka kerja yang sering diperbarui, terbuka tentang bug yang ditemukannya dan yang lebih penting memperbaiki bug yang ditemui orang sesegera mungkin.

15. Kemudahan Membuat Ekstensi dan Ketersediaan

Tutorial Image

Meskipun kerangka kerja mencakup semua basis penting dari suatu aplikasi, kemungkinan besar, Anda masih harus menulis banyak kode. Jadikan itu cukup umum dan Anda dapat menggunakannya kembali menjadi komponen yang cocok untuk digunakan kembali dalam aplikasi Anda yang lain atau bahkan lebih baik melepaskannya ke masyarakat umum sehingga mereka menggunakannya dalam aplikasi mereka.

Pilih kerangka kerja yang memungkinkan Anda memperluas kerangka kerja dengan mudah dan dengan sedikit keributan. Dengan CakePHP misalnya, memperluas controller yang diurus oleh component dan view oleh helpers. Dalam kedua kasus tersebut, membuat ekstensi sama mudahnya dengan mendefinisikan kelas baru yang diwarisi dari kelas induk.

Saat memilih kerangka kerja, juga perlu diingat ketersediaan plugin. Seringkali Anda tidak punya waktu untuk membuat ekstensi khusus dari awal. Memiliki kumpulan ekstensi yang besar untuk dipilih dapat mengatasi masalah ini. Pilih bukan oleh jumlah ekstensi tetapi oleh kualitas ekstensi.

Kesimpulan

Dan kita selesai! Kami melihat semua aspek yang harus Anda pertimbangkan sebelum memilih kerangka kerja pengembangan web. Kami melihat segala sesuatu mulai dari memetakan apakah cocok dengan tujuan kami untuk perbaikan bug dan pembaruan. Semoga ini bermanfaat bagi Anda dan Anda menganggapnya menarik.

Pertanyaan? Hal-hal baik untuk dikatakan? Kritik? Tekan bagian komentar dan beri saya komentar. Happy coding!

  • Ikuti kami di Twitter, atau berlangganan Nettuts + RSS Feed untuk tutorial pengembangan web terbaik di web.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.