Logo bg.androidermagazine.com
Logo bg.androidermagazine.com

Какво вилката е „вилица“?

Съдържание:

Anonim

През последните няколко дни вероятно сте чували думата „вилица“ повече пъти, отколкото можете да преброите. Facebook разклони това (въпреки че не беше), Amazon вили това, екипът на Chrome раздели цялата мрежа и така нататък и така нататък. Докато всички говорят за това, кой вика кой, никой не си прави труда да обясни какво точно е разклонението и защо толкова много хора имат проблем с него.

Развиването или раздробяването получи малко лош представител преди 20 години или повече, тъй като имаше тенденция да раздели разработчиците на отделни фракции, които не споделяха кода помежду си. В дните на неща като Gnu-Emacs / XEmacs се раздели, това беше важно, тъй като нямаше почти толкова хора, способни да работят по тези големи проекти с отворен код, а наличието на два клона или вилици означаваше, че е необходимо повече време да се добави функции и адресиране на проблеми за двете страни. В някои случаи това все още се случва, сигурен съм, но в по-голямата си част има много разработчици, които могат да запълнят празнотата, оставена от тези, които имат отделна визия и ще отклонят код, за да я следват. Но някои хора никога не забравят и стигмата, прикрепена към разклонителни вилици, се предава. Като каза всичко това, не можем да се преструваме, че лошите вилици не се случват. Просто трябва да погледнем покрай самия акт, преди да вземем решенията си.

Знам, че няколко от вас знаят какво означава всичко това и просто се опитват да игнорират целия шум, но за мнозина това е объркващо. Нека се опитаме да поправим това.

Какво е софтуерна вилица и как се отразява на Android?

Помислете за Android с код. Има две части - части с отворен код, което е AOSP, и собствени части, които Google поддържа за себе си. Ако някой иска да вземе Google Android и да направи промени в него, той ще изтегли кода, който да използва като основа, и ще формира свой собствен проект с него. Samsung прави това, HTC прави това и вашият любим разработчик на ROM може да го направи. Всеки път, когато някой вземе съществуващ код и започне независим (това е важно разграничение) проект въз основа на него, той е създал вилица. Много разработчици ще проверят кода, ще редактират части от него, след което ще изпратят промените си обратно нагоре по веригата, което не е вилица.

Amazon повдигна доста вежди, когато накара Android да изгради ОС за линията Kindle Fire. Но от страна на нещата с отворен код, той не беше по-различен от това, което Motorola направи с Cliq, или HTC направи с Hero - или това, което Samsung прави сега за устройствата от серията Galaxy. Ето колко големи проекти с отворен код работят. Всеки доставчик (с изключение на може би Amazon) работи със същите основи, като вероятно съобщава за грешки и изпраща корекции обратно нагоре по течението, докато върви заедно, за да създаде свой собствен опит за крайния продукт.

Facebook не разклони Android. Използва системата за намерения на Android (начин приложенията да работят помежду си и да споделят на Android) и създаде голямо приложение, което включва допълнително дома за заместител. Вътре в своята пясъчна кутия те могат да правят всичко, което искат или трябва да правят, и докато използват намеренията на Android, те могат да комуникират с останалата част от системата. Ако искате да получите техническа информация, HTC може би е накарал Android да работи по-добре с Facebook Home в HTC Първо, тъй като в него се споменават някои промени, направени за по-добра съвместимост. Ще разберем повече за това, което са направили, когато телефонът изгасне.

Във всеки случай, форкинг кодът не е винаги лошо нещо и не заслужава целия негатив, който чувате, когато някой го спомене. Индустриалният анализатор Стивън О'Грейди го обобщава добре, мисля:

Струва си да се спомене обаче, че от гледна точка на клиента вилиците или вариантите не са универсално лоши. Въпреки че различните версии на Android могат да представляват злополучни дизайнерски решения от страна на доставчиците, отговорни за тях, приложенията в по-голямата част от случаите са съвместими от устройство до устройство, като се предполага, че версията е еквивалентна.

Приложението, съвместимо от устройство до устройство, е причината Android да бъде проектиран. Форкинг код не прави това да не се случи. Но други неща правят.

Другата страна на разклоняване на Android

В Китай можете ли да купите телефон от оператор, който работи с Android, но няма услуги на Google? Точно като Kindle Fire, той е изграден от Android кода на Google (понякога немодифициран), но не е изпратен и тестван за съвместим с Google и включва неща като Gmail или Google Play. Тези приложения и разнообразните системни файлове, които трябва да стартират, не са с отворен код и не можете просто да ги включите без разрешение от Google.

Освен "различно" (няма да казвам, че е "по-лошо", само различно) потребителско изживяване без тези приложения, те могат да изглеждат и да се чувстват точно като телефон с Android, който купувате от Verizon или AT&T. Те също могат да изглеждат и да се чувстват много различно, както е направила Amazon. Но нищо от това не е, защото отхвърлиха Android кода на Google - това беше съзнателно решение да не се прави Google сертифицирано устройство. Google представя Android като платформа за приложения и набор от рамки за приложения. Това, че не включва сервизните приложения на Google, не я прави по-малко платформа за приложения. Разбира се, ние си въобразяваме, че Google би предпочел всички Android-базирани устройства да използват услугите на Google, но няма твърдо и бързо правило, което да казва, че доставчикът трябва да го направи.

Направата на устройства без приложения на Google няма нищо общо с разклоняването на Android. Това може да направи устройствата по-малко желани или един ден крайният Android телефон може да бъде изграден без приложенията на Google, но това може да се случи, без да се форсира никакъв код. Всички сме виновни, че свързваме двете неща заедно, но не бива да го правим.

Раздробяването е просто нещо

Не е добре, че OEM-ите разклоняват Android и работят по собствен проект с кода. Не е лошо, че OEM производителите разклоняват Android и работят по собствен проект с кода. Това е просто нещо, което всички правят.

Отстрани от фенклуба на Nexus, не можете да ми кажете, че Samsung или HTC са съсипали Android, като са прехвърлили кода и са надградили. Те добавиха функции, като същевременно поддържат всичко съвместимо, така че приложенията, създадени за „Android“ според указанията на разработчиците, да работят добре. И последователно доставят устройства, които хората искат да купят. Мисля, че точно това има предвид Google за Android. Те знаеха, че в крайна сметка някой ще отиде малко по-далеч и ще създаде нещо, което не е напълно съвместимо с Android, но това е ОК. Потребителите на тези устройства все още са в Интернет, а мобилните уеб приложения на Google са доста прилични.

Да се ​​надяваме, че сега знаете малко повече за това какво означават хората, когато говорят за раздвижване на Android.