Какво да очакваме от HTML5

3
Добави коментар
pepemanshon
pepemanshon

Какво да очакваме от HTML5

Огромно очакване се породи в много уеб разработчици, след като консорциума W3C неотдавна обяви подготвянето на следващата версия на популярния маркъп език HTML. За много от тях това дори е закъсняла стъпка. Всъшност HTML не е бил ъпгрейдван повече от десетилетие – последната версия XHTML 1.1 получава стандартизация от W3C през 2001. Не е чудно, че оттогава досега изискванията на разработчиците нарастнаха достатъчно много, за да обявят HTML и XHTML за са прекалено остарели и неадекватни за нуждите на съвременните уеб приложения.

HTML5 обещава да промени всичко това. Когато новия стандарт стане факт, той ще включва тагове и интерфейси за подобрена интерактивност, мултимедия и локализация. И докато някои браузъри вече експериментират с новите функционалности на HTML5, все повече уеб програмисти изразяват надежда, че осъвременената версия на езика ще ги освободи от зависимостта на Flash, QuickTime, Silverlight и други плъгини.

Но въпреки, че някои големи имена в мрежата – включително Apple, Google, Mozilla, Vimео и YouTube, вече започнаха да се заиграват с новия стандарт, W3C смятат, че пътя към HTML5 няма да е нито толкова лесен, нито толкова кратък. В момента някои части от спецификацията са противоречиви, а други все още очакват финализиране и в крайна сметка може да минат доста години до излизането на изцяло готовия ъпгрейд. В същото време разработчиците са изправени пред трудно предизвикателство – как да изграждат ботаги уеб приложения с наличните технологии и едновременно с това да проправят пътя за плавното преминаване към HTML5.

Модернизиране на HTML за богато съдържание

Богатите приложения и HTML не винаги са вървели ръка за ръка. „Бащата“ на Интернет – Тим Бърнърс-Лий, си представял HTML като „прост маркъп език за създаване на платформено независими хипертекст документи“. С появата на XHTML, чистата XML формулировка на езика, W3C запазва фокуса върху уеб страниците като документи, прилагайки новите XHTML стандарти за структуриране на документи, съвместимост с XML инструменти и изграждане на семантични мрежи.

Това успява да разочарова много разработчици, които съзирали в Интернет по-голям потенциал за създаване на приложения. През 2004 представители на Apple, Opera Software и фондацията Mozilla създават Web Hypertext Application Technology Working Group (WHATWG), независим консорциум за уеб стандарти, с основната цел да преработят HTML паралелно с W3C за изграждане на Уеб, фокусиран повече върху уеб приложенията.

През 2007, докато работата по XHTML 2 изглежда затънала в безкрайни дебати, W3C в крайна сметка решава да заимства работата на WHATWG като отправна точка за създаване на новия HTML5 стандарт. По това време дори Бърнърс-Лий е възприел идеята за фокусиране върху уеб приложенията. „Някои неща стават по-ясни с течение на времето“, пише той през 2006. „Необходимо е HTML да се развива постепенно. Опита да накараме света да превключи към XML отведнъж … не проработи.“

Това не означава, че с концепцията за чист XML уеб език е свършено. Въпреки, че HTML отново взе водещата роля в усилията за стандартизиране, XML формулировка на HTML5 (която ще бъде известна като XHTML5) се развива едновременно с това. Разликата е, че докато XHTML5 ще бъде достъпно за тези, които вече са направили „превключването“, разработчиците вече няма да бъдат задължени да спазват строгия синтаксис на XHTML, за да се възползват от най-новите функционалности в мрежата.

HTML5: Само освежаване?

Дори и така да е, HTML5 е наследил много от допълненията, предложени първоначално за XHTML 2, включително множество функционалности, предназначени за подобряване структурирането на документа. Така например, нови HTML тагове като header, footer, dialog, aside и figure позволяват да се определят общи елементи от документа по последователен начин. Преди това разработчиците трябваше да определят такива елементи, използвайки div тагове с потребителски класове – един доста произволен метод, който затруднява парсването на HTML документите.

Освен това HTML5 продължава усилията да раздели уеб съдържанието от представянето. Разработчиците може да се изненадат да видят елементите i и b достъпни в новия стандарт, но те вече се използват за стилизиране на части от текста по различни начини, без да изрично да налагат конкретно типографно оформление (например курсив или удебеляване, както досега). За сравнение тага u, който се използва специално за подчертаване, е изключен от HTML5, заедно с други елементи на представянето като font, center и strike. За стилизирането на тези атрибути вече ще се грижи изцяло CSS.

Новия стандарт въвежда и допълнителни типове данни за input елементите на форма като дати, URL и мейл адреси. HTML5 въвежда и понятието микроданни – метод, който позволява машинно-разбираеми етикети да бъдат вграждани в HTML документи, така че да улесняват работата в семантични мрежи.

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

Възможности за по-богат, базиран на стандарти Уеб

Най-очакваните допълнения в HTML5, обаче остават новите елементи и API-та, които позволяват създаване мултимедия единствено с HTML. Съвременните уеб страници включват все повече графики, анимации, видео и звук, но досега тези възможности изискваха допълнителен софтуер на трети страни като Flash, RealMedia или QuickTime. Подобни плъгини не само въвеждат рискове за сигурността, но и стесняват аудиторията на такива сайтове.

Един от начините, по който HTML5 се справя с този проблем е като се доближава по-близо до сродни маркъп езици. Авторите на съдържание, например, могат да вграждат код, написан на MathML (за интерпретиране на уравнения) или SVG (за рендиране на векторни изображения) директно в своя HTML5 маркъп. Тази повишена гъвкавост прави платформено-независимия HTML по-конкурентен на файлови формати като Flash и Silverlight, създадени поначало за работа с текст и графика.

 

HTML5 видео плеър и добавянето му с video тага, diveintohtml5.org

Но това, което повечето уеб разработчици очакват с най-голямо нетърпение са новите аудио и видео тагове, на които се възлагат надежди да направят най-после вграждането на мултимедиино съдържание в страниците много по-лесно. В спецификациите на HTML5 тези тагове са дефинирани като неутрални по отношение на кодеците, което означава, че поддръжката им ще зависи изцяло от браузърите. Въпреки това на новите тагове вече се гледа като на „дар божи“, особено от доставчиците на онлайн видео, за които е важно тяхното съдържание да бъде достъпно за iPhone и навлизащия iPad – и двете не поддържащи Flash.

Друг интересен таг е canvas. Етикета, който приближава интерактивните уеб графики стъпка напред, дефинира области от уеб браузъра като динамични растерни изображения (т.нар. битмапи). Това позволява на уеб разработчиците да манипулират съдържанието на canvas елемента с JavaScript, като генерира графики в реално време в отговор на действия от страна на потребителя. На теория с тази техника може да се създават напълно интерактивни игри, използвайки единствено JavaScript и HTML.

В допълнение към тези визуални технологии, HTML5 въвежда и концепцията на кеширане, която позволява на уеб приложенията да съхраняват информация в клиентската машина. Подобно на плъгина Gears на Google, тези кешове ще ускорят работата на приложенията и ще позволят на потребителя да продължи да ги използва, дори да няма достъп до Интернет – всъщност Google вече планира да спре поддръжката за Gear в полза на HTML5.

Плъгините: все още не са мъртви

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

Например, докато Vimeo и YouTube вече експериментират с video тага, въвеждането на HTML5 мултимедия няма да е толкова лесно, колкото звучи. Решението на W3C да не специфицира медиа кодеци в стандарта HTML5 означава, че разработчиците няма да могат да гарантират, че който и да е медиен формат ще може да се изпълнява на което и да е клиентско устройство. Apple, Google и Microsoft, например, настояват за H.264 видео, но браузъри с отворен код като Firefox и Konquerer не могат (или не искат) да лицензират съответните патенти, поддържащи този формат. И докато тази ситуация не бъде разрешена, уеб авторите, които се стремят да достигнат до възможно най-широка аудитория, ще се окажат принудени да продължат да разчитат на Flash.

Технология на синхронизацията при Google Gears, iamatechie.com

Освен това не всяко приложение ще бъде пренаписано за HTML5. Например, дори Google да спре развитието на своята Gears технология за сметка на подхода за локално съхранение на приложения, интерфейса на Gears не е еднакъв с този на кеша при HTML5. Google дори признава, че „все още няма прост, изчерпателен метод за прехвърляне на приложение, ползващо Gear (а и цялата потребителска база заедно с него) към новия стандарт“. Докато такъв не бъде намерен, дори потребителите на напълно съвместими с HTML браузъри, могат да бъдат принудени да инсталират Gears, за да поддържа наследени приложения.

В крайна сметка пазарният дял при браузърите е този, който вероятно ще се окаже най-голямата пречка пред разработчиците, желаещи да ползват най-доброто от HTML5. Многобройни статистики отчитат ежемесечно необяснимата привързаност на голяма част от потребителите към по-стари версии на известните брауъзри. Internet Explorer 6, заедно със всичките му странности при визуализация и несръчното боравене с уеб стандарти, изглежда е браузъра, който просто не отмира. По-старите версии на Firefox, Opera, Safari, IE и други имат голяма база потребители и нула поддръжка на HTML5. Докато всички остарели браузъри не се модернизират според актуалните стандарти, уеб разработчици могат да се окажат принудени да поддържат две версии на сайтове си: богата версия за потребителите на HTML5 и версия за останалите браузъри, при които отново ще се разчита на остарели трикове за визуализация.

В полза на HTML5, iPhone и iPad на Apple няма да поддържат Flash, но се очаква да се възползват напълно от новия стандарт когато той се развие достатъчно. Подобно на това Chrome браузъра, който в момента поддръжа най-силно HTML5, както и устройствата, базирани на предстоящата едноименна операционна система, се очаква да последват примера на Apple. Големите уеб издатели, обаче по традиция са консервативни по отношение на нови стандарти и може да мине много време преди да рискуват ъпгрейд, дори при напълно готов HTML5.

Как да изпробваме HTML5 още сега

Някои гласове сред общността на уеб разработчиците призовават за повишено внимание. Дори Microsoft, който планира поддръжка на HTML5 в Internet Explorer 9, например поставя под въпрос ползата от добавяне на поддръжка на този ранен етап. Неотдавна Стивън Синофски, президент на Windows подразделението в Microsoft, заяви „Безсмислено е да се твърди, чe [браузъра] e стандартизиран, а едновременно с това да се твърди, че е и най-съвместимия с HTML5, тъй като стандарта все още не е напълно готов.

В действителност никой не е по-предпазлив в преценките си за приемането на HTML5 от самия W3C консорциум. Работната група не очаква стандарта да достигне статут Candidate Recommendation (крайната фаза на завършване) преди 2011 година. Дори и след това процеса по ратифициране на стандарта като препоръка на W3C се очаква да продължи някъде до към 2022. Ако направим изчисленията това са 21 години след XHTML 1.1

Без съмнение, HTML5 ще остане най-модерната технология в следващите 5-10 години. Любопитните потребители, които искат да го видят в действие, могат да направят това, макар и с известни ограничения. Серия пилотни проекти и демонстрационни сайтове, показващи различни възможности на новия стандарт са достъпни онлайн – трябва само да се избере правилния браузър: HTML5 се поддържа с противоречиво качество във Firefox, докато базираните на WebKit браузъри като Chrome и Safari се справят най-добре. По ирония на съдбата IE също е опция, но само при инсталиран Chrome Frame плъгин.

Mozilla Bespin: вграден в браузъра програмен редактор, написан с HTML технологии
YouTube: HTML5 плеъра на YouTub предлага експериментална поддръжка на стандарта
Vimeo: видео клиповете във Vimeo могат да се гледат и в HTML5 плеър
Merge Design: демо на HTML5 Geolocation API
Sticky Notes: демонстрация на client-storage възможностите на HTML5
Wolfenstein 3D: демо на играта, използващо тага canvas (за Firefox 3.6)
ClouserW Soundboard: саундборд, демонстриращ мултимедийните възможности на HTML5
Google Wave: Google Wave се възползва от HTML5 за някои от своите функции
FreeCiv: игра, изпълнявана в HTML5

По материали на Infoworld.com