Google dan Samsung tinggalkan WebKit?


Google, Samsung dan Mozilla kemarin mengumumkan bahwa mereka akan bekerja pada mesin rendering browser sendiri dan akan meninggalkan mesin rendering WebKit dari Apple. Google akan menggunakan mesin rendering sendiri yang bernama Blink - yang sebenarnya masih berbasis WebKit - untuk Chrome, sementara Samsung bekerja sama dengan Mozilla akan membuat mesin rendering browser yang disebut Servo.

Menurut Google, alasan di balik perpindahan ini adalah kenyataan bahwa WebKit telah tumbuh terlalu rumit, sehingga memutuskan untuk beralih ke mesin rendering sendiri yang akan menguntungkan proyek-proyek seperti browser Chrome dan Chrome OS. Blink juga akan digunakan pada browser Opera (Desktop) untuk versi yang akan datang.

"Chromium menggunakan arsitektur multi-proses yang berbeda dari browser lainnya yang berbasis WebKit, dan mendukung beberapa arsitektur selama bertahun-tahun telah menyebabkan meningkatnya kompleksitas baik untuk WebKit dan proyek Chromium," tulis Adam Barth, software engineer di Google pada blog resmi Chromium. "Ini," ia melanjutkan, "telah memperlambat laju kolektif inovasi."

Sementara Servo, mesin rendering bowser open source yang dikembangkan oleh Mozilla dan Samsung, merupakan upaya untuk membangun kembali browser Web dari bawah ke atas pada hardware modern, yang memanfaatkan kinerja hardware secara maksimal untuk memungkinkan pengalaman baru dan lebih kaya di Web.

Servo ditulis dalam bahasa pemrograman Rust, sistem bahasa baru yang aman yang dikembangkan oleh Mozilla bersama dengan komunitas yang terus tumbuh. Rust secara visualisasi menyerupai rumpun bahasa C, tetapi berbeda secara signifikan dalam rincian sintaksis dan semantik. Mendukung campuran dari imperatif prosedural, bersamaan dengan actor, berorientasi objek dan style fungsional yang murni. Rust juga mendukung pemrograman generik dan metaprogramming, baik dalam style statis dan dinamis.

"Kita sekarang dengan bangga mengumumkan bahwa bersama-sama dengan Samsung kita akan membawa baik bahasa pemrograman Rust dan Servo, mesin web browser yang eksperimental, untuk [platform berbasis] ARM dan Android. Ini merupakan langkah yang menarik dalam evolusi dari kedua proyek yang akan memungkinkan kita untuk memulai riset lebih dalam dengan Servo pada perangkat mobile. Samsung telah memberikan kontribusi backend ARM untuk Rust dan infrastruktur yang diperlukan untuk membangun cross-compile ke Android, bersama dengan banyak perbaikan lainnya," kata Brendan Eich, CTO dari Mozilla pada posting resmi di blog Mozilla.

Rust, yang hari ini mencapai v0.6, telah dikembangkan selama beberapa tahun dan dengan cepat mendekati stabilitas. Bahasa pemrograman ini dimaksudkan untuk mengisi banyak relung yang dimiliki C++ lebih dari beberapa dekade terakhir, dengan efisiensi tingkat tinggi, abstraksi multi-paradigma, dan menawarkan kontrol yang lebih tepat untuk resource hardware. Tapi lebih dari itu, ini merupakan bahasa pemrograman yang aman secara default, yang mampu mencegah kesalahan manajemen memori pada seluruh class yang menyebabkan crash dan kerentanan keamanan. Rust juga dilengkapi concurrency primitif yang ringan yang membuatnya mudah bagi programmer untuk memanfaatkan kekuatan dari core CPU yang tersedia di platform komputasi saat ini dan masa depan.

Baik Mozilla dan Samsung sama-sama berangkat dari kesadaran bahwa semakin banyaknya peluang di ranah mobile, sehingga akan menempatkan lebih banyak sumber daya ke Servo dan berusaha untuk membuktikan bisa membangun sebuah browser web yang cepat dengan paralelisme yang meresap, dan dalam bahasa yang aman dan menyenangkan. Di tahun mendatang, baik Mozilla dan Samsung akan berlomba untuk menyelesaikan revisi besar pertama dari Rust - membersihkan, memperluas dan mendokumentasikan library, membangun tool untuk meningkatkan pengalaman pengguna dan juga kinerja browser.

Karena proyek Mozilla dan Samsung ini bersifat open source, Anda bisa berkontribusi pada proyek dengan mengunduh dan dan mencoba Rust versi 0.6 yang baru dirilis atau memeriksa source code dari Rust dan Servo pada GitHub.