Salah satu masalah besar dalam menggunakan Windows untuk WebProgramming adalah sebagian server yang nantinya akan digunakan nantinya menggunakan OS Linux. Perbedaan environment ini dapat menyebabkan masalah ketika melakukan deploy aplikasi ke server. Salah satu masalah yang pernah saya derita adalah perbedaan case sensitivity antara Windows dan Linux. Dalam windows sistem sebagian besar bersifat case insensitive . Sehingga folder yang bernama "laporan" dan "Laporan" adalah sama. Namun ketika anda deploy aplikasi ke Server yang menggunakan Linux, ini dapat menimbulkan masalah apabila dalam aplikasi anda menuliskan hal berbeda dalam kodenya. 

Masalah lain adalah kemudahan instalasi banyak aplikasi, di windows anda harus mendownload installer aplikasi terlebih dahulu untuk menginstall aplikasi contohnya adalah Ruby. Pada Linux anda cukup melakukan apt-get (untuk debian base Linux seperti Ubuntu) atau yum (untuk redhat base seperti Fedora, namun sekarang Fedora 23 sudah menggunakan dnf) pada terminal dan aplikasi anda akan terinstall dengan sendirinya. Kedua hal tadi merupakan satu sedikit alasan Webprogramming dan Windows tidak begitu bersahabat. Pada intinya, jika server anda menggunakan Linux maka anda harus menggunakan environment pengembangan yang mendekati server anda.

Latar Belakang

BASH adalah text-based shell populer yang secara default ada dalam distro-distro Linux, salah satunya Ubuntu (bahkan MacOS juga menggunakan Bash pada terminal).

Ditujukan untuk programmer dan developer, Windows menyediakan fitur yang masih beta bernama Windows Subsystem for Linux atau biasa disebut wsl saja. Wsl dapat digunakan pada Windows 10 Anniversary Update Build 14393 ke atas versi 64 bit. Wsl hanya dapat berjalan pada Windows 10 dengan developer mode yang sudah diaktifkan. 

WSL Bisa Apa?

Dalam tulisan yang ditulis Jack Hammons menyebutkan bahwa beberapa hal yang dapat dilakukan wsl antara lain sebagai berikut:

  1. Menjalankan perintah umum dalam Linux Bash seperti grep, sed dan awk
  2. Melakukan navigasi pada file system menggunakan bash Linux
  3. Menjalankan bash shell script

Dalam Ubuntu Insight yang ditulis Dustin Kirkland menyebutkan bahwa wsl dapat menjalankan banyak perintah yang dapat digunakan pada Ubuntu (kecuali yang berhubungan dengan GUI dan DE). Artinya anda dapat menjalankan perintah yang biasanya anda gunakan pada Ubuntu native.

Yes, that means  apt,  ssh,  rsync,  find,  grep,  awk,  sed,  sort,  xargs,  md5sum,  gpg,  curl,  wget,  apache,  mysql,  python,  perl,  ruby,  php,  gcc,  tar,  vim,  emacs,  diff,  patch


Jika kita perhatikan maka wsl dapat jadi solusi kita untuk menjadikan windows kita memperoleh Linux Environment dalam pengembangan aplikasi kita. Dalam tulisan Jack Hammons tadi disebutkan bahwa penggunaan wsl utamanya dikembangkan untuk memberikan kemudahan bagi developer dan programmer dalam menggunakan nodejs-npm, python, Ruby, Perl, menggunakan Git, vi, emacs, dan tentunya yang tidak ada di windows yaitu ssh.

Bagaimana instalasinya? Bagaimana dengan LAMP server? Untuk hal tersebut akan saya coba pada tulisan berikutnya. Untuk instalasi secara singkat dapat anda lihat pada video ini.

Semoga bermanfaat dan Happy Coding!


Sumber:

https://msdn.microsoft.com/en-us/commandline/wsl/about# 

http://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the-ubuntu-userspace-for-windows-developers/