10 alasan browser menjadi OS universal

Miliaran tahun yang lalu di waktu Internet (alias 1995), Brendan Eich, Marc Andreessen, dan Netscape lainnya melihat World Wide Web dan melihat dunia dokumen statis yang jarang ditandai - gurun komputasi tempat benih programmer tidak dapat menemukan membeli.

Mereka memiliki visi yang berbeda: piksel di dalam persegi panjang browser senyaman antarmuka pengguna mana pun. Mereka ingin menambahkan sedikit komputasi Turing-complete sehingga programmer dapat membuat halamannya melompat. JavaScript adalah jawabannya.

[Seberapa banyak yang Anda ketahui tentang lingua franca di Web? Cari tahu di tes IQ JavaScript. | Bekerja lebih cerdas, bukan lebih keras - unduh Panduan Bertahan Hidup Pengembang dari untuk semua tip dan tren yang perlu diketahui pemrogram. | Ikuti terus berita pengembang terbaru dengan buletin Dunia Pengembang. ]

Pada awalnya, programmer macho C menatap kreasi mereka dan tertawa. Mereka bercanda tentang JavaScript sebagai mainan untuk anak-anak sekolah dasar untuk memunculkan kotak peringatan. Eich, bagaimanapun, melihat cara bagi pemrogram untuk menarik informasi dari seluruh Web. Segera muncul dalam bentuk XMLHttpRequest.

Tiga belas tahun kemudian, dan sekitar delapan tahun sejak seluruh game berganti nama menjadi "AJAX," bahasa bayi untuk anak-anak dengan cepat menjadi bahasa dominan untuk hampir semua hal. Kombinasi HTML, CSS, dan JavaScript mendukung server, desktop, dan laptop. Pada dasarnya, ini adalah platform standar, sistem operasi baru.

Secara teknis, browser tidak menawarkan apa yang kami harapkan dari OS tradisional. Purists akan mengeluh: Apakah tim browser menghabiskan waktu untuk mengkhawatirkan kusutnya driver perangkat? Apakah browser menjaga sistem file tetap bersih dan tidak rusak? Apakah browser menyulap beberapa utas dengan prioritas yang berbeda dan membantu mereka berbagi inti prosesor yang sama dengan cara yang mungkin dianggap adil? Orang-orang OS melihat Chrome dan tertawa karena browser itu hanya berputar, membelah dirinya menjadi proses yang berbeda untuk setiap halaman Web, membiarkan lapisan OS melakukan pekerjaannya.

Terlepas dari keluhan yang sangat sah dari para ahli OS ini, browser adalah lapisan dominan, satu-satunya penghubung untuk perangkat lunak, satu papan tombol tempat semua kekuatan berada. Dibutuhkan dari sistem operasi sebuah persegi panjang untuk menggambar halaman Web, sedikit ruang penyimpanan, dan umpan TCP / IP. Itu melakukan segala sesuatu dengan cara lintas platform yang, ketika semua dipertimbangkan, relatif bebas dari bug dan masalah lainnya.

Sebagai gantinya, browser mengurangi OS dari melakukan banyak hal kecuali menyediakan beberapa informasi feed. Seorang pengguna PC berharap dapat memasukkan perangkat lama apa pun dan membuatnya berfungsi dengan koleksi perangkat lama apa pun - kejadian yang sangat langka. Seorang pengguna browser menginginkan sebuah kotak untuk mengetik URL dan cara untuk mengirimkan klik ke lapisan JavaScript. Membuat perangkat khusus browser menjadi semakin mudah. Heck, Mozilla, sekelompok kecil orang, ternyata Firefox OS dengan sebagian kecil insinyur yang bekerja di Apple, Google, atau BlackBerry.

Dan pemrogram mengikuti pengguna ke browser untuk memberikan fungsionalitas di tempat utama yang diharapkan pengguna saat ini. Berikut 10 alasan mengapa browser sekarang menjadi raja.

Browser sebagai OS utama alasan No 1: Munculnya aplikasi Web yang luas dan kaya

Di suatu tempat di sepanjang garis, halaman Web berubah menjadi aplikasi lengkap. Cara terbaik untuk merasakan ini adalah mencoba memulai sesuatu seperti Gmail dengan cache yang bersih dan koneksi Internet yang sangat lambat. Program ini cukup besar sehingga membutuhkan waktu terlalu lama untuk mengunduh semua potongan-potongan JavaScript. Mungkin ada hampir 100 file dalam unduhan rata-rata. Google dengan cermat menyadari bahwa Gmail mungkin agak terlalu besar untuk kesempatan ini, jadi Google menawarkan versi HTML dasar yang jauh lebih kecil.

Gmail adalah salah satu contoh dari ribuan program besar yang berjalan secara teratur di browser kami. Banyak yang membiarkan kami melakukan sebagian besar tugas setelah diserahkan ke aplikasi asli. Ada lingkungan pengembangan terintegrasi (Codio, Cloud 9, dan lainnya), paket pengeditan gambar (AIE, antara lain), dan banyak game HTML5 (lihat di bawah). Browser tidak terbatas pada dokumen statis dan pengisian formulir.

Dahulu kala, orang akan menunjuk ke aplikasi standar untuk membaca email atau mengedit foto dan berkata, "Bisakah browser Anda melakukannya?" Sekarang jawabannya ya.

Browser sebagai OS utama alasan No. 2: Ekstensibilitas yang mudah melalui plug-in

Semua browser utama memiliki arsitektur plug-in sendiri. Jika Anda ingin melakukan sesuatu yang pintar dengan peramban, lapisan pengaya siap untuk mengambil kode Anda. Anda menulis beberapa kode di JavaScript dan browser menambahkannya sebagai fitur. Anda dapat menambahkan rutinitas baru untuk membersihkan tata letak atau mencari informasi berharga tertentu seperti kutipan untuk makalah Anda. Lapisan plug-in untuk browser membuka bagian dalam untuk mengutak-atik, dan melakukannya dengan cara yang lebih bersih dan aman daripada yang dapat dilakukan dengan sistem operasi tradisional.

Browser sebagai OS utama alasan No. 3: Landasan open source-nya

Ada banyak arti berbeda yang dimasukkan ke dalam frase "open source", dan browser menggambarkan salah satu yang paling berpengaruh. Bahasa Web selalu mudah dipahami - setidaknya dibandingkan dengan kode biner asli - dan ketika pengembang awal menyertakan opsi "lihat sumber", mereka memudahkan pemrogram untuk belajar satu sama lain.

Keterbukaan mendorong inovasi, dan ini adalah salah satu alasan terbesar kami telah melihat lapisan browser membengkak dengan begitu banyak tambahan yang cerdas. Membuat perangkat lunak untuk lapisan browser lebih mudah, mendorong lebih banyak pekerjaan untuk diselesaikan di sana. Laju inovasi sangat membutakan karena ide-ide bagus ditiru dan diperbaiki dengan cepat. Setiap orang dapat belajar dari pekerjaan orang lain, kemudian mengajar semua orang sebagai imbalan. Fitur ini sendiri telah menciptakan begitu banyak programmer sehingga harus dianggap sebagai harta nasional oleh komite-komite di Washington yang selalu berkampanye untuk menciptakan lebih banyak siswa STEM.

Browser sebagai OS utama alasan No. 4: Metaprogramming

Keterbukaan tidak hanya berarti kode sumber tersedia bagi orang lain untuk disalin, direvisi, dan diperluas - ini juga berlaku untuk data di browser saat ini. Beberapa paket perangkat lunak seperti Greasemonkey memungkinkan untuk menulis perangkat lunak yang berjalan di atas perangkat lunak yang berjalan di halaman Web. Greasemonkey dapat mengakses langsung ke kode halaman Web dan mengubah ukuran elemen, mengubah variabel, atau menulis ulang teks itu sendiri. Ini seperti pengkodean sumber terbuka secara real time.

Ada upaya untuk menawarkan fitur semacam ini ke sistem operasi klasik, tetapi sistem skrip tidak pernah memiliki akses yang mirip dengan Greasemonkey di browser. Bahkan alat skrip yang paling canggih, seperti AppleScript, mengakses kode hanya melalui API. Purist mungkin tidak suka seseorang bermain-main dengan variabel mereka, tetapi mereka tidak terlalu bersenang-senang. Inilah sebabnya mengapa beberapa alat paling pintar tersedia di browser.

Browser sebagai alasan OS utama No. 5: Kesederhanaan dan perubahan platform multiplatform

Perangkat seluler dilengkapi dengan browser. Lemari es dilengkapi browser. Bisakah lemari es seluler dengan browser jauh di belakang? Kenapa tidak? Semua orang ingin menggunakan HTML, JavaScript, dan CSS atas persegi panjang di mesin mereka karena mudah diadaptasi. Apakah layar Anda pendek dan lebar atau tinggi dan tipis? Tidak masalah karena HTML mengalir ke ruang yang diberikan. Mesin tata letak berbasis CSS mengetahuinya.

Akan ada beberapa yang menunjukkan, dengan benar, bahwa tidak setiap halaman Web terlihat bagus pada layar berbentuk aneh. Beberapa situs web terlihat seperti sebuah mobil menabrak mereka saat dilihat di layar ponsel yang tinggi dan tipis. Unsur-unsurnya tersebar di mana-mana, dan tidak ada yang berbaris. Ada yang salah dengan gaya apung.

Masalah-masalah itu memudar ketika desainer Web belajar bagaimana merencanakan ke depan untuk berbagai peluang berbasis browser yang muncul. Mereka belajar menjadi fleksibel dan elegan sehingga konten dapat mengalir dengan mudah terlepas dari perangkat yang akan menampilkannya.

Browser sebagai OS utama alasan No. 6: Lapisan abstraksi yang bersih

Landasan open source Web mendorong evolusi cepat dari praktik terbaik untuk desain. Masih ada beberapa sudut dunia teknologi - katakanlah, Apple - di mana beberapa desainer bersikeras semuanya dilakukan dengan cara mereka menggunakan kerangka asli mereka. Tetapi untuk semua kesuksesan Apple dalam menggunakan kontrol tingkat Vader, itu tidak bisa mengalahkan Web. Setiap inovasi yang dibuat untuk iOS dengan cepat ditiru dan dimasukkan ke dalam kerangka kerja utama yang mendominasi dunia HTML5.

Populisme demokratis browser memungkinkan ide-ide terbaik muncul saat semua orang terus bereksperimen. Hal ini sebagian besar disebabkan oleh HTML dan CSS, yang telah berkembang menjadi lapisan abstraksi yang jelas yang memisahkan masalah, membuat kolaborasi lebih mudah bagi semua orang. Desainer dan pemrogram dapat menargetkan lapisan khusus mereka dan, jika memungkinkan, membawa pustaka dan kerangka kerja yang telah didesain sebelumnya untuk memanfaatkan karya desainer dan pemrogram lain dalam kodenya sendiri.

Browser sebagai OS utama alasan No. 7: Model berbagi yang lebih baik untuk perpustakaan

Perpustakaan selalu menjadi salah satu sumber masalah terbesar bagi para programmer. Satu aplikasi di komputer ingin menggunakan versi 3.4.666 dari pustaka, dan yang lainnya menginginkan Versi 3.4.667, tetapi sistem operasi hanya dapat menemukan yang salah. Ketika hal-hal tidak selaras, beberapa menyebutnya "bitrot" dan yang lain menyebutnya "kesalahan versi." Bagaimanapun, semua orang kalah.

Dunia browser menawarkan cara yang lebih baik untuk mendistribusikan perpustakaan. Banyak halaman Web tertaut ke beberapa salinan terpusat dari perpustakaan populer seperti jQuery atau Dojo. Alih-alih menggunakan versi mereka sendiri yang dihosting dengan situs web, mereka menautkan ke versi sentral yang ditawarkan oleh salah satu perusahaan infrastruktur Web seperti Yahoo. Ini lebih mungkin ditangkap oleh cache, sehingga menghemat waktu halaman Web berikutnya mengunduh versi pustaka ini.

Versi terpusat ini diberi nomor dengan rapi. Jika dua halaman Web menggunakan jQuery Versi 1.9.1, cache akan melakukan tugasnya. Jika salah satu beralih ke versi yang lebih baru, keduanya akan berfungsi. Cache mungkin tidak menghemat banyak waktu hingga mereka mulai menggunakan versi yang sama lagi, tetapi sakelar berfungsi tanpa hambatan.

Pendekatannya tidak sempurna. Jika salinan pusat rusak atau terinfeksi malware, setiap situs web yang menggunakannya dapat terancam bahaya. Tapi kapan terakhir kali ini terjadi? Beralih ke pustaka versi lokal, perbaikan paling sederhana, tidak akan sulit.

Browser sebagai OS utama alasan No. 8: Pasar yang subur dan kompetitif

Dahulu kala, hanya ada Netscape. Kemudian Internet Explorer mendominasi. Sekarang sepertinya setiap orang memiliki browser yang bersaing. Chrome, Firefox, IE, Safari, dan Opera hanyalah permulaan. Ada lusinan browser kecil lainnya dengan peminatnya sendiri. Platform seluler memiliki lebih banyak lagi.

Semuanya bersaing untuk saling berbagi mata. Yang terbaik menang, tetapi hanya sampai siklus peningkatan berikutnya. Kemudian kompetisi dimulai lagi.

Pertempuran ini melahirkan kualitas. Peramban terbaik dengan fitur paling berguna berkembang sementara peretasan biasa menghilang. Ini tidak selalu terjadi di dunia, tetapi jika terjadi, itu bagus untuk konsumen. Jika bermanfaat bagi konsumen, ini menunjukkan kekuatan lapisan browser.

Browser sebagai OS utama alasan No 9: SVG, kanvas, grafik vektor, antarmuka pengguna yang hebat

Halaman Web awal mungkin sedikit membosankan, tapi itu sebelum programmer yang pintar menemukan cara untuk menganimasikan properti CSS dari DIV atau SPAN. Sekarang persegi panjang dan kata-kata di dalamnya dapat membalik, berputar, berputar, memudar, berkedip, dan bahkan - menghilangkan pikiran - hanya duduk di sana.

Jika itu belum cukup, browser baru terbaik terintegrasi erat dengan kartu video dan menawarkan hampir semua fitur kepada programmer JavaScript. Sementara perancang permainan masih membutuhkan kode asli untuk melakukan beberapa trik ekstrim yang mendorong kartu video untuk mencair, hampir setiap salah satu fitur perangkat lunak mereka tersedia dalam beberapa bentuk atau bentuk lain untuk pemrogram JavaScript. SVG animasi, objek kanvas, dan beberapa video dapat melakukan hampir semua hal. Bahkan ada lapisan 3D yang disebut WebGL yang menangani rendering tiga dimensi. Browser tidak akan pernah dapat bersaing dengan konsol atau game asli, tetapi akan berfungsi dengan baik jika grafiknya tidak terlalu rumit. Itu lebih dari cukup untuk game hebat.

Semua ini berarti bahwa membangun antarmuka pengguna untuk halaman Web sekarang jauh lebih sederhana daripada membuat antarmuka untuk aplikasi dasar. Desainer dapat bekerja dengan HTML, JavaScript, dan CSS, tiga bahasa mudah yang jauh lebih sederhana daripada Java, C ++, atau Objective-C yang digunakan untuk aplikasi asli. Sekali lagi, pengkodean yang lebih mudah menarik lebih banyak programmer yang membuat lebih banyak kode dan membuat platform mendominasi.

Browser sebagai OS utama alasan No 10: Node.js

Mungkin bukti utama keberhasilan browser sebagai platform dapat ditemukan di Node.js, kerangka kerja sisi server yang memungkinkan pemrogram browser mendalami JavaScript dan menutup untuk menulis instruksi untuk server tanpa mempelajari PHP atau Java.

Paket ini menawarkan kinerja spektakuler untuk beberapa pekerjaan hanya dengan mengesampingkan model ulir yang umum digunakan pada generasi sebelumnya. Alih-alih itu mengadopsi fungsi panggilan balik, salah satu idiom pemrograman browser, untuk menyulap beban kerja. Di tangan kanan, pemrogram dapat menghindari bahaya dan menghasilkan mekanisme bersih yang menyajikan informasi dari server dengan cepat dan efisien.

Ini adalah sedikit kemenangan bagi dunia JavaScript karena banyak yang mencibir pada penutupan dan panggilan balik yang rumit dari pemrograman browser, melihatnya sebagai berbelit-belit dan terlalu bertingkat. Namun sekarang, setelah hasilnya cepat, orang-orang menjadi lebih menerima. Kecepatan dan penghematan memiliki cara untuk memenangkan orang yang bertobat.