Mesin yang dapat: bagaimana Chromium berhasil merebut 90% pasar browser



Dari mesin browser yang awalnya merupakan alternatif yang tidak banyak diketahui yang digunakan di browser yang tidak populer, hingga juara yang mengambil alih seluruh pasar.



Mungkin, terkadang Anda menemukan konsep keanekaragaman browser dalam teks.... Ini mengacu pada keseimbangan di platform web di mana terdapat banyak implementasi browser di dunia, cukup untuk merangsang inovasi dan persaingan di antara mereka. Alternatifnya adalah monokultur browser, di mana satu implementasi browser atau browser mengontrol seluruh pasar, dan karenanya mendorong perkembangan web. Ketika seseorang mempromosikan keragaman browser, mereka sering melakukannya demi proses pembuatan standar web independen yang dikelola oleh W3C, yang hanya berfungsi jika tidak ada browser yang dapat menentukan fitur yang disertakan dalam platform web.



Komunitas web memiliki cukup alasan untuk mengkhawatirkan kurangnya keragaman browser. Setelah Internet Explorer menguasai 90% pasar browser di awal tahun 2000-an, pengembangnya membutuhkan setengah dekade untuk merilis browser baru. Selama periode ini, perkembangan web terhenti dan masalah keamanan mulai muncul. Hal ini membuat web menjadi lebih buruk, jadi kita sering ingin browser bersaing daripada memonopoli web.



Namun masalah ini juga memiliki sisi negatifnya. Karena adanya beberapa pembuat browser, pengembang web perlu memastikan bahwa semua platform kompatibel. Mungkin ada sedikit ketidakkonsistenan antar browser, yang dapat mempersulit pengembangan web.



Pembuat web yang khawatir ini Tim Berners-Lee. Bahkan di awal tahun 90-an, ketika web masih sangat muda, lusinan browser mulai muncul di seluruh dunia saat pengembang perangkat lunak bereksperimen. Berners-Lee khawatir bahwa terlalu banyak browser akan mempersulit pengujian situs dan mencapai konsensus tentang cara mem-parsing dan mengirimkan HTML kepada pengguna.



Pada tahun 1992, Tim Berners-Lee menyuarakan keprihatinannya di milis hypertext.



8 12 , . (, , ! , , (, ), . , ; , , , .


Berners-Lee menyadari bahwa penerapan ganda dapat memerlukan terlalu banyak upaya dari pihak pengembang web, sehingga pengembang mungkin tergoda untuk menghindari masalah ini sepenuhnya dan hanya menguji di browser paling populer (dia tidak tahu bahwa masalah serupa akan sering terjadi di web.) -development ). Artinya, bahkan tanpa monopoli, terlalu banyak browser dapat membanjiri pasar dan menciptakan pemenang aktual yang menjadi standar untuk dibuat tanpa memperhitungkan semua yang lain. Memastikan konsistensi dari semua implementasi browser adalah alasan pembuatan W3C dan promosi serangkaian standar umum dalam teknologi web.



Perhatian Berners-Lee beralasan. Ada kalanya browser telah berjalan dengan caranya sendiri, memaksa desainer web untuk mengutak-atik halaman untuk membuat halaman terlihat sama di mana-mana. Dalam beberapa tahun terakhir, proses standardisasi yang mapan sebagian besar telah menyelesaikan masalah ketidakkonsistenan antar browser dengan membuat proses yang jelas untuk menambahkan fitur baru ke web, memastikan keseimbangan dalam proses pengambilan keputusan.



Dasar fundamental untuk membuat berbagai grup browser adalah pengembangan mesin browser yang sama sekali berbeda. Mesin browser adalah kode di dalam browser yang mengambil kode yang Anda tulis dan menampilkannya di halaman. Pada tingkat yang lebih teknis, ini mengurai HTML, CSS dan JavaScript untuk menangani struktur dan rendering halaman web.... Mesin tersebut biasanya menyertakan mesin JavaScript yang menangani interaktivitas. Paling sering, ketika membahas mesin browser, mereka berbicara tentang mesin JavaScript yang terkait, tetapi ini tidak selalu terjadi.



Sebelum pembuat browser mulai menggunakan standar web, selama "perang browser", ada satu dekade dominasi atas browser Internet Explorer Microsoft. Internet Explorer menggunakan mesin browser Microsoft yang disebut Trident. Internet Explorer didistribusikan secara gratis dan diinstal secara default di semua komputer Windows. Karena kecepatan distribusinya, Trident telah menjadi mesin browser yang paling banyak digunakan selama bertahun-tahun.



Namun, beberapa peramban sumber terbuka yang lebih kecil segera mulai mendapatkan popularitas. Yang paling populer adalah Mozilla Firefox (berdasarkan Netscape), yang menggunakan mesin bernama Gecko. Opera sedikit tertinggal di belakangnya dengan mesin browser Presto-nya. Sebuah komunitas kecil jatuh cinta dengan browser KHTML Konqueror, yang memiliki pangsa kecil dari pasar browser.



Kode sumber dari semua mesin browser ini, dengan pengecualian Presto, adalah open source, yang berarti tersedia untuk siapa saja dan dapat digunakan dalam proyek apa pun. Ini mendorong kolaborasi dan persaingan yang sehat antara browser baru ini, yang mendukung proses standar web yang dipimpin W3C. Dan berkat open source, sejumlah besar browser kecil yang khusus muncul di pasaran, dibangun atas dasar mesin browser yang sama.



Ketidakhadiran Apple dari daftar ini patut diperhatikan. Pada tahun 2003, sepertinya perusahaan telah sepenuhnya mengabaikan platform web. Dia tidak berhasil mencoba membuat browsernya sendiri yang disebut Cyberdog. Tanpa browser asli untuk OS mereka, komputer Apple dilengkapi dengan Internet Explorer, yang mengikat mereka ke salah satu pesaing paling serius mereka - Microsoft.



Namun kemudian rumor mulai beredar bahwa Apple sedang mengerjakan browser baru. Beberapa veteran Mozilla bergabung dengan perusahaan, berkontribusi atas nama Apple untuk versi Mac open source Firefox. Dan setelah percobaan pertama yang gagal, alat dan implementasinya jauh lebih baik. Sudah ada banyak solusi open source yang matang.



Awalnya, Apple diasumsikan akan memilih Mozilla Gecko sebagai mesin browsernya. Dia sudah memiliki orang dan pengalaman yang tepat dengannya, dan mesin tersebut digunakan di sebagian besar proyek browser, termasuk browser Mac bernama Camino, yang dikembangkan oleh tim independen non-Apple. Ada yang mengira Apple bisa memilih Presto melalui semacam perjanjian lisensi.



Steve Jobs mengakhiri pidatonya di Macworld 2003 dengan pengumuman yang telah lama ditunggu: Apple sedang membuat browsernya sendiri yang disebut Safari. Dan yang mengejutkan semua orang, itu akan menggunakan mesin dari Konqueror. Bukan Gecko, bukan Presto. KHTML. Beritanya besar, dan selama dua dekade berikutnya, itu mengubah lintasan web.





Browser Konqueror Berjalan di Desktop KDE



Browser Konqueror adalah salah satu dari banyak aplikasi yang merupakan bagian dari desktop KDE untuk komputer Linux. Sebenarnya, ini bukan sistem operasi, tetapi paket perangkat lunak yang terlihat dan berperilaku seperti OS. Akronim awalnya adalah singkatan dari Kool Desktop Environment, tetapi kemudian disingkat menjadi KDE. Konqueror adalah salah satu program di dalam KDE. Dan KHTML adalah mesin yang dijalankan Konqueror. Seperti Linux itu sendiri, semua KDE adalah open source, termasuk browsernya, dan komunitas pengembang telah menganut prinsip open source sejak awal.



Itulah mengapa penting bahwa pengumuman Apple menyertakan slide ini:





Dalam pengumumannya tentang pilihan KHTML, Apple menyatakan komitmennya pada ide open source. Tim pengembang Safari telah berjanji untuk membuat perubahan yang dibuat pada proyek KHTML bila memungkinkan. Saat mengadaptasi mesin, Apple memecahnya menjadi dua bagian: WebCore, yang berhubungan dengan rendering dan struktur, dan JavaScriptCore, yang berhubungan dengan JavaScript. Kedua bagian ini menjadi proyek open source, tetapi pelacak bug Safari dan elemen mesin browser tetap ditutup. Namun tingkat transparansi ini mengejutkan bagi perusahaan yang terkenal menjaga rahasianya.



Versi publik pertama Safari dirilis bersamaan dengan pengumuman, pada Januari 2003. Tak lama kemudian, Safari mulai dikirim sebagai browser default untuk semua Mac. Selama satu hingga dua tahun, Safari secara konsisten menduduki dua hingga tiga persen pasar browser. Itu tidak cukup untuk mendominasi, tetapi memberi bobot pada tim pengembangan Apple.



Terlepas dari janji yang dibuat untuk komunitas open source, para pengembang Safari pada awalnya merasa sulit untuk memindahkan perubahan mereka kembali ke proyek KTHML. Beberapa kode khusus untuk sistem operasi Mac. Bagian lain tidak kompatibel dengan basis kode yang ada. Hal ini menyebabkan sedikit ketidaksepakatan antara tim Apple dan rekan penulis KHTML selama beberapa tahun.



Seiring waktu, ditemukan kompromi yang cocok untuk semua orang. Pada bulan Juni 2005, Apple menggabungkan JavaScriptCore, Webcore, dan mesin browser lainnya, melepaskannya sebagai proyek sumber terbuka tunggal dengan pelacak bug publik dan panggilan untuk berkontribusi. Dengan cara ini, perusahaan menunjukkan kepada komunitas KHTML bahwa mereka siap untuk berkolaborasi sambil menjaga independensi kode.



Proyek itu bernama Webkit.



Saatnya kritis. Web sebagai platform berkembang pesat dan berada pada tahap Web 2.0. Secara keseluruhan, Web 2.0 hanyalah istilah pemasaran yang bagus, sebuah upaya untuk menyebut semakin banyak aplikasi canggih yang ada secara eksklusif di web. Ini mencakup dua aplikasi web pertama Google - Google Maps dan Gmail. Google menambahkan YouTube ke daftar tersebut dalam waktu satu tahun.



Pada pertengahan 2000-an, teknisi Google melihat lebih dekat pada browser dan menemukan bahwa mereka tidak dapat memenuhi kebutuhan untuk membangun aplikasi yang kompleks. Hal ini terutama berlaku untuk browser lama dan tanpa pengawasan seperti Internet Explorer (omong-omong, YouTube juga memiliki andil dalam mendorong pengguna untuk meninggalkan IE6 ). Tetapi prioritas utama Google adalah kecepatan. Para pendiri perusahaan pernah mengungkapkan keinginan mereka untuk menciptakan "web secepat membalik-balik majalah kertas." Itu adalah tujuan perusahaan, dan Google merasa bahwa browser modern seperti Firefox dan Safari tidak cukup dekat.



Pada tahun 2006, perusahaan mulai membuat rencana untuk membangun browsernya sendiri. Dia menginginkan browser tercepat di pasar. Setelah bereksperimen dengan berbagai mesin browser, pengembang Google mengalihkan perhatian mereka ke proyek Webkit, yang beralih ke open source. Kodenya ringkas dan dapat dibaca, dan intensitas sumber daya tetap relatif rendah dibandingkan dengan mesin dengan riwayat yang kaya seperti Gecko atau Trident (yang terakhir tidak dipertimbangkan karena kode sumber tertutup). Tapi yang terpenting, dia cepat. Sebagai titik awal, mesin ini lebih cepat dari semua mesin lainnya.



Jika tim Safari tidak memutuskan untuk membuka sumber untuk mesin browser mereka saat ini, ceritanya bisa saja mengambil arah yang sama sekali berbeda. Tetapi pengembang melakukan ini, jadi Google melihat kemungkinan ini dan memutuskan untuk menggunakan mesin tersebut. Selama beberapa tahun berikutnya, dia mulai mengerjakan implementasi Webkit baru yang bahkan lebih cepat.



Langkah pertamanya adalah menyingkirkan JavaScriptCore dan menggantinya dengan mesin JavaScript-nya sendiri yang disebut V8, dinamai menurut mesin piston yang bertenaga. Seperti namanya, V8 itu cepat. Pada saat dirilis, performanya sepuluh kali lebih baik dari JavaScriptCore. Dia mencapai kecepatan ini dengan bekerja di mesin virtual dan cara yang sedikit berbeda dalam menjalankan kode, menjadikannya modular dan tidak bergantung pada mesin browser lainnya. Ngomong-ngomong, setelah beberapa tahun, modularitas ini memungkinkan untuk membuat bahasa pemrograman Node: pengembangnya menggunakan mesin V8, menyingkirkan browser dan meletakkannya di server.



Hal kedua yang dilakukan Google adalah menambahkan arsitektur multiprosesing ke browsernya. Ada banyak hal yang bisa dikatakan tentang multiprosesing, tetapi paling baik dijelaskan menggunakan tab browser sebagai contoh. Sebelumnya, ketika satu tab rusak, seluruh browser mengalami kerusakan. Namun, Google dapat memaksa proses di setiap tab untuk berjalan secara independen sehingga hanya satu tab yang mogok dalam satu waktu. Setelah browser dirilis, ini menjadi daya tarik utamanya. Ini juga ternyata menjadi keputusan penting karena merupakan penyimpangan besar dari cara kerja Webkit dulu. Tak lama lagi, keputusan ini akan kembali menghantui perusahaan.



Pada bulan September 2008, Google secara resmi mengumumkan proyek browsernya kepada publik. Perusahaan tersebut menggabungkan iklan tersebut dengan komik web Nerd Scott McCloud, yang merinci semua detail teknis proyek. Browser dapat memproses situs web paling cepat di pasaran, dan berkat arsitektur multiprosesingnya, ia dapat menjaga halaman tetap aktif bahkan ketika situs lain dibekukan. Ini terjadi pada masa ketika browser masih dipenuhi dengan toolbar dan addons, serta paket dari perusahaan besar yang menyertakan mail. Nama yang diberikan Google untuk proyek ini juga sejalan dengan konsepnya. Dalam dunia peramban, istilah "chrome" (chrome) berarti segala sesuatu tambahan yang mengelilingi laman web - bilah alamat, bilah alat, dan menu file. Google menyingkirkan sebagian besar sampah ini, itulah sebabnya ia disebut peramban Google Chrome, berharap fokus pada kesederhanaan dan kinerja akan membuahkan hasil.





Fragmen Komik Web yang Memulai Semuanya



Terlepas dari algoritme pencarian tertutup, Google telah berkontribusi pada proyek sumber terbuka dan membuat proyek baru selama bertahun-tahun. Setelah memahami pelajaran Apple, perusahaan melangkah lebih jauh dalam mengembangkan Chrome. Pada hari yang sama saat Google Chrome diumumkan, perusahaan menyediakan seluruh mesin sebagai proyek sumber terbuka yang disebut Chromium. Ini bukan hanya beberapa ekstensi Webkit. Ini bukan hanya mesin rendering. Semuanya menjadi terbuka: Webkit, mesin JavaScript V8, dan semua kode browser itu sendiri. Dengan sedikit usaha, pengembang mana pun dapat melengkapi Chromium dan merilis browser mereka sendiri. Setelah dirilis, itu terjadi pada banyak browser .



2008 adalah tahun yang besar untuk web. Pada bulan yang sama saat Chrome dirilis, Google menunjukkan prototipe platform operasi seluler Android-nya, yang dirakit dari beberapa proyek sumber terbuka. Ini juga termasuk versi seluler Google Chrome. Ini terjadi lebih dari setahun setelah rilis resmi iPhone, yang datang dengan versi Safari yang dimodifikasi. Pada saat Steve Jobs mulai mematikan Flash dan menjadikan platform web asli sebagai prioritas utama, perangkat ini sudah ada di mana-mana.



Artinya, sekarang Safari atau Chrome berfungsi di setiap perangkat pintar seluler. Safari sendiri, sepenuhnya berkat pembelian iPhone, telah melipatgandakan pangsa pasarnya hanya dalam beberapa tahun. Popularitas Chrome tumbuh lebih cepat. Dengan menggunakan Chromium, Anda memiliki akses ke daftar browser independen dan proyek browser yang terus bertambah. Selain itu, Chromium menjadi dasar dari bahasa pemrograman Node dan kerangka kerja aplikasi desktop Electron.



Dan semua proyek ini berhasil berkat Webkit. Selama bertahun-tahun, dia telah beralih dari menguasai sebagian kecil pasar browser menjadi mendominasinya.



Keadaan istirahat ini berumur pendek. Pada bulan April 2013, Google secara tak terduga mengumumkan bahwa mereka akan membagi proyek Webkit menjadi mesin baru yang disebut Blink. Google Chrome dan proyek Chromium akan dipindahkan ke mesin baru ini.



Ada beberapa alasan untuk transisi ini, tetapi yang paling penting membawa kita kembali ke masalah multiprosesing. Selama beberapa tahun, Google telah memperluas Webkit untuk menambahkan multiprosesing ke browsernya, yang telah menjadi fitur penting dan dasar untuk pertumbuhan kinerja browser Chromium. Pada 2013, proyek Webkit seharusnya merilis versi baru mesin, yang juga meningkatkan multiprosesing. Masalahnya adalah penerapannya akan menjadi sangat berbeda dan tidak kompatibel dengan penerapan di Chrome. Itu sudah menggunakan mesin JavaScript yang berbeda, dan perubahan baru ini akan membuat Chromium terlalu jauh dari proyek aslinya. Inti dari Blink masih harus dan tetap Webkit. Tapi dia akan mengambil jalan yang berbeda dan membuat proyek baru untuk dirinya sendiri.



Pada titik ini, web menjadi lebih kompleks dari yang dibayangkan siapa pun. Masalah yang pertama kali diajukan oleh Berners-Lee - terlalu banyak pengembang independen yang membuat mesin browser mereka sendiri - tidak lagi menjadi masalah. Tim yang besar sekarang dibutuhkan untuk membangun dan memelihara mesin browser. Dengan perluasan platform web dan penguatan standarnya, kompleksitas rendering situs web ke halaman telah tumbuh secara eksponensial. Browser harus mengeksekusi situs yang tak terhitung jumlahnya, dikodekan dengan cara yang tak terhitung jumlahnya agar lebih atau kurang cocok dengan semua browser lainnya.



Setelah itu, mesin browser mulai menghilang.



Dua bulan sebelum rilis Blink, Opera mengumumkan bahwa mereka membuang mesin Presto-nya sendiri dan memindahkan browsernya ke Chromium. Ketika Google mengumumkan forknya, Opera bergabung dengannya. Pada Mei 2013, dia merilis browser berbasis Blink pertamanya.



Sementara itu, Microsoft telah terjebak dengan mesin sumber tertutupnya sendiri selama bertahun-tahun. Trident telah diubah menjadi mesin bernama EdgeHTML yang dibuat untuk browser Microsoft Edge, pertama kali dirilis pada tahun 2015. Tetapi berinvestasi dalam pengembangan mesin independen terbukti terlalu sulit di pasar browser yang sudah ramai. Pada 2019, perusahaan mengumumkan bahwa mereka juga pindah ke Blink. Sejak saat itu, browser ini juga dirilis.



Keturunan KHTML, yaitu browser dengan mesin dari keluarga Blink / Webkit, digunakan oleh lebih dari 90% pengguna. Dari praktis terlupakan hingga 90% pangsa pasar dalam lima belas tahun, ini adalah pencapaian yang luar biasa. Dan itu memiliki konsekuensi.



Blink dan Webkit adalah dua mesin yang berbeda, dan ada cukup banyak perbedaan dalam kode sumbernya. Tetapi mereka menggunakan pendekatan yang sama untuk merender halaman web, dan sebagian besar kode di dalam proyek tetap sama. Ini berarti bahwa pada tahap saat ini, sebenarnya, ada dua grup mesin browser yang tersisa - keluarga Blink / Webkit dan browser Firefox Gecko. Meskipun Anda memisahkan Blink dan Webkit, hanya tersisa tiga.



Dan itu membawa kita kembali ke masalah keragaman browser. Inovasi dalam teknologi browser belum hilang, dan untungnya, setiap browser yang serius berkomitmen pada proses standardisasi web. Namun, jika komunitas Blink dan Webkit memutuskan bahwa mereka ingin memindahkan web ke arah tertentu, mereka memiliki semua kekuatan yang mereka butuhkan untuk melakukannya. Ini benar bahkan sampai hari ini, terlepas dari kenyataan bahwa Tokek masih bertahan.



Jeffrey Zeldman menyimpulkannya dengan baik pada saat Microsoft memutuskan untuk pindah ke Blink:



Ketika satu perusahaan memutuskan ide mana yang layak didukung dan mana yang tidak, masalah akses mana yang penting dan mana yang tidak, itu menghambat inovasi, menghancurkan persaingan dan membuka peluang untuk mengecualikan orang dari bekerja dengan informasi digital.


Dari perspektif sejarah, lintasan pengembangan Webkit adalah keajaiban. Dan itu terwujud berkat keterbukaan dan dukungan masyarakat. Namun, memelihara keragaman dan inovasi browser sama pentingnya.



Posting ini mencakup lima pencapaian dalam sejarah web.



  • 3 April 2013. Membuat Blink sebagai cabang dari proyek Webkit. Mesin rendering Blink digunakan di browser berbasis Chromium, termasuk Google Chrome. Fondasi basis kodenya diletakkan oleh Webkit, tetapi menangani tugas multiprosesing dan berisi mesin JavaScript V8.
  • 2 2008 . Google Chrome, . , Google . , .
  • 7 2005 . Webkit — Apple , : WebCore JavaScript- JavaScriptCore. Apple, Google Webkit .
  • 7 2003 . Safari — Apple , . Mac Internet Explorer Microsoft. KHTML, Webkit.
  • 23 2000 . Konqueror — KDE Konqueror 2. KDE , Konqueror . , , Apple Safari Google Chrome.









Periklanan



Perusahaan kami menawarkan server aman dengan perlindungan DDoS gratis . Kemampuan untuk menggunakan Server Windows berlisensi pada paket dengan RAM 2 GB atau lebih tinggi, membuat cadangan server secara otomatis atau dalam satu klik.



Kami menggunakan drive server yang sangat cepat dari Intel dan tidak menghemat perangkat keras - hanya peralatan bermerek dan beberapa pusat data terbaik di Rusia dan UE. Cepat periksa.






All Articles