Categories
php

Masa Depan Pemrogram PHP Masih Cerah

Saya mendapat surat dari pembaca buku saya. Dia meminta nasihat kepada saya seperti ini:

“Aku sedang belajar PHP dan framework CI (CodeIgniter). Aku merasa startup atau perusahaan sekarang sudah jarang yang menggunakan PHP dan CI. Aku melihat karir programmer PHP/CI lambat untuk naik. Aku mendapat kesimpulan itu karena melihat artikel, lowongan pekerjaan dan mendengar cerita dari kakak kelas aku. Maka dari itu aku mau mengutarakan pertanyaan, untuk menjadi backend engineer yang handal apakah langkahnya masih tetap mendalami PHP atau mending aku banting setir ke bahasa pemrograman lain yang lebih cerah nasibnya? Jika memang aku harus banting setir, sebaiknya aku pilih bahasa apa, Pak?” (kata-kata sudah diganti susunannya untuk melindungi identitas pembaca buku saya)

Saya memang tahu pemrogram PHP sering dirundung oleh masyarakat. Pemrogram Ruby yang congkak sering membuat pemrogram PHP sebagai bahan candaan. Pemrogram Go yang jumawa bahkan tidak mau mengakui keberadaan pemrogram PHP. Pemrogram Python yang tinggi hati merasa pemrogram PHP tidak selevel dengan mereka. Mungkin hanya pemrogram Java yang masih mau berteman dengan pemrogram PHP. 🤣

Pada tahun 2000 sampai tahun 2010, PHP berjaya karena pilihan teknologi pengembangan web masih terbatas. Pilihan lainnya cuma apa? Perl? PHP membuat pengembangan aplikasi web menjadi lebih demokratis. Orang bikin berkas PHP, unggah berkas itu lewat FTP, dan aplikasi web langsung bisa jalan. Semua perusahaan penerimaan aplikasi web (hosting) mempunyai jasa penerimaan berbagi (shared hosting) yang mendukung PHP. Kemudian muncullah aplikasi legendaris seperti WordPress, Joomla, Drupal.

Tapi dengan seiring banyaknya orang yang terjun ke pemrograman web, dan tidak semua orang itu memiliki kemampuan lebih dan disiplin dalam mengembangkan aplikasi web, maka muncullah kesalahan-kesalahan dan keteledoran-keteledoran yang mencemari nama baik PHP. Hal ini diperburuk dengan desain antarmuka pemrograman aplikasi (API) yang membuat orang bingung seperti array_search di mana orang sering lupa parameter pertama itu jerami (data) atau jarum (hal yang dicari).

$a = array(1, 2, 3);
array_search(2, $a);

Bandingkan dengan Python yang memiliki API yang lebih bersahabat, yaitu index yang dikaitkan dengan objek yang merupakan data tersebut, misalnya:

a = [1, 2, 3]
a.index(2)

Orang menjadi kesal dan memutuskan untuk beralih ke bahasa lain. Lahirlah Ruby on Rails yang popularitasnya terbang tinggi ke angkasa. Python pun melahirkan kerangka pengembangan Django. Lalu Go lahir dan merebut hati-hati orang.

Oh ya, mengenail sural pembaca buku saya…. Begini surel yang saya kirim sebagai balasan:

1. PHP masih hidup kok

Iya benar, di Indonesia, perusahaan-perusahaan terkenal, misalnya unicorn-unicorn Indonesia, gak pakai PHP di peladen mereka.

Tokopedia pakai Go.
Gojek pakai Ruby, Clojure, Java.
BukaLapak pakai Ruby, Go.
Traveloka pakai Java.

Tapi menurut penelitian, masih banyak situs yang memakai PHP. Sampai lebih dari 75%!
https://kinsta.com/blog/is-php-dead/

Jadi PHP bakal memberi keamanan pekerjaan (job security) bagi Anda.

Betul, hanya karena banyak pekerjaan, belum tentu PHP adalah teknologi ideal. Mungkin pekerjaan-pekerjaan PHP hanya memberi gaji kecil.

Apa gunanya ribuan lowongan pekerjaan PHP tapi gaji yang ditawarkan kalah jauh dengan lowongan pekerjaan teknologi lain yang lebih sedikit tapi gajinya lebih tinggi?

Tapi…. di luar perusahaan-perusahaan terkenal (yang harusnya bisa menggaji lebih tinggi dari rata-rata) masih pakai PHP kok.

iPrice (Malaysia) membutuhkan pemrogram PHP.
https://stackoverflow.com/jobs?id=385408

Urban Sports (Jerman) membutuhkan pemrogram PHP.
https://stackoverflow.com/jobs?id=335938

Sam Media (Malaysia) membutuhkan pemrogram PHP.
https://stackoverflow.com/jobs?id=392483

Adam Wathan (Tailwind CSS) membutuhkan pemrogram PHP jarak jauh (remote).
https://twitter.com/adamwathan/status/1260629589803634689
https://jobs.tailwindui.com/full-stack-developer

Taylor Otwell (Laravel) membutuhkan pemrogram PHP jarak jauh.
https://twitter.com/taylorotwell/status/1254434614111809536

Automattic (WordPress, Jetpack, WooCommerce) membutuhkan pemrogram PHP jarak jauh.
https://automattic.com/work-with-us/software-engineer/

Slack juga pakai PHP.
https://slack.engineering/taking-php-seriously-cf7a60065329

2. Jangan taruh semua telur dalam 1 keranjang

Jangan cuma belajar PHP. Tapi belajar juga bahasa lain. Minimal 2 bahasalah untuk peladen (backend). Satu bahasa sudah dipilih: PHP.
Nah pilih bahasa lain. Pilih antara bahasa Go, Ruby, Java, atau Python. Mereka adalah bahasa populer untuk peladen. Misalnya Anda pilih bahasa Ruby. Belajar bahasa Ruby juga selain PHP. Terus belajar juga
kerangka pengembangan webnya, yaitu Ruby on Rails.

3. Jangan cuma belajar kerangka pengembangan web CI (CodeIgniter)

Tapi belajar juga kerangka pengembangan web Laravel. Laravel sekarang adalah kerangka pengembangan web PHP yang paling
populer entah dilihat dari Github atau Google Trends. Symfony kalah ngetren daripada Laravel tapi memiliki kontributor yang lebih banyak daripada Laravel. Sementara itu CI kalah dari sisi manapun.
Jadi sepertinya Laravel memegang puncak klasemen sampai saat ini.

https://github.com/laravel/laravel

https://github.com/codeigniter4/CodeIgniter4

https://github.com/symfony/symfony

https://trends.google.com/trends/explore?geo=US&q=Laravel,CodeIgniter,Symfony

https://trends.google.com/trends/explore?geo=ID&q=Laravel,CodeIgniter,Symfony

4. Belajar keahlian universal

Terlepas dari bahasa pemrograman / kerangka pengembangan web yang Anda pilih, ada beberapa kemampuan universal yang harus dimiliki oleh pemrogram, misalnya tes, CI/CD, kode bersih, algoritma, basis data (database), git, jaringan/internet, kriptografi, aplikasi peladen (Nginx/Apache Httpd), dan lain-lain. Jadi belajar juga hal-hal ini.

Contoh kasus: Tahukah Anda bagaimana HTTPS bekerja? Dapatkah Anda menjelaskan HandShake? Dapatkah Anda mengkonfigurasi penyeimbang tekanan (load balancer) dengan Nginx? Dapatkah Anda memasang aplikasi PHP di AWS/GCP/Azure dan memasang Redis yang tersambung ke aplikasi PHP Anda?

Jadi jika Anda adalah pemrogram PHP dan paham semua hal-hal universal ini tapi Anda melamar pekerjaan sebagai
pemrogram dengan bahasa lain, ada kemungkinannya perusahaan bakal tetap menerima Anda. Anda tentu saja diharapkan untuk mempelajari bahasa baru di perusahaan itu.

5. Perdalam kemampuan PHP

Semakin dalam kemampuan PHP semakin tinggi kemungkinan Anda untuk mendapatkan pekerjaan dengan gaji tinggi. Jangan cuma belajar cara baca berkas, pengulangan (loop) dan merasa cukup. Tapi belajar juga hal-hal lain seperti pola desain (design pattern), koleksi sampah
(garbage collection), keamanan (security), DTrace dynamic tracing, dan lain-lain.

https://www.php.net/manual/en/

6. Bangun Portfolio PHP

Jika Anda ingin jadi pemrogram PHP gaji tinggi, bangun portfolio yang bagus. Misalnya kontribusi ke kerangka pengembangan
web CI, atau Laravel, atau Symfony, atau WordPress.

7. Menyelam Lebih Dalam Lagi

Belajar ngoprek aplikasi terkenal dari PHP, seperti WordPress, Magento, atau WooCommerce. Jangan cuma pasang (install) WordPress dan bangga. Tapi coba bikin pengaya (plugin) WordPress. Coba baca dan pahami kode Magento.

Sekian surel saya.

Nah, betul kadang kita harus melihat tren untuk memilih teknologi. Teknologi apakah yang dipakai oleh perusahaan-perusahaan yang berduit? Tidak ada orang yang peduli jika Anda adalah pemrogram Haskell dan menganggap Haskell adalah bahasa terbaik di seluruh dunia tapi perusahaan-perusahaan berduit memakai Node.js. Yah, Anda harus belajar Node.js kalau mau dapat gaji tinggi. Tidak ada yang peduli apakah Anda memiliki opini bahwa Haskell itu 100x lebih baik daripada Node.js.

Tapi PHP masih hidup dan sehat walafiat. Betul, popularitasnya menurun. Tapi PHP masih dominan. Betul, PHP bahasanya kurang afdol. Tapi dengan PHP 7.4, banyak kelemahan-kelemahan yang diperbaiki, misalnya typed properties, arrow functions, dan lain-lain. PHP juga punya kerangka pengembangan Laravel yang memiliki baterei lengkap untuk mengembangkan aplikasi web dengan cepat. Bahkan Laravel memiliki Spark yang bisa membantu Anda mengembangkan aplikasi web dengan lebih cepat lagi.

Jika aplikasi yang Anda ingin buat adalah blog, Anda tinggal menggunakan WordPress dan dengan kemampuan PHP, Anda bisa membuat sesuatu yang hebat di atas WordPress. Betul, banyak aplikasi blog sekarang yang mulai merebut hati orang seperti Gatsby, Ghost, Jekyll, dan lain-lain tapi WordPress masih merupakan aplikasi blog yang paling banyak dipakai. Bahkan Anda bisa menggabungkan Gatsby dengan WordPress. Gatsby menyediakan blog bagi orang luas. WordPress menyediakan penulisan blog bagi orang dalam.

Untuk aplikasi el-niaga (e-commerce), Anda tinggal mengembangkan aplikasi web el-niaga dengan WooCommerce atau Magento. Dengan menggunakan bahasa PHP, Anda bisa menjual solusi el-niaga kepada klien yang membutuhkan situs el-niaga yang dibuat sesuai pesanan.

Jadi jangan khawatir akan masa depan sebagai pemrogram PHP. Yang penting Anda mesti giat meningkatkan ilmu pemrogram PHP Anda. Jangan cuma bangga bisa bikin aplikasi PHP yang menerima data dari formulir dan memasukkan data ke basis data MySQL. Tapi bisakah Anda menangani jutaan permintaan (request) ke aplikasi web Anda? Nah kalau Anda bisa, Anda layak dapat b̶i̶n̶t̶a̶n̶g gaji tinggi.

Categories
javascript wealth

Mendulang Emas di Dunia JavaScript yang Edan

JavaScript adalah salah satu bahasa pemrograman yang paling populer di dunia. Salah satu alasannya karena dulu JavaScript adalah satu-satunya bahasa yang Anda bisa pakai di tampak-muka web. Sekarang sudah ada bahasa lain yang bisa digunakan selain JavaScript, yaitu TypeScript, Elm, Dart. Tapi JavaScript tetap memegang tombak kepemimpinan di dunia tampak muka karena JavaScript sudah memegang manfaat gerakan-pertama (first-move advantage). Di samping itu JavaScript juga tidak membutuhkan proses yang ribet, seperti kompilasi (kecuali Anda menggunakan versi terbaru JavaScript).

Google mengeluarkan mesin JavaScript V8 yang akhirnya digunakan oleh seorang pemrogram untuk membuat Node.js. JavaScript pun berekspansi ke dunia peladen juga selain dunia tampak-muka. Orang-orang mulai menggunakan JavaScript sebagai bahasa pemrograman peladen. Artinya apa? Orang tidak perlu belajar dua bahasa lagi untuk membuat aplikasi web. Dengan satu bahasa utama, yaitu JavaScript, orang bisa menjadi pemrogram seluruh tumpukan (fullstack engineer). Dulu orang harus belajar bahasa lain untuk mengerjakan bagian peladen, misalnya PHP, Ruby, Perl, Java, atau Python.

Kemudian JavaScript pun menempati pangkalan aplikasi desktop. Electron adalah kerangka pengembangan yang popular dalam membuat aplikasi desktop. Alasannya adalah dengan menggunakan bahasa pemrograman yang populer, yaitu JavaScript, Anda dapat membuat aplikasi multiplatform, aplikasi yang bisa digunakan di platform Windows, Mac, dan Linux. Tidak perlu lagi bikin aplikasi 3 kali. Banyak aplikasi populer yang menggunakan Electron, seperti Visual Studio Code, Slack, Spotify, dan lain-lain.

Kemudian JavaScript masuk ke bahasa pemrograman yang digunakan untuk membuat aplikasi seluler. React Native adalah kerangka pengembangan yang sangat populer untuk membuat aplikasi seluler multiplatform, aplikasi seluler di atas platform Android dan iOS. Tidak perlu aplikasi seluler 2 kali.

Bahkan JavaScript ikut-ikutan masuk menjadi bahasa pemrograman di Pembelajaran Dalam (Deep Learning) dengan Tensorflow.js. Tapi untuk yang satu ini, JavaScript masih kalah populer dibandingkan Python. 😀

Tapi di balik kejayaan JavaScript, ada banyak masalah yang tertimbun. Masalah-masalah ini ada yang sampai membuat pemrogram-pemrogram menjadi letih untuk mengerjakan pemrograman tampak-muka. Ada yang meninggalkan dunia pemrograman tampak-muka untuk bekerja di dunia pemrograman lain seperti pemrograman peladen atau pemrograman aplikasi seluler. Dunia pemrograman tampak-muka menjadi sangat kompleks. Perkembangan teknologinya begitu pesat sehingga dibutuhkan penulis penuh-waktu untuk mengikuti perkembangan teknologi di dunia JavaScript.

Berlalu sudah dunia JavaScript yang sederhana di mana Anda cukup menggunakan jQuery untuk membantu Anda dalam membuat aplikasi web antar-muka yang dinamis. Sekarang sudah lazim orang menggunakan kerangka pengembangan JavaScript yang super kompleks misalnya React, Vue, Angular, Ember, dan masih banyak lagi lainnya. Setiap tahun sepertinya muncul kerangka pengembangan JavaScript yang baru.

NPM adalah tempat di mana pustaka Node.js hidup. NPM mirip dengan PyPi (Python), Maven Repository (Java), RubyGems (Ruby). Untuk memasang pustaka JavaScript dari NPM, orang tinggal melakukan perintah ini:

$ npm install pustakayangmaudipasang

Masalahnya ada orang jahat yang sempat berhasil mengunggah pustaka di NPM yang mencoba untuk mencuri kunci privat (private key) Bitcoin. Ada pustaka yang namanya Event-Stream yang digunakan oleh aplikasi dompet Copay. Pemelihara pustaka ini kehilangan minat dan tidak punya waktu lagi untuk memelihara pustaka Event-Stream dan menyerahalihkan kepemilikan pustaka Event-Stream ke seorang pemrogram lain. Pemelihara baru ini kemudian memasang kode jahat yang mencoba untuk mencuri kunci privat Bitcoin.

Selain itu entah kenapa NPM menarik banyak pemrogram yang membuat pustaka sangat pendek, misalnya modul dengan fungsi 1 baris. Banyak pustaka atau aplikasi yang tergantung dari modul seperti ini sehingga ketika terjadi masalah, ada efek dominonya. Misalnya, modul 1 baris membuat pustaka create-react-app menjadi rusak. Masalah ini bukan kali pertama terjadi. Pada tahun 2016, seorang pemelihara modul di NPM menarik semua modulnya. Salah satu modulnya bernama left-pad yang digunakan oleh banyak modul lainnya. Akhirnya ribuan modul JavaScript menjadi rusak (termasuk pustaka populer Babel).

Tapi ada masalah, ada peluang. Di tengah kekacauan di dunia JavaScript, ada peluang untuk mendulang emas. Masalah-masalah terjadi karena banyaknya orang / energi / duit yang dilemparkan di dunia JavaScript. Sejelek-jeleknya JavaScript lebih baik daripada bahasa pemrograman yang sepi masalah karena hampir tidak dipergunakan oleh orang lain, seperti <disensor>.

Bagaimana cara mendulang emas di dunia JavaScript yang edan? Ah, saya senang Anda menanyakan pertanyaan itu.

👩‍💼 Mencari Kerja sebagai Pemrogram JavaScript

Ada banyak lowongan pekerjaan sebagai pemrogram JavaScript. Ini adalah salah satu dari sekian dikit bahasa pemrograman yang memberi keamanan pekerjaan. Hampir semua perusahaan membutuhkan aplikasi web. Sebagian besar aplikasi web menggunakan tampak-muka yang sebagian besar ditulis dengan JavaScript. Memang ada aplikasi web yang cuma menggunakan aplikasi seluler sebagai klien. Peladen mereka hanya mengeluarkan JSON saja.

Ada banyak lowongan pekerjaan pemrogram JavaScript di Indonesia. Saya cuma melihat bagian “Web Development” belum “Mobile Development”. Seperti yang kita tahu, React Native adalah kerangka pengembangan JavaScript yang populer dalam membuat aplikasi seluler.

Ada banyak juga lowongan pekerjaan jarak jauh sebagai pemrogram JavaScript.

🏫 Mendirikan Bootcamp JavaScript

Permintaan atas pemrogram JavaScript naik tapi persediaannya terbatas sehingga diciptakanlah bisnis bootcamp. Orang-orang diajari pemrograman JavaScript selama beberapa bulan sebelum dilepas ke perusahaan-perusahaan yang membutuhkan pemrogram JavaScript.

Bootcamp yang terkenal di Indonesia adalah bootcamp Hacktiv8. Perintis ini baru mendapatkan modal dari pemodal ventura sebesar 3 juta USD. Mereka sudah membangun cabang di tempat lain di luar markas mereka yang terletak di Pondok Indah. Badan-badan tertentu memproyeksikan bahwa jumlah lowongan-lowongan pekerjaan pemrogram akan menjadi tinggi beberapa tahun ke depan sementara talentanya masih sedikit.

🏗️ Mengembangkan Kerangka Pengembangan JavaScript

Evan Yue mengembangkan kerangka pengembangan JavaScript yang bernama Vue. Dia didukung oleh sistem donasi Patreon.

Pada tahun 2013, Evan Yue masih bekerja di Google. Dia menciptakan pustaka Vue. Dia mengerjakan semuanya di waktu luang. Jadi ada waktu di mana dia berminggu-minggu tidak menyentuh Vue karena kesibukannya.

Pada tahun 2015, Evan Yue menghabiskan seluruh waktu liburannya untuk mengerjakan improvisasi terhadap Vue. Vue dengan versi 1.0 keluar.

Pada tahun 2016, Evan Yue memutuskan untuk bekerja penuh waktu untuk mengembangkan pustaka Vue. Dia hidup dari tabungan pada awal-awalnya. Rencana dia adalah kalau uang dia sudah habis, dia akan mencari pekerjaan baru. Dia berusaha mencari sokongan dari perusahaan-perusahaan. Jika perusahaan itu menyumbang uang sekian, perusahaan itu bisa memasang logonya di situs Vue.

Pada tahun 2017, Evan Yue menembus angka donasi 10 ribu USD per bulan. Pada tahun 2018, Evan Yue mempekerjakan orang untuk membantu dia dalam mengembangkan pustaka Vue.

Dari sisi kompetitor Vue, yaitu React, ceritanya sedikit berbeda.

Pada tahun 2014, pustaka React.js diluncurkan ke publik. Dan Abramov, seorang pemrogram yang tinggal di Rusia, berkontribusi ke React.js. Dia juga memberi presentasi tentang React.js di temu jumpa BerlinJS. Kemudian pada tahun 2015 dia menciptakan pustaka Redux. Pada tahun itu juga dia pergi ke konferensi teknikal di Paris. Dia bertemu dengan Jing Chen yang bekerja di Facebook. Mereka sudah sering berdialog di saluran React di IRC. Sebelumnya Dan Abramov sudah dikontak oleh perekrut Facebook cuma perbincangannya menjadi stagnan karena Dan Abramov tidak memiliki ijazah S1 (dia tidak menyelesaikan pendidikan kuliah). Dan Abramov bilang dia tidak bisa mendapatkan visa Amerika Serikat. Kemudian Jing Chen menawari pekerjaan di London. Dan Abramov diwawancarai di tempat di mana konferensi teknikal itu diselenggarakan juga. Akhirnya Dan Abramov mendapatkan pekerjaan di Facebook.

✍️ Menulis Buku tentang JavaScript

JavaScript mungkin adalah bahasa pemrograman yang sederhana bagi pemrogram tertentu tapi ekosistemnya sangat rumit. Dunia JavaScript (termasuk pustaka, ekosistem, perambah, dan lain-lain) itu seperti labirin yang membuat banyak orang tersesat. Maka dibutuhkanlah panduan untuk memahami JavaScript termasuk kerangka pengembangannya.

Menulis buku tentang JavaScript adalah prospek yang menggiurkan karena jumlah potensial pembaca (dan pembeli) buku-buku JavaScript itu sangat besar. Misalnya buku tentang kerangka pengembangan Angular bisa mendapat 400 ribu USD per tahun (penghasilan kotor) untuk 2 tahun pertama. Itu adalah penjualan dari penerbit. Royaltinya sekitar 50% untuk pengarang yang menggunakan penerbit itu.

Dokumentasi resmi di situs proyek kode terbuka saja kadang tidak cukup untuk memahami kegilaan JavaScript. Makanya penulis buku tentang JavaScript bisa memberi nilai lebih untuk menyelesaikan titik sakit ini.

📺 Membuat Video Pelatihan JavaScript

Ada sebagian orang yang lebih suka belajar tentang JavaScript dari video ketimbang tulisan. Bermuncullah video-video tutorial tentang JavaScript. Orang sering pergi ke Udemy untuk membeli video-video tentang JavaScript. Instruktur yang sangat populer adalah Maximilian Schwarzmüller. Penghasilan dari penjualan video di Udemy yang bakal masuk ke kantong instruktur adalah 50% (untuk pemasaran organik). Salah satu kursus Maximilian yaitu React – The Complete Guide (incl Hooks, React Router, Redux), dibeli sebanyak hampir 250 ribu. Harga video tutorial di Udemy bervariasi. Tapi jika Anda sabar, biasanya harga bisa turun menjadi sekitar 10 USD atau sekitar Rp 140 ribu. Anda bisa hitung sendiri berapa yang didapat oleh Maximilian.

Ada juga yang menerapkan sistem langganan, jadi bukan bayar lepas seperti Udemy. Misalnya Vue School. Pelanggan membayar 25 USD per bulan. Bayar per tahun lebih murah. Ada juga opsi bayar sekali untuk akses seumur hidup. Mereka mengaku punya 60.000 pengguna. Tidak jelas apakah pengguna ini adalah pengguna premium saja atau termasuk pengguna gratisan saja.

Ada juga yang lebih luas daripada sekadar pelatihan Vue dan menggunakan sistem langganan, yaitu egghead.io. Untuk berlangganan orang harus membayar 350 USD per tahun. Sebagian dari biaya langganan ini akan diteruskan ke proyek kode terbuka. Kursus mereka meliputi Angular, Vue, React, GraphQL, bahkan hingga Git.

🦄 Membangun Perintis

Anda bisa membangun perintis berdasarkan teknologi JavaScript. Bukan, yang saya maksud bukanlah membangun perintis dengan teknologi JavaScript. Misalnya Anda membangun perintis pencucian baju berdasarkan permintaan (on-demand laundry). Anda menggunakan Node.js dan kerangka pengembangan web Express.js untuk membuat aplikasi web. Bukan itu maksud saya. Tidak ada yang salah sih menggunakan JavaScript untuk membuat aplikasi web di perintis.

Yang saya maksudkan adalah membangun perintis berdasarkan teknologi JavaScript.

Pada suatu hari seorang pemrogram yang bernama Kyle Matthews membuat kerangka pengembangan aplikasi web statis dengan kerangka pengembangan JavaScript React. Namanya Gatsby. Dengan Gatsby Anda dapat membuat aplikasi web statis dengan fleksibilitas aplikasi web dinamis. Gatsby memberi beberapa kelebihan kepada Anda dibandingkan jika Anda menulis aplikasi web dengan HTML + CSS + JavaScript secara manual. Anda bisa menggunakan sumber data seperti MarkDown, REST, WordPress. Anda dapat juga mengemulasi aplikasi web dinamis (sampai tahap tertentu). Karena web Anda adalah statis berarti untuk pemasangan web Anda membutuhkan harga yang lebih murah karena Anda tidak membutuhkan aplikasi peladen seperti PHP, atau Ruby. Untuk sebagian besar situs web statis, Anda bisa menaruhnya secara cuma-cuma di GitHub Pages atau Netlify.

Kemudian Gatsby mendapat pendanaan dari pemodal ventura. Model bisnis mereka ada di awan. Jadi aplikasi web statis itu berisikan halaman-halaman statis. Tapi untuk mendapatkan halaman-halaman statis itu Anda mesti melakukan langkah bangun (build). Setelah itu halaman-halaman statisnya ditaruhlah di awan. Untuk situs yang cuma punya 5 halaman dan diubah sekali setahun, Anda tidak membutuhkan layanan premium dari Gatsby. Tapi ketika situs Anda sudah memiliki ribuan halaman, langkah bangun itu akan menjadi lama sekali. Gatsby menawarkan layanan bangun tambahan di awan jika Anda mau berpisah dengan sebagian uang Anda.

Saya jelaskan sekali lagi model bisnis Gatsby sehingga Anda bisa menghayati apa yang ditawarkan oleh perintis Gatsby. Ketika Anda menggunakan situs aplikasi web dinamis dengan bahasa PHP misalnya, harus ada aplikasi peladen yang mengeksekusi kode PHP (biasanya Apache Httpd atau Nginx dengan pengaya pengeksekusi PHP). Misalnya Anda punya 5 halaman yang memiliki bagian kepala (header) berisikan kode PHP yang sama, bagian kepala itu akan dieksekusi sehingga kita mendapat hasil dalam bentuk HTML.

<?php
// Berkas bagian kepala, header.php
echo "Bagian Kepala";
?>
<?php
// Berkas halaman 1, halaman1.php
include 'header.php';
echo "Halaman 1";
?>

Jika Anda mengubah berkas bagian kepala, semua 5 halaman itu akan mendapatkan perubahannya.

Bandingkan dengan Gatsby. Hal yang serupa terjadi juga. Tapi Anda mesti bangun (build) semua berkas itu sehingga Anda mendapatkan berkas HTML saja sebelum ditaruh di awan. Paham?

Pembangunan berkas-berkas itu bakal menjadi rumit ketika aplikasi web statis Anda menjadi besar. Cukup tentang Gatsby.

Nuxt.js baru saja mendapatkan pendanaan dari pemodal ventura. Nuxt.js adalah kerangka pengembangan yang dibuat di atas kerangka pengembangan Vue.js.

Gatsby dan Nuxt.js membutuhkan aplikasi untuk membuat konten statis yang biasanya berformat MarkDown. Situs profil perusahaan mungkin tidak butuh alat khusus. Tapi kalau Anda membuat Sistem Manajemen Konten atau CMS, Anda akan terbantu dengan alat khusus. Forestry membuat penggubah konten di atas Git. CMS harus bisa gampang diakses oleh pengisi konten yang tidak teknikal. Penggubah teks ini memiliki tampak-muka yang bersahabat untuk menggubah konten. Selain itu, penggubah konten ini memiliki sistem yang bisa mendorong konten ke repositori Git dan langsung terserbar ke tempat produksi. Mereka menggunakan sistem langganan.

Masih banyak lagi lainnya cara untuk mendulang emas di dunia JavaScript yang edan ini. Yang saya lihat Jamstack sudah mulai populer sehingga ada banyak kesempatan di sini. GraphQL juga populer sebagai sumber data (kita akan bahas di lain waktu) dan terkait erat dengan JavaScript. Kerangka pengembangan web Svelte naik daun juga. Mungkin Anda bisa membangun kerangka pengembangan di atas Svelte seperti Nuxt.js di atas Vue, atau seperti Gatsby di atas React? Deno sebentar lagi akan rilis secara resmi. Apakah Deno akan menyalip popularitas Node.js, hanya waktu yang akan menjawab. Jika Deno bakal sukses, banyak hal yang bisa dibangun di atas pengganti Node.js ini.

Tapi hati-hati, ada sebagian jalan mencari kekayaan di dunia JavaScript yang haram hukumnya.