Serba Serbi Web App
Oke sebelumnya saya telah membahas terkait bahasa pemrograman dan komputer, sekarang adalah web app, sesuatu yang sering anda dengar "website, google, search engine, server". Apa itu web app? pada bab sebelumnya kita bahas bahwa untuk menjalankan program kita butuh compiler atau intepreter, namun untuk setiap bahasa pemrograman tidak selalu sama compiler dan intepreternya. Maka dari itu biasnaya kita perlu install aplikasi tambahan seperti NPM, JDK, Python dan sebagainya.
Selanjutnya ketika anda ingin hasil program anda dapat digunakan banyak orang, maka anda perlu membuat aplikasi native agar bisa langsung berjalan di OS. Tetapi tidak semua OS bisa mengerti dengan native app anda, bahkan berbeda secara fitur dan konfigurasi. Atau ada cara lain yakni dengan mengirim kode program mentah anda ke orang lain dan meminta mereka menginstall aplikasi tambahan seperti python, JDK, NPM. Namun itu perlu konfigurasi dan pemahaman, bagaimana jika orang itu tidak paham, atau ternyata ukuran aplikasi anda besar dan tidak bisa di komputernya?.
Maka dari itu banyak sekarang orang yang mendistribusikan aplikasinya melalui website. Sehingga kita dapat mendistribusikan aplikasi kita dengan banyak orang tanpa konfigurasi dan ketentuan yang ribet. Kita hanya tinggal membuat program yang berada di server, dan ketika ada orang yang ingin menggunakannya maka ia tinggal panggil si server itu.
Nah lalu bagaimana cara server mengetahui ada orang yang meminta dan bagaimana ia mengirimkannya?.
Sebelumnya telah dibahas bahwa komputer tidak mengerti bahasa manusia, maka ketika anda mengirim data atau file itu akan dibuat menjadi bahasa yang dimengerti komputer. Selanjutnya pada data tersebut anda harus memberikan alamat siapa penerima dari data tersebut, dan agar data tersebut bisa di transfer ia perlu perantara seperti jaringan kabel atau wireless. Kabel akan meneruskan aliran listrik ke komputer lain dan dibaca, sedangkan wireless seperti wifi menggunakan perantara gelombang elektromagnetik.
Nah komputer akan menerima data tersebut, ada aplikasi yang bertugas menjadi gerbang bernama web server. Jadi permintaan client akan diterima oleh webserver baru diteruskan ke aplikasi anda, setiap bahasa pemrograman memiliki web server yang berbeda. Dan setiap web server dibuat sesuai kebutuhan si bahasa pemrograman, ketika anda membuat aplikasi anda perlu compile dan klik jalankan, barulah aplikasi akan berjalan. Tetapi hal tersebut sudah dilakukan dengan web server, jadi ketika ada request maka webserver akan langsung berbicara dengan program anda dan selanjutnya akan di proses oleh program anda dan pada akhirnya hasil dari program anda akan di kirimkan kembali ke client melalui web server.
Web server sendiri merupakan program juga sama seperti aplikasi anda, tetapi didesain khusus untuk suatu bahasa pemrograman dan untuk menerima maupun mengirim data request, dia sebagai penghubung ke program kita.Bahasa pemrograman seperti PHP akan berjalan ketika script dijalankan maka ketika ada request, web server dengan suatu perantara akan mengeksekusi script php tersebut dan hasilnya akan dikembalikan ke client. Sedangkan bahasa pemrograman seperti Java, akan dijalankan bersamaan dengan web server sehingga web server tidak perlu eksekusi file java, karena aplikasi java sudah berjalan di runtime.
Selanjutnya response akan diterima oleh web app seperti chrome, dan akan diproses lalu ditampilkan ke anda hasilnya. Begitupun ketika request dialah yang memproses dan mengirimkannya.



