Разработване на приложения за преглед на хром

Хабре публикувани много статии за създаването на разширения за Chrome, но тема програмиране на приложения за Chrome (те са приложения за Chrome) докосна по много по-малко. През последните години тя е още по-належащо заради разпространението на ChromeOS устройства. В допълнение, на инфраструктурата за създаването на приложения за Chrome е станал по-стабилен и лесен за използване. В тази статия ще се опитам да отговоря на основния въпрос: защо се притеснява да пишат приложения за Chrome, как те се различават от разширения, уеб услуги, настолни приложения и т.н. както и как те се развиват, и това, което налага ограничения върху тях. Ако този въпрос ще бъде от интерес, в статии ще продължи, засягащи по-конкретни въпроси.

Разработване на приложения за преглед на хром

  • Работата по ChromeOS. В момента приложението Chrome - основният начин да получите вашата програма за потребителите Chromebook'ov. Е то си струва? Chromebook'ov до по-малко от, да речем, компютри, работещи под Windows, но тенденцията се променя. Миналата година в Съединените щати е продала 5 пъти повече от Chromebook'ov Macbook'ov
  • приложения за Chrome, без никакви допълнителни усилия, за да работят на Windows, Linux и OS X. Разбира се, има много други начини да се правят прилагането преносим, ​​но повечето от тях са много по-скъпо.
  • Наскоро възможност да порт приложения в браузъра на Android и IOS.
  • На повечето системи, приложения за Chrome се появи на потребителя като нормална програма. Бягат от менюто "Старт", отворете прозореца, без обичайния контрол на браузъра може да се използва като програма по подразбиране за отваряне на файлове, а в противен случай се държат
    като пълноправен програма.

Пакетирани приложения и хостваните приложения

Всеки е виждал списъка с инсталирани по подразбиране в икони на приложението, които Chrome, Gmail, Google Диск. Ако кликнете върху един от тях, нищо като приложението не е отворен. Вместо това, потребителят просто превежда страницата на услугата.

Фактът, че има две коренно различни типове приложения: домакин приложение и пакетирано приложение. За съжаление, утвърден български условия за тях там. Търсене, Gmail и т.н. - .. принадлежат към беше домакин. Това приложение се състои от файл manifest.json URL, както и настройките за сигурност, както и икони. В действителност, тя беше домакин на приложението - това е специален раздел за онлайн услугата.

За разлика от уеб-базираната в случай на пакетирано приложение, всички файлове, необходими за работата на приложения се съхраняват на компютъра на потребителя. Подобни приложения обикновено са по-добре работи на линия, да управлявате прозорците, и като цяло да има достъп до повече Chrome APIs.

В бъдеще ние ще се съсредоточи върху пакетирани приложения.

Приложения и разширения

В същото време, разширение и приложения вътре са разположени много сходни. И тези, и другите са инсталирани от уеб магазина на Chrome. са .crx файлове са ZIP-архиви. Разширителните свойства / приложенията, описани в manifest.json. и потребителския интерфейс са написани на HTML5. Много софтуерни интерфейси са на разположение като разширения и приложения за Chrome.

В същото време, има и съществени разлики. Приложенията могат да използват функциите, които не са на разположение за разширения:

  • управлявате вашите прозорци,
  • да работите директно с файловете на компютъра на потребителя,
  • прилага програми за отваряне на операционната система на различни видове файлове,
  • отворени TCP и UDP връзки (да, например използва клиента да SSH-Chrome),
  • работи с USB.

функции за развитие

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

Много от използваните интерфейси чрез прилагане, са общоприети стандарти и са добре познати на всички уеб разработчици. За UI с помощта на HTML и CSS, за работа с HTTP - XMLHttpRequest т.н.

Приложението за Chrome с малко или никакви допълнителни усилия се осъществява синхронизация между кандидатстване случаи на различни компютри. Работа с файлове, както и всички други интерфейси, зависими от външни ресурси, подредени асинхронно. От една страна, това усложнява кодът за съответните сделки, а от друга - осигурява бърза реакция на интерфейса и предпазва от блокиране.

Друга особеност на Chrome - управление на сигурността. В Chrome, тя е подредена по различен начин в сравнение с класическите операционни системи и по-скоро като система за сигурност в Android. Чрез добавянето на разработчиците на софтуер интерфейси Chrome винаги са се приближи консервативно. При разработването на системата по-лесно да се разхлабят ограниченията за сигурност с течение на времето, отколкото да ги направят по-строги. В резултат на това, например, приложението не е неограничен достъп до файловата система. Основно, те работят с файлове, или принадлежност към исковата молба, нито изрично потребителят отвори.

Разработване на приложения за преглед на хром