Съдържание:
- Какво е приложение за HTML5?
- Реалността на HTML5 приложенията
- Така че искам ли да видя повече HTML5 приложения или не?
Чували ли сте? Приложенията на HTML5 ще променят всичко, вероятно догодина. Поне това твърди от една страна на дебата за HTML5 спрямо родните приложения. Това е послание, което от време на време си проправя път към светлините на прожекторите и това ще бъде така завинаги. Или поне докато всъщност не се случи и всички най-добри приложения са HTML5 приложения. Не е необичайно да видите, че разработчиците имат такива видове дебати и поддръжници на всяка страна, обяснявайки как тяхната версия е по-добрата версия, но когато нещата надхвърлят дискусията за разработчици и в основния поток, където вие и аз ги чуваме, те могат да ни изтръпнат. Трябва ли наистина да ни интересува какво чуваме?
В този случай да. Докато утопията, в която всяко приложение е написано на HTML5 и всеки потребител има един и същи опит, все още е добър начин да се изключи, ако някога се случи, HTML5 в хибридна форма вече е доста голяма работа. Трябва да знаем и разбираме всичко, което е доста голяма работа.
Какво е приложение за HTML5?
Първият път, когато повечето хора чуха споменаването на HTML5 беше, когато Стив Джобс ни каза, че бъдещето на мрежата ще бъде, а Flash няма. Неговото изявление стана частично вярно, защото Apple блокира достъпа до всякакъв вид Flash плейър на iOS, но не бе нужен никакъв визионер, за да знае, че това идва, защото HTML5 има много повече неща, отколкото Flash някога. И просто така се случва, че бъдещето на мрежата също е доста добър начин за кодиране на приложения.
HTML означава HyperText Markup Language, а ние сме на 5-та редакция на стандарта. Но когато чуете термина HTML5 app, независимо дали това означава уеб приложение или приложение, което можете да инсталирате на телефона си, вие наистина се занимавате с три типа код.
- HTML предоставя рамка, в която разработчиците могат да поставят своя код и приложение може да го превърне в нещо, с което можем да видим и да взаимодействаме.
- CSS предоставя начин за оформление как ще изглеждат отделни битове код, след като бъдат изобразени и показани на нашия екран.
- JavaScript е това, което го прави всичко интерактивно и да бъде в състояние да "направи" всичко.
Това, което прави HTML5 страхотно, е, че всичко се разбира от едно приложение, което разработчикът на приложения няма нужда да поддържа и всичко работи на всяко устройство с екран, който има своя собствена версия на това приложение. Говорим за уеб браузър, но не и за самото приложение за уеб браузър. Компонентът на уеб браузър, който може да поеме целия този код и да го превърне в нещо, което можем да използваме в движение, е доста преносим и част от много приложения, които вече използвате като уеб изглед.
Инженер от Mozilla веднъж каза: „Кодът веднъж бягай навсякъде, не означава да избягаш. Ключът е оптимизацията.“ Умни момчета, тези инженери от Mozilla.
Това означава, че един програмист може да напише кода си и да го настрои фино, след което да го разгърне навсякъде. Това е много по-различно от писането на отделен код за Android, iOS, macOS, Windows и HTML за webOS и BlackBerry 10. Разработчикът може да напише код, използвайки каквато среда за разработка да изберат, независимо дали това е Notepad или нещо сложно като Visual Studio или Adobe Dreamweaver, отстраняване на грешки и фина настройка в какъвто и браузър да изберат и той все още просто работи навсякъде.
Това включва и вашия телефон. Всички сме виждали HTML5 приложения, които се използват като уеб страница. Места като Twitter или мобилната версия на Gmail са отлични примери за работа на HTML5. Но тъй като HTML5 може да бъде изобразен от компонент за уеб изглед, пускането на прозорец в основна рамка на приложението, за да се създаде приложение, което всъщност инсталирате на телефона си, е лесно и бързо. Има дори инструменти на трети страни, които вършат цялата работа за вас, като Apache Cordova. Това помага на новите разработчици да представят своите идеи за всички, както и за опитните разработчици, които сега имат време да сънуват неща, които не сме виждали досега. HTML5, вграден в местно приложение, може да стартира кода и да използва активите, получени от интернет, но програмистът също може да ги инсталира локално и да насочи кода там за честните добри приложения офлайн.
Но не всичко е чудесно за HTML5.
Реалността на HTML5 приложенията
Ето къде нещата могат да станат объркващи. Когато мислим за уеб страница, често забравяме, че уеб страница изпраща кода си само в двигател на браузъра и това е нашето устройство, което върши работа. Това означава, че неща като геолокация, аудио и видео чат в реално време, 3D ускорена графика и много други са не само възможни, но и прости за разработчика, който да реализира с помощта на HTML5. Това е така, защото органът по стандартите е казал: „Ей, момчета, всички ние трябва да правим това нещо по този конкретен начин и разработчик може да поиска от нас да го направим така“.
Това е целта, така или иначе. Реалността може да бъде малко по-различна и трябва само да разгледаме възпроизвеждането на видео за чудесен пример защо. Всеки браузър, който бихте искали да използвате, поддържа HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox и Safari са HTML5 браузъри и поддържат възпроизвеждане на видео, след като разработчик въведе само няколко думи, които насочват към видео. Всеки тип преносим компонент за уеб изглед, който тези приложения имат, ще направи същото, защото те използват един и същ двигател за изобразяване.
Когато не прилагате правила, те стават предложения; такива, които никой не иска да следва.
Но те не поддържат един и същ тип видео, тъй като HTML5 е кросплатформен, отворен и не е патентован, така че никой не ги принуждава да поддържат всички формати. Ogg Theora е популярен видео формат, който всеки браузър поддържа, с изключение на Internet Explorer, който се случва като браузър по подразбиране на много компютри. H.264 е още по-популярен, но не е отворен или безплатен за използване, така че Firefox не го поддържа. VP8 и WebM са безплатни за използване и отваряне и всеки двигател на браузъра ги поддържа, но Internet Explorer и Safari изискват от потребителя да извлече и инсталира поддръжка. Технически HTML5 поддържа възпроизвеждане на HD видео и е много лесно за разработчика да го приложи. В реалния свят се поддържа само подходящият тип видео.
YouTube възпроизвежда цялото видео с HTML5, защото Google има пари да конвертира видеоклиповете, които качвате.
HTML5 също зависи от използвания хардуер и от това колко е опитен разработчика, когато става въпрос за писане на кода. Изборът на грешна библиотека на JavaScript може да доведе до същия резултат, но може също да доведе до изтичане на памет и обработка на DOM манипулация (Document Object Model - създаден при зареждане на страница или приложение и включва всеки елемент на страницата или в приложението като отделен "документ") лошо може да направи приложението HTML5 смущаващо бавно дори и на най-добрия хардуер. На телефони, които не са толкова способни, това води бързо до това, че потребителите деинсталират приложението ви.
Това не е единственият проблем. Когато изграждате HTML5 приложение, което дърпа всичко от интернет, трябва да се справите с времето за зареждане. Това добавя скоростта на връзката на потребителя в списъка с неща, които могат да накарат приложението ви да работи бавно, заедно с физическите възможности на хардуера (много телефони използват процесори, които не са точно бързи) и оптимизиране на кода. Ако ви отнеме една секунда да покажете кода си на потребителско устройство и 10 секунди, за да го извлечете от интернет, ще имате много нещастни потребители.
Приложението Facebook е пример за това, което не е наред с HTML5, точно както Instagram е пример за това, което е правилно.
Има отличен пример за това на разположение и неговият почти всички от нас са били недоволни, без значение какъв тип телефон използваме: приложението Facebook. Приложението на Facebook е основно уеб изглед, вграден в рамка, която държи бутоните и помага да управлявате идентификационните данни на вашия акаунт или да натискате съобщения по начин, по който одобрява операционната система. Всички неща, които се случват вътре в приложението, се правят с HTML5 и той е прекалено много, за да може да се справи, след като вземете предвид всичките му данни от интернет. Разработчиците продължават да добавят все повече и повече във Facebook, потребителите публикуват големи файлове, хоствани в места извън Facebook, а милиони и милиони хора удрят сървърите на Facebook наведнъж, 24/7. Това прави приложенията бавни за обновяване, много гладни за захранване и обект на много оплаквания.
Мобилният уебсайт на Facebook също е написан на HTML5, но е създаден така, че да е лесен за ресурси, тъй като е за мобилна употреба. Това прави по-бързо зареждането на съдържанието, което искате да видите, дори ако цялото това съдържание не се показва толкова хубаво, колкото е в пълния изглед. Това е и причината мобилният сайт и Facebook „lite“ приложенията, които го препращат, да работят много по-добре от официалното приложение на Facebook. И това не е просто проблем във Facebook - има много приложения, които биха поддържали всичките им функции с помощта на HTML5, но са също толкова сложни (хубава дума за подути, защото са били около време и непрекъснато се променят) като Facebook и би действал по същия начин.
Така че искам ли да видя повече HTML5 приложения или не?
Да! Но не всички приложения.
HTML5 наистина е добър в много неща и е чудесен начин за разработчика да използва времето си да мисли за творчески идеи, вместо да се вкоренява чрез справочно ръководство на Objective-C или C ++. Но понякога твърдата структура на езиците за разработка, която принуждава програмиста да прави нещата по определен начин, е това, което прави крайния резултат да работи по-добре на нашите телефони.
Приложенията на HTML5 могат да бъдат кошмар, какъвто виждаме от приложението Facebook, или могат да бъдат доста страхотни, както виждаме от сайта за мобилни Gmail. Или Uber. Или Instagram. Или някое от стотиците HTML5 приложения, които използваме всеки ден. Това не е нещо, за което би трябвало да се тревожим, но напълно е разработчиците да безкрайно да обсъждат. И сега, докато те дебатират и се опитват да ви убедят кое е по-добро, знаете малко защо те казват нещата, които казват.
Може да спечелим комисионна за покупки, използвайки нашите връзки. Научете повече.