Logo ro.androidermagazine.com
Logo ro.androidermagazine.com

Ce este furculița?

Cuprins:

Anonim

Zilele trecute ați auzit probabil cuvântul „furculiță” de mai multe ori decât puteți număra. Facebook a forțat acest lucru (chiar dacă nu a făcut-o), Amazon a făcut furori cu asta, echipa Chrome a dat cu forța întregul web și așa mai departe. În timp ce toată lumea vorbește despre cine se fură cu cine, nimeni nu se deranjează să explice exact ce este furculița și de ce atât de mulți oameni au o problemă cu asta.

Căutarea sau distrugerea a primit o repriză proastă în urmă cu 20 de ani în urmă, deoarece avea tendința de a împărți dezvoltatorii în facțiuni separate care nu împărtășeau codul unul cu celălalt. În zilele în care s-au împărțit Gnu-Emacs / XEmacs, acest lucru a fost important, deoarece nu erau aproape atât de mulți oameni capabili să lucreze la aceste proiecte mari, open source, și să aibă două sucursale sau furci însemna că durează mai mult. caracteristici și probleme de adresare pentru ambele părți. În unele cazuri, acest lucru se întâmplă încă, sunt sigur, dar în cea mai mare parte există o mulțime de dezvoltatori care pot umple golul lăsat de cei care au o viziune separată și vor căuta codul pentru a-l urma. Dar unii oameni nu uită niciodată, iar stigma atașată furculițelor furcă este trecută. Acestea fiind spuse, nu putem pretinde că nu se întâmplă furci proaste. Trebuie doar să privim în trecut actul înainte de a lua deciziile noastre.

Știu că câțiva dintre voi de acolo știu ce înseamnă toate acestea și încearcă doar să ignore tot zgomotul, dar pentru mulți este confuz. Să încercăm să remediem asta.

Ce este o furculiță software și cum afectează Android-ul?

Gândiți-vă la Android o mulțime de coduri. Există două porțiuni - părțile open-source, care este AOSP și părțile proprii pe care Google le păstrează. Dacă cineva dorește să ia Google Android și să-i aducă modificări, va descărca codul pentru a-l folosi ca bază și va forma propriul proiect cu acesta. Samsung face asta, HTC face asta, iar dezvoltatorul dvs. ROM preferat s-ar putea să o facă. Oricând cineva ia un cod existent și începe un proiect independent (asta este o distincție importantă) pe baza acestuia, a creat o furculiță. Mulți dezvoltatori vor verifica codul, vor modifica porțiuni ale acestuia, apoi vor trimite modificările în amonte în totalitate, ceea ce nu este o furculiță.

Amazon a ridicat câteva sprâncene când a forțat Android să construiască sistemul de operare pentru linia Kindle Fire. Dar, în ceea ce privește partea open-source a lucrurilor, nu a fost altfel decât ceea ce a făcut Motorola cu Cliq, sau HTC a făcut cu Hero - sau ceea ce face Samsung acum pentru dispozitivele din seria Galaxy. Așa funcționează multe proiecte mari de tip open-source. Fiecare furnizor (cu excepția, poate, Amazon) funcționează cu aceleași elemente de bază, raportarea erorilor probabile și trimiterea corecțiilor în amonte în timp ce merg pe parcurs, pentru a-și crea propria acțiune asupra produsului final.

Facebook nu a făcut furori cu Android. A folosit sistemul de intenții Android (un mod în care aplicațiile pot funcționa între ele și se pot partaja pe Android) și a creat o aplicație mare care include în plus o casă înlocuitoare. În interiorul sandbox-ului lor, pot face tot ce vor sau au nevoie să facă și, atât timp cât utilizează intențiile Android, pot comunica cu restul sistemului. Dacă doriți să obțineți tehnică, HTC poate că a forțat Android-ul să funcționeze mai bine cu Facebook Home în HTC First, deoarece menționează unele modificări care au fost făcute pentru o mai bună compatibilitate. Vom ști mai multe despre ce au făcut atunci când telefonul se dezlănțuie.

În orice caz, căutarea codului nu este întotdeauna un lucru rău și nu merită toată negativitatea pe care o auziți când cineva o menționează. Analistul industriei Stephen O'Grady o rezumă bine. Cred că:

Merită menționat însă că, din perspectiva clientului, furculițele sau variantele nu sunt în general universale. În timp ce diferitele versiuni Android pot reprezenta decizii nefericite de design din partea furnizorilor responsabili pentru acestea, aplicațiile sunt în majoritatea covârșitoare a cazurilor compatibile de la dispozitiv la dispozitiv, asumându-și echivalența versiunii.

A avea aplicații compatibile de la dispozitiv la dispozitiv este motivul pentru care Android a fost proiectat. Căutarea codului nu face ca acest lucru să nu se întâmple. Dar alte lucruri fac.

Cealaltă parte a forking Android

În China puteți cumpăra un telefon de la un operator care rulează Android, dar nu are servicii Google? La fel ca și Kindle Fire, este construit din codul Android al Google (uneori nemodificat), dar nu a fost trimis și testat pentru a fi compatibil cu Google și are lucruri precum Gmail sau Google Play. Aceste aplicații și fișierele de sistem asortate pe care trebuie să le ruleze nu sunt open-source și nu le poți include fără permisiunea Google.

În afară de un „diferit” (nu voi spune că este „mai rău”, doar diferit) experiență de utilizator fără aceste aplicații, ele pot arăta și simți la fel ca un telefon Android cumpărat de la Verizon sau AT&T. De asemenea, pot arăta și simți foarte diferit, așa cum a făcut Amazon. Dar nimic din toate acestea se datorează faptului că au eliminat codul Android al Google - a fost o decizie conștientă de a nu face un dispozitiv Google „certificat”. Google prezintă Android ca platformă de aplicații și set de cadre pentru aplicații. Fără a include aplicațiile de servicii Google nu face ca acesta să fie mai puțin o platformă de aplicații. Desigur, ne imaginăm că Google ar prefera ca toate dispozitivele bazate pe Android și Android să utilizeze serviciile Google, dar nu există o regulă dificilă care să spună că un vânzător trebuie să o facă.

Crearea de dispozitive fără aplicații Google nu are nicio legătură cu căutarea Android. Poate face ca dispozitivele să fie mai puțin de dorit sau, într-o bună zi, telefonul Android final să poată fi construit fără aplicațiile Google, dar se poate întâmpla fără a căuta niciun cod. Cu toții suntem vinovați că am împletit cele două lucruri, dar nu ar trebui să facem asta.

Căutarea este doar un lucru

Nu este bine ca OEM-urile să scoată Android și să lucreze la propriul proiect cu ajutorul codului. Nu este rău ca OEM-urile să scoată Android și să lucreze la propriul proiect cu ajutorul codului. Este doar un lucru pe care îl fac toți.

Nexus fanclub deoparte, nu puteți să-mi spuneți că Samsung sau HTC a distrus Android făcând codul și construind pe el. Au adăugat funcții, păstrând totuși compatibilul, astfel încât aplicațiile create pentru „Android” în conformitate cu ghidurile dezvoltatorului să funcționeze bine. Și livrează constant dispozitive pe care oamenii doresc să le cumpere. Cred că acest lucru este exact ceea ce Google a avut în minte pentru Android. Știau că în cele din urmă cineva va merge puțin mai departe și va crea ceva care nu este pe deplin „Android”, dar asta este OK. Utilizatorii acestor dispozitive sunt încă pe Internet, iar aplicațiile web mobile Google sunt destul de decente.

Sperăm, acum știți ceva mai multe despre ce înseamnă oamenii când vorbesc despre căutarea Android-ului.