Pendahuluan
Membangun sebuah aplikasi berbasis web (selanjutnya disebut dengan
Aplikasi Web) adalah pekerjaan yang tidak mudah. Banyak hal yang harus
diperhatikan supaya Aplikasi Web yang dibangun memiliki fitur-fitur yang
sifatnya wajib (mandatory). Permasalahan juga timbul bagi Web Developer
pemula, yaitu mereka yang sama sekali belum pernah membangun sebuah
Aplikasi Web.
Banyak Web Developer bingung mengidentifikasi fitur-fitur apa saja
yang harus ada di sebuah Aplikasi Web. Apalagi untuk
mengimplementasikannya secara teknis. Belum lagi segudang permintaan
dari Pengguna Aplikasi Web yang kadang-kadang terlalu mempercayakan
detail-nya kepada Web Developer. Pokoknya, Pengguna hanya ingin terima
beresnya saja, alias tidak mau tahu dengan fitur-fitur apa saja akan
mereka pakai nanti.
Permasalahan klasik yang sering dialami oleh Web Developer di atas
sampai saat ini sering terjadi. Di forum-forum diskusi ataupun grup-grup
pemrograman banyak sekali Web Developer yang bertanya dan kesulitan
untuk membuat sebuah Aplikasi Web. Ada yang ingin membuat Aplikasi Web
dengan cepat, tapi mereka masih saja bertahan menggunakan cara-cara
lama. Menghabiskan waktu hanya untuk membuat hal-hal yang bersifat
teknis dan sebenarnya bisa diatasi dengan tools tertentu.
Akhirnya terlalu banyak waktu Web Developer yang terbuang sia-sia
karena Web Developer kurang cerdik bekerja. Parahnya, kebanyakan di
antara mereka bangga jika harus menghabiskan waktu yang lama di depan
komputer. Ingin mendapatkan hasil yang maksimal tapi menggunakan
cara-cara yang konvensional. Melihat kondisi tersebut, membuat saya
tergerak menulis artikel ini.
Tulisan ini bertujuan mengajak Web Developer untuk bisa bekerja
dengan lebih cerdik sekaligus lebih cerdas lagi. Semua konten di artikel
ini ditulis berdasarkan pengalaman Penulis sendiri selama 10 tahun
terakhir bekerja di bidang Web Development. Tidak ada maksud untuk
meremehkan PHP Framework tertentu (terlepas dari kelebihan dan
kekurangan yang dimiliki oleh setiap PHP Framework).
Framework, oh, framework!
Banyak Web Developer yang saya amati sering menggunakan metode
coba-coba dalam membangun sebuah Aplikasi Web. Mereka akan mencoba
menggunakan Framework A, Framework B, Framework C, dan segudang
framework-framework lainnya yang justru ironisnya membuat mereka semakin
bingung untuk memutuskan memakai yang mana. Jika tidak cocok dengan
Framework A, beralih ke B, ke C, dan seterusnya.
Belum lagi setiap framework berlomba-lomba mengklaim bahwa framework
mereka adalah yang terbaik di antara semuanya. Ada yang mengklaim bahwa
framework-nya yang paling cepat, paling aman, paling stabil, dan
segudang paling lainnya. Seolah ingin mengatakan bahwa dengan
menggunakan framework itu, maka Web Aplikasi bisa dibuat dengan semudah
dan secepat mungkin. Padahal, kenyataannya? Hm…!
Ketika Web Developer memilih untuk menggunakan Framework A, maka dia
harus mempelajari framework itu. Mulai dari kulit luar sampai
dalamannya. Memang, harus diakui ada framework tertentu yang menyediakan
dokumentasi yang demikian lengkapnya. Tapi ada juga yang memiliki
dokumentasi sekedarnya. Yang sangat saya sayangkan adalah, hampir tidak
ada (atau bahkan memang tidak ada) satupun Framework yang menyediakan
contoh-contoh pengimplementasian semua fitur yang wajib ada di sebuah
Aplikasi Web dengan menggunakan framework tersebut.
Mengapa Framework saja belum cukup?
Karena kebanyakan framework hanya menyediakan contoh
potongan-potongan kode terpisah saja. Bahkan ada yang hanya menyediakan
tampilan
front-end-nya saja, tapi di belakangnya masih nihil,
tanpa script di sisi server! Belum ada framework yang menyediakan contoh
lengkap. Artinya, prototipe Aplikasi Web lengkap dengan fitur-fitur
yang bersifat wajib tadi, mulai dari script di sisi server (PHP) sampai
di sisi client (Javascript, dll). Ini juga yang sering membuat kesal Web
Developer yang membutuhkan solusi nyata untuk membuat Aplikasi Web yang
lengkap dengan menggunakan framework!
Seandainya pun ada framework tertentu yang menyediakan contoh-contoh
yang relatif lengkap, tapi sangat disayangkan bahwa untuk menghasilkan
sebuah Aplikasi Web dengan fitur-fitur wajib di dalamnya, dibutuhkan
kurva pembelajaran (
Learning Curve) yang cukup tinggi. Artinya,
di samping dibutuhkan upaya yang tidak mudah dalam mempelajarinya, juga
dibutuhkan waktu yang relatif lama untuk memahaminya. Apalagi untuk
mengimplementasikannya.
Sayangnya lagi, belum tentu ada jaminan bahwa si Web Developer akan
bertahan untuk menggunakan Framwork A. Ketika di tengah jalan framework
itu tidak memuaskan, akhirnya mereka akan beralih lagi ke framework lain
(yang belum tentu juga akan memuaskan). Parahnya, Web Developer sering
terjebak dengan rayuan dari masing-masing framework yang semakin hari
semakin bertambah jumlahnya.
Hampir semua framework yang diupdate ke versi yang lebih tinggi
menyebabkan pekerjaan tambahan. Jarang ada framework yang jika diupdate
akan mulus diterapkan di Aplikasi Web yang sudah live. Web Developer
dibebani segudang tugas untuk menyesuaikan kode yang sudah ditulis.
Artinya, framework yang diupdate tidak sekedar hanya menyalin file-file
framework yang versi terakhir tadi. Tapi harus menyesuaikan lagi kode di
sana-sini di sisi Aplikasi Web yang sudah ditulis oleh Web Developer.
Beugh… betapa rumitnya!
Banyak waktu Web Developer akhirnya terbuang sia-sia. Alhasil?
Kebanyakan metode seperti ini justru akan semakin menambah lama waktu
development. Sesuatu yang seharusnya bisa dihindari! Yang tadinya Web
Developer dapat lebih fokus untuk berkonsentrasi dalam
mengimplementasikan
business-logic dan
business-process, akhirnya mereka harus disibukkan lagi dengan urusan-urusan teknis yang seharusnya tidak perlu lagi.
Belum lagi mereka harus menulis kode tertentu hanya untuk menciptakan
beberapa fitur khusus yang mandatory tadi ke dalam sebuah Aplikasi Web.
Membandingkan antara versi baru dengan versi yang lama sering membuat
jengkel Web Developer. Begitulah konsekuensi menggunakan framework yang
masih berkembang dan cenderung belum stabil. Sementara di sisi yang lain
Client atau Pengguna sudah menagih kapan Aplikasi Web tersebut siap
untuk digunakan.
PHPMaker = {PHP Framework + Javascript Framework + PHP Code Generator} yang Hebat dan Fleksibel
Memang, tidak adil rasanya jika saya membandingkan antara
PHPMaker
dengan Framework PHP yang banyak bertebaran di Internet. Tapi bukan itu
inti dari tulisan ini. Tulisan ini ingin membuka wawasan Web Developer
bahwa untuk membangun Aplikasi Web, sebaiknya jangan hanya terpaku untuk
selalu menggunakan framework tertentu saja. Masih ada metode
pengembangan lainnya yang membantu Anda untuk membangun Aplikasi Web.
Saya mengenal
Tools PHP Code Generator PHPMaker pada tahun
2004. Sampai sekarang tools ini masih saya gunakan. Artinya? Penilaian
saya terhadap tools ini ternyata di luar dugaan saya. Banyak fitur-fitur
hebat yang sebelumnya tidak saya duga, ternyata sudah disediakan di
sana. Setiap tahun tools ini selalu diupdate dan selalu saja ada
fitur-fitur baru pada setiap versi terbarunya. Singkatnya, PHPMaker
diciptakan untuk mengatasi semua permasalahan yang sering dialami oleh
Web Developer seperti uraian di atas.
Dengan menggunakan PHPMaker, maka Web Developer tidak perlu lagi
mengurusi hal-hal yang teknis di sebuah Aplikasi Web. PHPMaker sudah
menyediakan segudang fitur yang wajib ada di sebuah Aplikasi Web. Hal
ini tentu saja sangat bermanfaat bagi Web Developer pemula. Mereka hanya
perlu menentukan fitur-fitur apa yang akan mereka masukkan ke Aplikasi
Web tadi. Bahkan Web Developer level apapun bisa belajar banyak dari
fitur-fitur ini.
PHPMaker mudah sekali dipelajari. Web Developer level pemula
sekalipun dapat memahami PHPMaker cukup dengan hanya melihat dari antar
mukanya saja yang sangat
intuitive dan
user-friendly.
PHPMaker juga dilengkapi dengan file Help atau Bantuan yang dapat Anda
gunakan sebagai pedoman saat bekerja dengannya. Semua bagian dan fitur
yang terdapat di PHPMaker sudah diuraikan dengan sangat jelas dan mudah
dipahami oleh siapapun. Bahkan beberapa tutorial untuk fitur yang sering
digunakan pun sudah tersedia di file Bantuan tadi. Sangat jauh sekali
bedanya dengan framework yang harus Anda pelajari, pahami, dan
implementasikan ke Aplikasi Web Anda.
Sudah disebutkan tadi, bahwa PHPMaker bukan hanya sekedar
PHP Code Generator.
Di dalam PHPMaker itu sendiri, sudah disertakan framework khusus, yang
bukan hanya untuk bahasa di sisi server-nya (PHP), tapi juga untuk sisi
client (Javascript). Bayangkan! Bukan hanya PHP Framework, tapi juga
termasuk Framework untuk front-end-nya! Inilah salah satu alasan
lainnya, mengapa PHPMaker bisa menghemat waktu Anda untuk membangun
Aplikasi Web.
Jika aplikasi PHPMaker diupdate ke versi yang lebih tinggi, framework
yang terdapat di dalamnya itu pun ikut diupdate. Artinya? Anda sebagai
Web Developer tidak dibebani lagi tugas tambahan untuk menyesuaikan kode
di file script yang sudah di-
generate olehnya. Mengapa? Karena semua pekerjaan teknis itu sudah ditangani oleh PHPMaker. Anda cukup hanya men-
generate
ulang semua file script dari PHPMaker, kemudian mengupload ulang semua
file tersebut ke web server Anda. Semudah dan secepat itu!
PHPMaker juga dapat menambah dan membuka wawasan Web Developer, bahwa
untuk membangun sebuah Aplikasi Web, ada cara yang lebih cerdas, cepat,
mudah, dan menyenangkan! Semua fitur yang dihasilkannya sudah terhubung
antara satu halaman dengan halaman lain; antara satu modul dengan modul
lain. Apalagi yang terkait dengan fitur Security, tidak diragukan lagi
kehandalannya. Anda sebagai Web Developer tidak perlu menyentuh sama
sekali kode yang terdapat di dalam file script yang sudah di-
generate oleh PHPMaker.
PHPMaker memungkinkan Web Developer untuk berkonsentrasi dalam pengimplementasian
business-logic dan
business-process.
Artinya, Web Developer cukup hanya fokus agar Aplikasi Web yang
dibangun sudah menerapkan kebutuhan Pengguna tanpa harus pusing-pusing
lagi mengurusi pembuatan fitur-fitur yang harus dikerjakan secara
teknis. Urusan teknis serahkan saja sepenuhnya kepada PHPMaker. Web
Developer hanya perlu menambahkan sedikit kode tanpa harus menyentuh
sama sekali file script-nya. Sayang sekali kalau kemampuan ini tidak
digunakan oleh Web Developer.
PHPMaker dapat membuat Aplikasi Web Anda dengan sangat cepat. Artinya, PHPMaker dapat men-
generate
semua file-file script yang dibutuhkan oleh Aplikasi Web hanya dalam
hitungan detik atau menit. Bukan hanya script PHP (seperti namanya yang
mengandung kata PHP) saja yang akan dihasilkannya, tapi juga file-file
script pendukung lainnya seperti file .js (Javascript), file .xml (XML),
file .css (Cascading Style Sheet), file .txt (Text), dan file-file
image pendukung lainnya. Bisakah Anda bayangkan jika Anda membangun
Aplikasi Web tapi harus menulis kode lagi di file-file script pendukung
tadi?
Semua pekerjaan yang dilakukan oleh Web Developer akan disimpan di
sisi PHPMaker. Artinya, Web Developer tidak perlu pusing-pusing lagi
membongkar file script yang terdapat di sisi Aplikasi Web seperti yang
selama ini masih banyak dilakukan oleh Web Developer. Bayangkan jika
Aplikasi Web Anda memiliki ratusan atau ribuan file dan tersebar di
banyak sub-folder (ciri khas framework yang memisahkan file script di
banyak sub-folder), dan Anda harus membongkar file-file itu. Betapa
rumitnya?
Karena semua hasil pekerjaan Anda disimpan di dalam file project
PHPMaker, maka itu artinya Anda dapat menambahkan deskripsi dari kode
yang Anda tulis di dalam file project PHPMaker tersebut. Ketika file
project ini dibuka di waktu mendatang, Anda dapat memahami dengan mudah
Aplikasi Web Anda melalui komentar yang Anda tambahkan. Anda sebagai Web
Developer dapat memahami
business-logic dan
business-process yang sudah pernah Anda tambahkan dari bagian Server Events dan Client Scripts.
Keuntungan lain dari file berbasis project di PHPMaker, memudahkan
Anda untuk memahami dengan cepat setiap Aplikasi Web yang dibangun
olehnya. Mengapa? Karena PHPMaker menampilkan kerangka kerja project
Anda berdasarkan object yang terdapat di Database yang Anda gunakan.
Setiap object Database yang terdapat di project PHPMaker memiliki Server
Events dan Client Scripts (belakangan, ditambahkan juga Custom
Templates) tersendiri. Anda sebagai Web Developer dapat memahami dengan
cepat setiap project, apalagi jika Anda memiliki beberapa Aplikasi Web
yang dibangun dengan PHPMaker dalam waktu yang relatif hampir bersamaan.
Bandingkan jika Anda harus memahami Aplikasi Web Anda dengan harus
membuka file script satu per satu, yang tersebar di banyak sub-folder!
Aplikasi Web yang dihasilkan oleh PHPMaker juga memiliki keuntungan
lain dalam hal update teknologi yang dipakai. Perubahan yang sangat
terasa terjadi mulai versi 10. PHPMaker selalu mengikuti teknologi Web
Development yang terakhir. Seperti misalnya menggunakan Twitter
Bootstrap sehingga mendukung untuk ditampilkan di perangkat mobile.
Setiap tiga bulan, author-nya selalu merilis update minor aplikasi ini,
baik untuk menambahkan fitur-fitur baru, maupun untuk memperbaiki bugs
yang sangat minor (tidak berpengaruh dengan Aplikasi Web yang
dihasilkannya).
Dan yang lebih menyenangkan lagi, apabila Aplikasi Web ingin
diperbarui atau dikembangkan lagi di waktu mendatang, maka Anda cukup
memanggil ulang file project ini dari aplikasi PHPMaker. Tidak perlu
sama sekali menyentuh file script yang sudah di-
generate. Saya
sebagai Web Developer bahkan bisa membuat aturan sendiri; bahwa pantang
hukumnya untuk menyentuh file script yang sudah di-
generate. Semua perubahan/kostumisasi wajib dilakukan dari sisi PHPMaker!
PHPMaker juga sudah menangani jika aplikasi PHPMaker itu sendiri
diupdate ke versi yang lebih tinggi. File project yang dimuat oleh
PHPMaker akan otomatis diupgrade dan disesuaikan ke aplikasi PHPMaker
versi yang terakhir. Artinya, Web Developer sama sekali tidak melakukan
perubahan di sisi Aplikasi Web maupun di sisi file project PHPMaker-nya.
Semuanya sudah ditangani dari dalam aplikasi PHPMaker itu sendiri.
PHPMaker bahkan sudah menyediakan kemudahan bagi Web Developer jika
ingin menambahkan fungsi buatan Anda sendiri selain fitur-fitur dan
fungsi-fungsi utama yang sudah disediakan olehnya. Di PHPMaker ada fitur
Extensions yang memungkinkan Web Developer dapat mengkostumais Template
yang digunakan oleh PHPMaker tanpa harus menyentuh file Template itu
sendiri. Bayangkan, betapa hebat dan fleksibelnya aplikasi PHPMaker itu
untuk memenuhi kebutuhan Web Developer.
Hidup Anda sebagai Web Developer benar-benar dimanjakan oleh
PHPMaker. Serasa PHPMaker adalah asisten pribadi Anda untuk membuat
Aplikasi Web. Cukup
generate ulang seluruh file script aplikasi web Anda, dan Anda sama sekali tidak mengutak-atik kode di file script yang di-
generate
tadi. Jika Anda ingin mengupdate Aplikasi Web Anda di waktu mendatang,
Anda cukup melakukannya dari sisi PHPMaker. Ya, semudah itu! Secepat
itu! Dan, betapa menyenangkannya hidup!
Penutup
Rasanya, tidak ada alasan lagi bagi saya untuk tidak menggunakan
PHPMaker setelah mengetahui semua keuntungan darinya. Saya sering heran
melihat Web Developer yang tidak mau menggunakan PHPMaker hanya karena
alasan PHPMaker adalah perangkat lunak yang berbayar dan tidak gratis.
Itu adalah salah satu kesalahan terbesar yang paling sering dibuat oleh
Web Developer. Banyak Web Developer lebih memilih sesuatu yang gratis,
lalu membohongi dirinya sendiri dengan mengatakan bahwa mereka menikmati
masa-masa development yang menyusahkan hidup mereka sendiri.
Ingatlah bahwa tidak ada pengorbanan yang sia-sia. Ketika Anda
membeli PHPMaker dan menggunakannya dalam pengembangan Aplikasi Web,
maka itu jauh lebih untung dengan yang akan Anda dapatkan melalui output
Aplikasi Web yang Anda hasilkan darinya, dibandingkan dengan
pengorbanan Anda mengeluarkan sejumlah uang membeli PHPMaker. Lalu,
cobalah juga bandingkan dengan sesuatu yang Anda gunakan secara gratis
(framework-framework) tadi. Silahkan jawab dengan jujur perbedaan
keuntungan yang Anda dapatkan kini dan nanti?
Jadilah Web Developer yang cerdas mulai dari sekarang. Tinggalkan
cara-cara lama dalam membangun Aplikasi Web. Sudah saatnya Anda
mengganti waktu Anda yang sia-sia dalam fase development, dengan fokus
dan berkonsentrasi dalam menerapkan
business-logic dan
business-process
di Aplikasi Web. Kalau ada yang bisa membantu Anda sebagai Web
Developer dalam mempercepat waktu development, mengapa harus bertahan
menggunakan cara-cara yang lama dan membosankan serta menyulitkan hidup
Anda sebagai Web Developer?