Logo ms.androidermagazine.com
Logo ms.androidermagazine.com

Apakah garpu itu 'garpu'?

Isi kandungan:

Anonim

Beberapa hari yang lalu anda mungkin pernah mendengar perkataan "fork" lebih banyak kali daripada yang anda boleh hitung. Facebook memalsukan ini (walaupun tidak melakukannya), Amazon meminta itu, pasukan Chrome mengikat seluruh web, dan sebagainya dan sebagainya. Walaupun semua orang bercakap tentang siapa yang memalsukan siapa, tidak ada yang mengganggu untuk menerangkan dengan tepat apa yang forking, dan mengapa ramai orang mempunyai masalah dengannya.

Forking, atau menghancurkan, mendapat sedikit rep yang buruk sejak 20 tahun lalu, kerana ia cenderung untuk memisahkan pemaju menjadi puak yang terpisah yang tidak berkongsi kod antara satu sama lain. Pada zaman seperti perpecahan Gnu-Emacs / XEmacs, ini penting kerana tidak terdapat banyak orang yang mampu bekerja di projek-projek besar, sumber terbuka ini, dan mempunyai dua cawangan atau garpu bermakna ia memerlukan lebih lama untuk menambah ciri dan alamat untuk kedua-dua pihak. Dalam sesetengah kes ini masih berlaku, saya pasti, tetapi sebahagian besar terdapat banyak pemaju yang boleh mengisi kekosongan yang ditinggalkan oleh mereka yang mempunyai penglihatan yang berasingan dan akan menanggalkan kod untuk mengikutinya. Tetapi sesetengah orang tidak pernah lupa, dan stigma yang dilampirkan kepada pesalah-pesalah berjanggut akan diturunkan. Setelah mengatakan semua ini, kita tidak boleh berpura-pura garpu buruk tidak berlaku. Kita hanya perlu melihat tindakannya sendiri sebelum membuat keputusan.

Saya tahu beberapa dari anda di luar sana tahu apa maksud ini, dan hanya cuba mengabaikan semua bunyi bising, tetapi bagi ramai yang mengelirukan. Mari kita cuba untuk memperbaikinya.

Apakah garpu perisian, dan bagaimana ia mempengaruhi Android?

Fikirkan Android banyak kod. Terdapat dua bahagian - bahagian sumber terbuka, yang mana AOSP adalah, dan bahagian proprietari yang dikekalkan oleh Google. Jika seseorang mahu mengambil Google Android dan membuat perubahan kepadanya, mereka akan memuat turun kod tersebut untuk digunakan sebagai pangkalan, dan membentuk projek mereka sendiri dengannya. Samsung melakukan itu, HTC melakukannya, dan pemaju ROM kegemaran anda mungkin melakukannya. Bila-bila masa seseorang mengambil kod yang sedia ada, dan memulakan projek independen (itu perbezaan penting) berdasarkannya, mereka telah membuat garpu. Ramai pemaju akan menyemak kod, mengedit bahagiannya, kemudian menghantar perubahan mereka ke hulu secara keseluruhannya, yang bukan garpu.

Amazon menaikkan sedikit kening apabila ia membahayakan Android untuk membina OS untuk garis Api Kindle. Tetapi pada sisi sumber terbuka, ia tidak berbeza daripada apa Motorola lakukan dengan Cliq, atau HTC lakukan dengan Hero - atau apa Samsung kini untuk peranti siri Galaxy. Ini adalah berapa banyak projek sumber terbuka yang besar. Setiap vendor (kecuali mungkin Amazon) bekerja dengan asas yang sama, mungkin melaporkan bug dan mengemukakan pembetulan ke hulu ketika mereka pergi bersama, untuk membuat produk sendiri pada produk akhir.

Facebook tidak mengeluarkan Android. Ia menggunakan sistem niat Android (aplikasi cara boleh bekerja antara satu sama lain dan berkongsi pada Android) dan membina aplikasi besar yang tambahan termasuk rumah pengganti. Di dalam kotak pasir mereka, mereka boleh melakukan apa sahaja yang mereka mahu atau perlu lakukan, dan selagi mereka menggunakan niat Android, mereka boleh berkomunikasi dengan seluruh sistem. Sekiranya anda ingin mendapatkan teknikal, HTC mungkin mempunyai Android untuk bekerja lebih baik dengan Facebook Home di HTC First, kerana ia menyebut beberapa perubahan yang dibuat untuk keserasian yang lebih baik. Kami akan mengetahui lebih lanjut mengenai apa yang mereka lakukan apabila telefon menetas.

Dalam apa jua keadaan, kod forking bukan perkara yang selalu buruk dan tidak sepatutnya semua negatif yang anda dengar ketika seseorang menyebutnya. Penganalisis industri Stephen O'Grady menyimpulkan dengan baik saya berfikir:

Perlu dinyatakan, bagaimanapun, bahawa dari perspektif pelanggan, garpu atau varian tidak secara keseluruhannya buruk. Walaupun pelbagai versi Android mungkin mewakili keputusan reka bentuk malang di pihak vendor yang bertanggungjawab terhadapnya, aplikasi adalah dalam majoriti kes yang serasi dari peranti ke peranti, dengan mengandaikan kesetaraan versi.

Mempunyai apl yang serasi dari peranti ke peranti adalah mengapa Android direka. Kod penggera tidak menjadikannya tidak berlaku. Tetapi ada perkara lain.

Sisi lain Android forking

Di China, anda boleh membeli telefon dari pembawa yang menjalankan Android, tetapi tidak mempunyai perkhidmatan Google? Sama seperti Kebakaran Kindle, ia dibina dari kod Android Google (kadang-kadang tidak diubah suai) tetapi tidak diserahkan dan diuji untuk menjadi serasi Google dan mempunyai perkara seperti Gmail atau Google Play termasuk. Aplikasi tersebut dan fail sistem yang pelbagai yang mereka perlukan untuk dijalankan, bukan sumber terbuka, dan anda tidak boleh memasukkannya tanpa kebenaran dari Google.

Selain daripada yang "berbeza" (saya tidak akan mengatakan pengalaman pengguna yang "lebih teruk, hanya berbeza) tanpa aplikasi ini, mereka boleh melihat dan merasa sama seperti telefon Android yang anda beli dari Verizon atau AT & T. Mereka juga boleh melihat dan merasa sangat berbeza, seperti yang dilakukan oleh Amazon. Tetapi tidak satu pun daripada ini kerana mereka telah melupakan kod Android Google - keputusan yang sedar untuk tidak membuat peranti "diperakui" Google. Google membentangkan Android sebagai platform aplikasi dan rangkaian aplikasi. Tidak termasuk aplikasi perkhidmatan Google tidak menjadikannya lebih sedikit daripada platform aplikasi. Sudah tentu, kita bayangkan Google lebih suka menggunakan semua peranti berasaskan Android dan Android menggunakan perkhidmatan Google, tetapi tidak ada aturan keras dan cepat yang mengatakan vendor harus melakukannya.

Membuat peranti tanpa aplikasi Google tiada kena mengena dengan Android forking. Ia mungkin membuat peranti kurang digemari, atau suatu hari telefon Android muktamad boleh dibina tanpa aplikasi Google, tetapi ia boleh berlaku tanpa memaksa mana-mana kod. Kita semua bersalah untuk menyatukan dua perkara itu bersama-sama, tetapi kita tidak boleh melakukannya.

Forking hanya satu perkara

Tidak baik bahawa OEM mengeluarkan Android dan bekerja pada projek mereka sendiri dengan kod. Ia tidak buruk bahawa OEM mengeluarkan Android dan bekerja pada projek mereka sendiri dengan kod. Ia hanya satu perkara yang mereka semua lakukan.

Fanclub Nexus mengetepikan, anda tidak boleh memberitahu saya Samsung atau HTC telah merosakkan Android dengan memalsukan kod dan membina padanya. Mereka menambah ciri sambil mengekalkan semua yang serasi supaya aplikasi dibina untuk "Android" mengikut garis panduan pemaju akan berfungsi dengan baik. Dan mereka secara konsisten memberikan peranti yang ingin dibeli orang. Saya fikir ini betul-betul diingat oleh Google untuk Android. Mereka tahu bahawa akhirnya seseorang akan pergi sedikit lebih jauh dan membuat sesuatu yang tidak sepenuhnya "Android" mematuhi, tetapi itu OK. Pengguna peranti tersebut masih di Internet, dan aplikasi web mudah alih Google cukup baik.

Mudah-mudahan, sekarang anda tahu sedikit lebih lanjut mengenai apa yang dikatakan oleh orang apabila mereka bercakap tentang Android forking.