Dengan
semakin berkembanganya internet, profesi web developer juga telah berkembang
menjadi salah satu profesi yang memiliki prospek cerah. Bagi Anda yang memiliki
ketertarikan untuk menjadi web developer, saya akan berbagi beberapa hal dan
teknologi yang sekiranya perlu dipelajari agar bisa menjadi seorang web
developer dengan skill yang tinggi.
Kemampuan Dasar
1. Pahami konsep HTTP
Salah
satu komponen mendasar dalam dunia web adalah Hyper Text Transfer Protocol
(HTTP). Pahamilah proses apa saja yang terjadi di sisi server maupun client.
pada saat kita sedang membuka halaman web.
2. HTML dan CSS
Hyper
Text Markup Language (HTML) merupakan bahasa yang digunakan untuk membentuk
tampilan sebuah web. Dan dengan menggunakan Cascading Style Sheet (CSS), kita
dapat memformat tampilan tersebut dengan lebih mudah dan tentu saja menjadi
lebih bagus.
3. Javascript
Dengan
menggunakan Javascript, web yang kita buat bisa menjadi lebih interaktif. Kita
bisa membuat popup window, autocomplete, datepicker, dan banyak hal lainnya
dengan menggunakan Javascript.
4. Server Side Programming
Pemrograman
Server Side merupakan bagian terpenting pada programan web dinamis. Pada bagian
ini pilihan bahasa pemrograman yang bisa Anda pelajari sangat banyak. Mulai
dari bahasa yang sudah lama beredar seperti Perl, Ruby, PHP, JSP, dan Python
hingga bahasa seperti NodeJS, Haskell, Scala, dan Go. Saat ini PHP masih
merupakan bahasa yang terpopuler karena mudah dipelajari dan diimplementasikan
serta banyak referensi dan komunitas seputar PHP yang tersedia di internet.
5. Database SQL
Web
dinamis tidak akan lengkap bila tidak menggunakan Database Management System
(DBMS) sebagai sarana penyimpanan data. Database pada aplikasi web banyak
sekali kegunaannya seperti menyimpan data user, artikel, transaksi penjualan,
dan lain-lain sesuai dengan jenis aplikasi web yang dikembangan. Program database
populer yang bisa Anda pelajari diantaranya MySQL, PostgreSQL dan MariaDB yang
bersifat Open Source atau Oracle dan Microsoft SQL Server yang merupakan
aplikasi berbayar.
6. Web Server
Web
server juga merupakan komponen yang penting. Tanpa web server, aplikasi web
yang Anda buat tidak akan bisa berjalan. Web server populer yang banyak
digunakan diantaranya Apache dan Nginx. Pelajarilah konfigurasi dasar web
server untuk mendukung skill Anda sebagai web developer. Manfaat menguasai
konfigurasi dasar tersebut diantaranya Anda bisa membuat link website Anda
lebih SEO (Seach Engine Optimization) Friendly.
7. Web Hacking
Pelajarilah
trik-trik web hacking seperti SQL Injection dan Cross Site Scripting (XSS).
Mengapa perlu? Dengan memahami hal tersebut maka kita bisa mencegah
serangan-serangan hacker ke website kita bukan.
Menguasai
hal-hal diatas dengan baik akan memberikan bekal awal yang berguna bagi Anda
untuk bisa membangun sebuah website dengan baik.
Kemampuan Tingkat Lanjut
1. Linux
Tanpa
maksud meremehkan sistem operasi Windows, tapi pada kenyataannya sebagian besar
web server di dunia menggunakan Linux atau Unix Family lainnya sebagai sistem
operasinya. Menggunakan Linux saat melakukan proses pengembangan web akan
membiasakan Anda untuk selalu aware terhadap pentingnya huruf besar dan kecil
untuk nama file hingga perlunya setting permission folder yang digunakan untuk
menyimpan file hasil upload. Hal tersebut bisa mencegah permasalahan yang
timbul saat aplikasi web yang ditulis di Windows kemudian di-upload ke server
yang menggunakan Linux.
2. Pelajari Framework
Framework
sangatlah penting untuk menjaga coding kita tetap terstruktur rapi dan memiliki
standar yang sama terutama bila aplikasi web dikerjakan bersama-sama. Kita
perlu memastikan bahwa coding yang dikerjakan oleh satu programmer tetap dapat
dibaca dan dikembangkan atau diperbaiki oleh programmer lainnya. Penggunaan
framework juga akan memisahan layer logic, database query, dan tampilan
sehingga aplikasi lebih mudah untuk di-maintain.
Beberapa
framework yang populer diperuntukkan untuk bahasa PHP, seperti Laravel,
Symfony, dan Yii. Untuk bahasa Python ada framework bernama Django. Kemudian
ada juga Ruby On Rails untuk bahasa Ruby.
3. Advance Javascript
Anda
juga perlu mempelajari Javascript tingkat lanjut seperti jQuery. Dengan
menguasai jQuery, Anda bisa melakukan manipulasi terhadap halaman web Anda
dengan lebih mudah seperti membuat textfield menjadi autocomplete, membuat
bagian halaman tertentu hilang atau tampil dengan kondisi tertentu, dan
lain-lain. Selain Javascript library seperti jQuery, Anda juga bisa mempelajari
Javascript Framework seperti Angular atau ReactJS yang saat ini semakin
populer.
4. Responsive Layout
Ini
adalah advance CSS. Penggunaan perangkat mobile semakin banyak, sehingga kita
mau tidak mau harus membuat aplikasi web kita juga nyaman saat dibuka di layar
perangkat mobile. Dengan mengunakan responsive layout maka tampilan web kita
akan secara otomatis "menyesuaikan diri" dengan lebar layar yang
membukanya. Beruntunglah kita karena ada Bootstrap CSS yang akan sangat
membantu dalam membuat responsive layout tersebut. Selain Bootstrap, ada juga
Foundation JS yang mungkin perlu diperhitungkan.
5. Revision Control
Aplikasi
web Anda tentu akan semakin berkembang dan mengalami banyak modifikasi. Yang
mengerjakan juga belum tentu Anda sendiri. Bisa saja Anda mengerjakan
bersama-sama. Inilah saat yang tepat untuk mulai menggunakan software revision
control. Apakah itu? Revision control akan membantu Anda untuk mencatat perubahan-perubahan
yang terjadi pada coding Anda. Dengan begitu Anda bisa mendeteksi setiap
perubahan, kapan perubahan tersebut, hingga siapa yang melakukan perubahan.
Anda juga bisa melakukan revert ke versi coding sebelumnya bila diperlukan.
Untuk software revision control, Anda bisa menggunakan Git atau Subversion.
Saya merekomendasikan Git karena bisa digunakan secara local/offline sehingga
bisa digunakan saat kita bekerja sendiri sekalipun.
6. RESTful Web Services
Pelajarilah
cara membuat web services menggunakan metode RESTful. Saat ini aplikasi web
sudah banyak yang menjadi satu paket dengan aplikasi mobile atau mungkin juga
aplikasi desktop atau mungkin juga terintegrasi dengan aplikasi web lain
sehingga diperlukan web services sebagai jembatan penghubungnya. Untuk
memudahkan pembuatan RESTful API sudah tersedia framework PHP seperti Slim
Framework atau Silex.
7. Unit Testing
Penggunaan
unit testing akan membantu Anda untuk memastikan bahwa perubahan pada salah
satu komponen aplikasi tidak akan merusak proses komponen lainnya. Hal ini akan
sangat membantu Anda agar tidak perlu melakukan testing manual ke setiap bagian
program apabila ada perubahan. Untuk PHP tersedia PHPUnit yang bisa Anda
download dan install. Framework populer seperti Laravel juga sudah menyediakan
fitur unit testing tersebut.
Sekarang
sudahkah cukup dengan dengan hal-hal di atas? Bisa jadi belum karena masih
banyak lagi hal-hal yang mungkin kita akan temukan pada saat membangun aplikasi
web.
- Mungkin website tersebut menggunakan Content Management System (CMS) seperti Drupal. Maka kita perlu mempelajari cama membuat module atau theme untuk Drupal.
- Database yang digunakan bukan jenis SQL tapi NoSQL. Mungkin kita perlu mempelajari teknologi seperti MongoDB.
- Mungkin juga web yang kita kembangkan adalah web skala besar yang akan mendapatkan traffic sangat tinggi. Maka kita perlu belajar tentang Memcached untuk meningkatkan performa website tersebut.
