Logo uk.androidermagazine.com
Logo uk.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 Android (іноді немодифікованого), але його не надсилали та перевіряли на сумісність із Google, включаючи такі речі, як Gmail або Google Play. Ці програми та різноманітні системні файли, які їм потрібно запустити, не є відкритим кодом, і ви не можете просто включити їх без дозволу Google.

Окрім "іншого" (я не збираюся говорити, що це "гірше", лише різного) користувацького досвіду без цих додатків, вони можуть виглядати і відчувати себе так само, як Android-телефон, який ви купуєте у Verizon або AT&T. Вони також можуть виглядати і відчувати себе дуже різними, як це робила Amazon. Але нічого з цього не відбувається, тому що вони відхилили Android-код Google - це було свідоме рішення не робити «сертифікований» Google пристрій. Google представляє Android як платформу додатків та набір програм. Якщо не включати сервісні додатки Google, це не робить його платформою додатків менше. Звичайно, ми гадаємо, що Google скоріше за все б на Android та Android-пристроях користувався послугами Google, але не існує жодного жорсткого правила, яке говорить, що постачальник повинен це робити.

Створення пристроїв без додатків Google не має нічого спільного з розгортанням Android. Це може зробити пристрої менш бажаними, або одного дня можна буде побудувати кінцевий Android-телефон без додатків Google, але це може статися, не розширюючи жодного коду. Ми всі винні в тому, що з'єднали ці дві речі разом, але ми не повинні цього робити.

Розпалювання - це лише річ

Непогано, що OEM-виробники розщеплюють Android та працюють над власним проектом з кодом. Непогано, що оригінали виробника виробляють Android та працюють над власним проектом з кодом. Це просто річ, яку вони всі роблять.

Убік фан-клубу Nexus, ви не можете сказати мені, що Samsung чи HTC зруйнували Android, відкинувши код і розробивши його. Вони додали функції, зберігаючи все сумісне, так що програми, створені для "Android" відповідно до вказівок розробника, будуть працювати чудово. І вони послідовно постачають пристрої, які люди хочуть придбати. Я думаю, що це саме те, що Google мав на увазі для Android. Вони знали, що врешті-решт хтось піде трохи далі і створить щось, що не повністю відповідає «Android», але це нормально. Користувачі цих пристроїв все ще в Інтернеті, і мобільні веб-додатки Google досить пристойні.

Сподіваємось, тепер ви знаєте трохи більше про те, що мають на увазі люди, коли вони говорять про розгортання Android.