iOS 5 pentru Web Devs Actualizări Mobile Safari

Dezvoltatorii iOS nativi nu sunt singurii care vor fi încântați când vine vorba de dezvoltarea pentru iOS 5. O nouă versiune a Safari Mobile a fost lansată alături de cel mai recent sistem de operare, iar dezvoltatorii de dispozitive mobile au acum multe funcții noi pentru a experimenta . Ridicați viteza cu privire la modificările din acest articol!


Creșterea cu 86 de puncte

Cu fiecare nou lansare iOS, Apple a făcut o treabă fenomenală de actualizare a comunității de dezvoltare nativă cu privire la modificările aduse SDK-ului. Ei au lansat o trecere în revistă la nivel înalt a modificărilor, a notelor oficiale de lansare și chiar a diferențelor API complete.

Dacă numai dezvoltatorii web ar putea fi atât de norocoși! Informațiile despre modificările aduse Safari Mobile au fost mult mai greu de găsit. Pentru a fi corect, unele informații au fost publicate oficial. Puteți verifica actualizarea la nivel de consumator Safari 5, o actualizare la nivel înalt a dezvoltatorului și o notă de suport tehnic denumită în mod obscur, HT4922. Cu toate acestea, niciunul dintre aceste documente nu discută în mod specific schimbările relevante pentru iOS și nici unul nu intră în nivelul de profunzime tehnică care ar fi util dezvoltatorilor (dacă știți despre un document suplimentar care nu este menționat aici, vă rugăm să lăsați un link în comentarii). Această lipsă de informații este surprinzătoare dacă există doar pentru un singur motiv: o mulțime sa schimbat în Safari 5.1 pe iOS 5.

Scopul acestui articol este de a oferi cât mai cuprinzător un jurnal de schimbare posibil pentru Mobile Safari 5.0 - 5.1. Am încercat să fac acest lucru prin simpla raportare a propriilor experimente între dispozitivele iOS care rulează fiecare versiune. Testarea mea de până acum a fost simplă: tocmai am încărcat HTML5Test.com pe fiecare versiune Safari și am remarcat schimbările.

Conform testului HTML 5, Mobile Safari 5.1 a înregistrat o creștere de 86 de puncte față de Mobile Safari 5.0.

Desigur, așa cum sugerează și numele, site-ul de testare este într-adevăr testat doar pentru modificările aduse HTML 5 și specificațiilor aferente. De asemenea, acesta afișează clar o declarație de declinare a responsabilității care precizează că nu toate modificările HTML 5 noi sunt testate (la urma urmei, specificația HTML 5 este încă scrisă!) Și că este posibil ca rezultatele să nu fie pe deplin exacte. Cu toate acestea, aceasta pare a fi o metodă eficientă de a obține o prezentare rapidă a ceea ce sa schimbat între versiunile de browser și mă bucur să fiu în măsură să împărtășesc rezultatele mele din acest test cu comunitatea.


Platforma de testare

Rezultatele discutate în acest articol au fost obținute din testarea cu un iPhone 3GS care rulează iOS 4.3.5 cu Safari 5.0 și un iPhone 4 care rulează iOS 5.0 cu Safari 5.1. Aceste rezultate au fost confirmate și pe un iPad care rulează iOS 4.3.5 cu Safari 5.0 și un iPad 2 care rulează iOS 5.0 cu Safari 5.1. Am fost bucuros să aflu că atât versiunile iPhone și iPad ale Safari au testat la fel.

Agentul utilizator complet afișat pe iPhone 3GS:

Mozilla / 5.0 (iPhone; U; CPU iPhone OS 4_3_5 ca Mac OS X; en-us) AppleWebKit / 533.17.9 (KHTML, ca Gecko) Version / 5.0.2 Mobile / 8L1 Safari / 6533.18.5

Agentul utilizator complet afișat pe iPad de primă generație:

Mozilla / 5.0 (iPad; U; CPU iPhone OS 4_3_5 ca Mac OS X; en-us) AppleWebKit / 533.17.9 (KHTML, ca Gecko) Version / 5.0.2 Mobile / 8L1 Safari / 6533.18.5

Agentul utilizator complet afișat pe iPhone 4:

Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 ca Mac OS X) AppleWebKit / 534.46 (KHTML, ca Gecko) Versiune / 5.1 Mobile / 9A334 Safari / 7534.48.3

Agentul complet de utilizator afișat pe iPad 2:

Mozilla / 5.0 (iPad; CPU OS 5_0 ca Mac OS X) AppleWebKit / 534.46 (KHTML, ca Gecko) Versiune / 5.1 Mobile / 9A334 Safari / 7534.48.3


Safari 5.1 HTML 5 rezultatele testelor

Reguli de parsare: 11/11, +10 Puncte

Un plus de 10 puncte a fost acordat pentru includerea atât HTML 5 tokenizer și HTML 5 copac clădire. Detaliile tehnice ale acestui test sunt dincolo de domeniul de aplicare al acestui articol, dar pot spune că specificația HTML 5 definește o etapă de tokenizare urmată de o etapă de construcție a copacilor în parsarea documentelor HTML 5. Această creștere a punctului implică faptul că Safari 5.1 aderă la acest proces, în timp ce 5.0 nu.

În plus față de cele 10 puncte câștigate în această categorie și adăugate la nota globală, Safari 5.1 a marcat de asemenea un plus de 2 puncte bonus pentru adăugarea de inline SVG și MathML. Ține-ți ochii pe ambele tehnologii!

Canvas: 20/20, +0 Puncte

Nicio schimbare. Acest lucru a fost pe deplin susținut de ceva timp.

Video: 21/31, +0 Puncte

Nu s-au înregistrat modificări în categoria video, însă Mobile Safari încă nu atinge un scor perfect. Ce lipseste? Ogg Theora și suport pentru formatul WebM, precum și suport pentru subtitrare.

Audio: 20/20, +0 Puncte

Nici o schimbare. Safari Mobile a sprijinit audio element de ceva timp, dar încă nu are suport pentru WebM și Ogg Vorbis (probabil că nu va veni în curând).

Elemente: 22/28, +8 Puncte

A fost obținută o creștere semnificativă de 8 puncte pentru această secțiune.

Elementele noi includ:

  • element figura
  • figcaption element
  • element de marcare

Alte îmbunătățiri în această categorie includ:

  • date nevidibile personalizate
  • atributul ascuns

Formulare: 75/98, +39 Puncte

Această creștere de 39 de puncte în categoria de formulare se numără printre cele mai interesante actualizări!

Multe dintre modificările aplicate se aplică tip atributul elementului de intrare. Noile valori ale atributului de tip care au impact asupra comenzilor de formular afișate de interfața browserului includ:

  • lună
  • Data
  • timp
  • datetime
  • datetime-locală
  • gamă

Aceasta este o mare victorie pentru dezvoltatorii web care vizează iOS. Safari Mobile va afișa acum a UIPicker cu diferitele componente ale timpului când setați atributul type la oricare dintre valorile legate de dată și oră și a UISlider este afișată acum pentru valoarea intervalului. Aplicațiile Web devin din ce în ce mai originale.

Suport pentru aceste actualizări suplimentare este de asemenea raportat:

  • atributul necesar pentru Selectați element
  • provocare și atribute de tip cheie ale elementului keygen
  • elementul de ieșire

Alte modificări din această secțiune includ adăugarea textului :invalid selector, formă, formAction, formEnctype, formMethod, și formTarget proprietăți pe câmpuri și Control proprietate pe etichete.

Interacțiunea cu utilizatorul: 17/36, +17 Puncte

Punctele din această categorie au fost acordate pentru îmbunătățirea atributelor, proprietăților și metodelor de editare HTML. Mai exact, atributele contentEditable și designMode, proprietatea isContentEditable și instrumentele execCommand, queryCommandEnabled, queryCommandIndeterm, queryCommandState, queryCommandSupported și queryCommandValue.

Istoric și navigare: 5/5, +0 Puncte

Nicio schimbare. Istoricul sesiunilor a fost deja disponibil.

Microdate: 0/15, +0 Puncte

Nici o schimbare și niciun sprijin încă. Pentru a citi despre ceea ce lipsește, consultați această referință.

Aplicații web: 15/20, -4 puncte

Destul de ciudat, site-ul de testare raportează de fapt o pierdere de 4 puncte în această secțiune, cu manageri de scheme personalizate și agenți de gestionare a conținutului personalizați enumerați ca neacceptați.

Securitate: 5/10, +0 Puncte

Nicio schimbare. Încă așteptăm suportul iFrame fără probleme.

Geolocația: 15/15, +0 Puncte

Nu există nicio modificare aici, deoarece suportul de localizare a fost disponibil de ceva timp.

Notă: Geolocația nu face parte din specificația oficială HTML 5, dar este adesea asociată cu site-urile web HTML5. Citiți specificația oficială Geolocation.

WebGL: 9/25, punct +1

Această versiune ne aduce un punct mai aproape de suportul WebGL cu adăugarea suportului DataView.

Notă: WebGL nu face parte din specificația oficială HTML 5, dar este adesea asociată cu site-urile HTML 5. Citiți despre WebGL aici.

Comunicare: 25/25, +0 Puncte

Nu există modificări aici. Atât 5.0, cât și 5.1 oferă suport pentru mesajele transmise prin documente și pentru evenimentele trimise prin server.

Fișiere: 0/20, +0 Puncte

Nu sunt schimbări pe acest front și este un mare punct de frustrare pentru mulți dezvoltatori web care doresc să acceseze API-ul FileReader și API-ul FileSystem.

Notă: Aceasta nu este o parte oficială a specificației HTML 5.

Depozitare: 15/20, +0 Puncte

Nici o schimbare. Sprijin pentru IndexedDB este încă în așteptare, dar cel puțin Storage Local a fost în jur de ceva vreme.

Notă: Aceasta nu este o parte oficială a caietului de sarcini HTML 5, ci este o tehnologie strâns legată adesea împreună cu site-urile HTML 5. Citiți schița de lucru integrală pentru spațiul de stocare web.

Muncitori: 15/15, +15 Puncte

Testul HTML raportează o creștere cu 15 puncte, cu suport atât pentru lucrătorii web cât și pentru lucrătorii partajați.

Notă: Aceasta nu este o parte oficială a caietului de sarcini HTML 5, ci este o tehnologie strâns legată adesea împreună cu site-urile HTML 5. Citiți versiunea completă a lucrătorului web.

Multimedia local: 0/20, +0 puncte

Nu există schimbări aici, din păcate. Caracteristica mare pe care mulți dezvoltatori de web își doresc în această categorie este accesul la camera aparatului.

Notă: aceasta nu face parte din specificația oficială HTML 5.

Notificări: 0/10, +0 Puncte

Nici un indiciu de notificări web cu această versiune.

Notă: aceasta nu face parte din specificația oficială HTML 5. Citiți schița de lucru a notificărilor web complete.

Altele: 6/6, +0 Puncte

Punctele pentru selectarea textului și pentru defilare au fost atribuite anterior cu Safari 5.0.


Dincolo de testul HTML 5

Site-ul web HTML 5 Test verifică o gamă largă de probleme de asistență pentru browser, dar există multe lucruri pe care nu le acordă atenție. Exemplele includ remedierile de erori, îmbunătățirile de performanță și modificările CSS sau JavaScript. Au existat și numeroase tipuri de actualizări în această versiune.

Dacă doriți să aflați mai multe despre îmbunătățirile de Safari 5.1, vă recomand să citiți acest post de blog de la David Calhoun.

Câteva modificări suplimentare pe care le-au subliniat deja alții pe web includ:

Poziția: fix

Această proprietate CSS funcționează acum pe măsură ce majoritatea dezvoltatorilor web se așteaptă. Pentru a vedea acest lucru în acțiune, consultați acest videoclip YouTube de la postul lui David menționat mai sus:

preaplin: parcurgere

La fel ca mai sus. Această setare a fost optimizată pentru a respecta așteptările dezvoltatorilor. Citiți postarea lui David pentru toate detaliile și consultați acest videoclip YouTube pe care l-a postat inițial pentru a afișa noul comportament:


Erori? omisiunile?

Cele de mai sus sunt rezultatele pe care le-am putut găsi până acum de la testul HTML 5 și de la alte resurse din întreaga lume. Dacă știți despre alte schimbări majore sau interesante pe care nu le-am acoperit aici, spuneți-mi în comentariile. De asemenea, dacă găsiți erori, vă rugăm să nu ezitați să corectați această postare.


Ascultați-vă vocea. Votați comentariile!

După cum puteți vedea din cele de mai sus, iOS 5 a adus cu siguranță un număr semnificativ de schimbări și îmbunătățiri la Mobile Safari. Mobiletuts + va acoperi câteva dintre aceste caracteristici noi, precum și multe alte subiecte legate de dezvoltarea de aplicații mobile pentru mobil în posturile viitoare. Spuneți-ne ce tip de conținut doriți să vedeți acoperit, lăsând un comentariu pentru acest post. Dacă există un accesoriu specific pentru Safari 5.1 pe care doriți să-l acoperiți mai detaliat, spuneți-ne mai jos!

Cod