TechTalk #85: Latest Frontend Technology

Akhirnya, setelah sekian lama, TechTalk muncul lagi. Dan tau-tau udah episode 85. :D. Saya agak telat sih, jadi kurang tau yang bagian depan. Ohya materi episode ini Latest Frontend Technology yang dibawakan oleh Mas Rijalul Fikri.

Build Tools

Saya masuk udah sampai bagian build tools. Di presentasinya, sekarang ini build tools bisa dibagi menjadi 3 generasi:

  1. First Gen. Kita mengenal make untuk proses build.
  2. Second Gen. Yang masuk di sini ada Grunt, Gulp, Broccoli, dll.
  3. Third Gen. Ada Browserify, Webpack, JSPM.

Jaman Grunt masih baru dulu, saya ngga tau itu gunanya buat apa. Lama kelamaan jadi tau, dengan Grunt kita bisa compile SCSS/Less ke CSS, optimize image, dan copy resources dengan sekali perintah di terminal. Tapi yang paling terasa dari Grunt adalah waktu prosesnya lama karena tiap hasil dari proses akan di-write ke hardisk, lalu di-read, baru diproses selanjutnya, dan begituseterusnya sampai porses terakkhir. Nah dari situ muncul Gulp. Di Gulp hasil dari proses akan di-pipe ke proses lain dan baru akan di-write pada proses terakhir.

Tapi belakangan muncul juga tren menggunakan NPM langsung sebagai build tool. Alasannya lebih simpel dan tidak perlu file config yang kadang kita malah lebih sibuk ngurusin confignya. :p Bisa dibaca di:

Browserify saya masih sebatas baca-baca situsnya. Webpack baru coba sore ini gegara kebelet ngetes VueJS. JSPM baru denger kemarin dan setelah dibuka webnya baru inget pernah buka ini. 😐

Live Editing

Bahasan selanjutnya ada tentang live editing. Mas Fikri juga membagi ini jadi 3:

  1. First Gen. Our good ol’ friend, ctrl-r
  2. Second Gen. Masuk kategori ini LiveReload dan BrowserSync
  3. Third Gen. Hot Reload.

Untuk LiveReload saya belum pernah pakai. BrowserSync pernah sebatas coba-coba. Hot Reload? Baru ngetren belakangan, belum sempat baca-baca. Bahkan saya ragu nulis istilahnya dengan benar. :/

Di second gen. kita dienakkan dengan refresh browser otomatis ketika kita menyimpan file. Nah kalau hot reload, browser sama sekali enggak refresh, tapi kontennya berubah, tapi statenya tetep, karena semua perubahan ada di memori (begitu kata mas Fikri).

Todo: ngulik lebih jauh tentang hot reload

React

Siapa yang nggak tau React? A JavaScript library for building user interfaces. 😐

Library yang lagi ngetren di kalangan frontenders. Pertama saya tau dan baca-baca React beberapa bulan lalu, langsung bingung dengan HTML di dalam javascript, yang belakangan ternyata itu namanya JSX. Saya belum ngulik jauh sih, dan belum nemu alasan yang pas kenapa saya harus pakai React. Kalau saya lihat soalnya ini njlimet. Belum lagi ES6 yang juga baru dengar belakangan ini.


Kalau bicara frontend kayanya banyak banget tool-tool atau library baru yang terus bermunculan, bahkan mungkin kita belum sempat ngulik ini, itu udah rilis dan terlihat lebih seksi. Tapi tantangan sih biar kita terus belajar dan nggak ketinggalan kereta. 🙂

Boleh dibuka: How to Keep Up to Date on Front-End Technologies

 

Belajar Menggunakan Bower

Bower adalah salah satu package manager untuk pengembangan front-end web. Sesuai kategorinya, Bower berfungsi untuk memudahkan kita mengatur paket atau library apa saja yang kita butuhkan saat mendevelop suatu aplikasi, dalam hal ini front-end (css/js). Kita tidak perlu repot untuk mendownload library satu-per-satu ketika akan menggunakannya. Begitu juga ketika ada versi baru dari library tersebut. Cukup dengan mengetikkan satu perintah dan voila, semuanya akan terdownload secara otomatis.

Hampir semua library yang terdapat di repositori publik dapat diambil menggunakan Bower. Biasanya repo-repo ini ditempatkan di Github oleh pemiliknya dan bersifat open-source. Nah sekarang kita coba untuk menggunakan Bower.

Install Git dan NodeJS

Ada 2 software yang menjadi ketergantungan si Bower ini, yaitu Git dan NodeJS. Jadi silahkan install terlebih dulu kedua software Keduanya bisa diperoleh di:

Install Bower

Untuk menginstall bower, kita menggunakan NPM (Node Package Manager) yang sudah terpasang saat kita menginstall NodeJS. FYI, NPM ini cara kerjanya juga sama dengan Bower. 😀 Kita pasang Bower dengan perintah berikut:

$ npm install -g bower

Jika muncul error permission denied, jalankan lagi perintah itu dengan sudo.

Menggunakan Bower

Sebelumnya pindah dulu ke direktori proyek kita. Jika kita memulai proyek baru, maka bisa menggunakan perintah:

$ bower init

Kemudian kita akan diberikan wizard untuk mengisi beberapa detail tentang proyek kita (kepo deh). Setelah itu kita bisa menginstall paket-paket yang kita butuhkan. Misal kita akan menginstall Twitter Bootstrap:

$ bower install bootstrap --save

Perintah ini otomatis akan men-download semua file Bootstrap yang siap digunakan. Tidak ketinggalan juga library yang dibutuhkan Bootstrap, seperti jQuery, juga akan otomatis ter-download. Dengan opsi --save maka library yang kita install otomatis akan ditambahkan ke file bower.json. Kita bisa mengedit file ini langsung kemudian jalankan perintah:

$ bower install

Maka semua library yang tertulis di bower.json akan di-download, dan lagi-lagi secara otomatis juga men-download apa yang mereka butuhkan. Awesome! 😮

Lebih jauh tentang Bower, mangga dicek di webnya bower.io. :))

P.S. Mas Rahmat Awaludin punya video bagus buat kenalan dengan Bower di Malescast.