Loading...
Kamis, 12 Oktober 2017

Edisi Pengembangan Baru Firefox dengan mengambil Lompatan Proyek Quantum

Written by  Tika Ayati Mahasiswi STTNF



Mozilla Firefox merupakan aplikasi browser terkenal, pada awal tahun ini mozila menulis tentang Project Quantum untuk memodernisasi Firefox dan membangunnya kembali untuk menangani kebutuhan Web modern.
Projek Quantum ini mengambil langkah besar menuju arus utama dengan merilis edisi pengembang Firefox 57 yang baru. Edisi pengembang Firefox yang lama didasarkan pada saluran Aurora berkualitas alpha, yang merupakan dua versi di depan versi stabil. Pada bulan April, Mozilla membatalkan saluran Aurora, dan edisi pengembang dipindahkan untuk didasarkan pada saluran beta. Edisi pengembang digunakan oleh beberapa ratus ribu pengguna setiap bulan dan sebagian besar identik dengan versi beta, kecuali ada tema yang berbeda secara default-tema gelap dan bukan yang normal dan mengubah beberapa pengaturan default di dalamnya dengan cara yang cenderung disukai pengembang.
Tema itu adalah tempat yang baik untuk memulai. Antarmuka pengguna baru, bernama Foton, membawa serta tab persegi dan menu utama yang jauh lebih konvensional. Tab curvy saat ini disambut dengan kemarahan pada pendahuluan mereka pada tahun 2014, jadi putaran balik ke tab persegi akan terus terang, mungkin terlihat sangat memalukan, namun tampilannya bersih dan tepat. Ada juga halaman tab baru yang menambahkan cerita yang disarankan ke daftar situs paling sering Anda kunjungi.
Yang lebih penting, tapi kurang terlihat adalah bahwa Firefox 57 telah menerima satu peningkatan kinerja yang besar. Project Quantum memiliki beberapa alur untuk itu: Mozilla telah mengembangkan mesin CSS baru, Stylo, yang mem-parsing file CSS, menerapkan aturan styling pada elemen pada halaman, dan menghitung ukuran dan posisi objek. Ada juga mesin rendering baru, WebRender, yang menggunakan GPU untuk menggambar elemen (gaya) dari halaman. Kompositor menggabungkan elemen yang diberikan individu dan membangunnya menjadi halaman yang lengkap, sementara Quantum DOM mengubah cara JavaScript berjalan, terutama di tab latar belakang. Serta perkembangan baru ini, ada bagian akhir, Quantum Flow, yang berfokus pada memperbaiki bug dan menambahkan pengoptimalan ke bagian browser yang tidak dikembangkan kembali.
WebRender akan tiba di Firefox 59, namun sisa Quantum adalah bagian dari Firefox 57.
Fokus pengembangan pembangunan kembali lebih banyak menggunakan multithreading dan akselerasi GPU. Stylo, misalnya, menggunakan banyak benang untuk mencoba menerapkan properti CSS ke beberapa elemen pada halaman secara paralel-pekerjaan yang secara tradisional memiliki single-threaded dan serial. Pekerjaan multithreading semacam ini bisa rumit, dengan ketergantungan antara elemen dan tidak mudah untuk membagi pekerjaan secara merata di antara benang.
Mozilla menyadari bahwa kode multithreading yang kompleks menimbulkan tantangan bagi pengembang beberapa tahun yang lalu, sebagai tanggapannya, memulai pengembangan bahasa pemrograman Rust. Seperti C ++ (yang sebagian besar Firefox terus menggunakan), Rust mengkompilasi kode asli dan menawarkan overhead rendah dan kinerja yang baik. Namun, bahasa tersebut memiliki kontrol yang lebih eksplisit dan ketat atas kepemilikan objek dan memori, memastikan pemrogram tidak dapat dengan mudah menulis program, misalnya mencoba untuk memodifikasi data yang sama secara bersamaan dalam beberapa thread. Fitur-fitur ini pada prinsipnya, membuat program Rust jauh lebih kuat: kompilator itu sendiri mencegah banyak bug yang mungkin terjadi di C ++. Stylo dan WebRender, keduanya ditulis dalam Rust.
Potongan kecil kode Rust telah ada di Firefox sejak versi 48. Dalam mengintegrasikan Stylo dan WebRender ke Firefox, bagian browser yang jauh lebih besar dan lebih signifikan sekarang menggunakan bahasa baru.
Quantum DOM dan Quantum Flow keduanya merupakan perbaikan pada subsistem yang ada dan bukan penulisan ulang secara penuh, dan karena itu, tetap ditulis dalam C ++. Fokus utama Quantum DOM adalah memperbaiki tingkah laku dengan tab latar belakang. Setiap tab memiliki benangnya sendiri, dan benang ini dijadwalkan dan dikendalikan oleh Firefox itu sendiri, memberi peramban kemampuan untuk melambat - atau bahkan menunda eksekusi latar belakang sepenuhnya, memastikan bahwa tab latar depan tidak pernah menderita, katakanlah animasi tersentak hanya karena dari sesuatu yang dilakukan tab latar belakang.
Alur Kuantum adalah kategori perbaikan kinerja yang luas. Pengembang telah menyelidiki operasi lambat individu - penundaan pada halaman web tertentu atau menggunakan bagian dari antarmuka pengguna Firefox - untuk mengidentifikasi di mana pengguna melihat kemacetan kinerja.
Sebagai hasil dari semua pekerjaan ini, Firefox 57 harus jauh lebih cepat daripada pendahulunya, dengan Mozilla mengklaim bahwa tolok ukur Speedometer yang populer sebanyak dua kali lebih cepat dari sebelumnya. Tolok ukur ini menggunakan sejumlah kerangka pengembangan Web dunia nyata untuk membangun aplikasi demo dan mengukur seberapa responsifnya aplikasi itu. Pendekatan benchmarking ini berarti bahwa Speedometer adalah pendekatan yang bagus mengenai kinerja peramban dunia nyata.
Edisi pengembang baru juga menyertakan alat pengembang baru. Alat pengembang bawaan telah ditulis ulang untuk menggunakan teknologi dan kerangka kerja Web seperti React. Firefox 56 menyertakan debugger baru, membawa berbagai fitur baru seperti dukungan untuk peta sumber (yang membantu mengkorelasikan bahasa seperti TypeScript ke kode JavaScript aktual yang mereka hasilkan) dan mendukung untuk melangkah tanpa hambatan melalui kode asinkron.
Mozilla 57 memiliki fitur baru seperti dukungan CSS Grid. Grid memperkenalkan cara baru untuk menciptakan tata letak yang kaya di browser, dan inspektur Firefox yang baru menyertakan alat untuk membantu memvisualisasikan grid dan memahami bagaimana elemen halaman terkait. Variabel CSS juga didukung, memberi cara untuk memeriksa nilai variabel dan mengapa.

Firefox 57 merupakan lompatan besar bagi browser open source. Pekerjaan untuk memodernisasi itu tidak berakhir dengan Quantum. Tahun depan, misalnya, Mozilla akan melakukan pekerjaan lebih lanjut pada penerapan sandboxing browser, menggabungkan elemen dari proyek Chromium untuk lebih membatasi proses sandbox-nya.
sumber : http://nurulfikri.ac.id/index.php/artikel/item/1645-edisi-pengembangan-baru-firefox-dengan-mengambil-lompatan-proyek-quantum

0 komentar:

Posting Komentar

 
TOP