Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Co to jest aplikacja HTML5 i czy chcę ją mieć?

Spisu treści:

Anonim

Słyszałeś? Aplikacje HTML5 zmienią wszystko, prawdopodobnie w przyszłym roku. Przynajmniej tyle mówi jedna strona debaty na temat HTML5 w porównaniu z aplikacjami natywnymi. To przesłanie, które co jakiś czas dociera do centrum uwagi i tak będzie na zawsze. A przynajmniej dopóki tak się nie stanie i wszystkie najlepsze aplikacje to aplikacje HTML5. Nie jest niczym niezwykłym, że programiści prowadzą tego rodzaju debaty i rzecznicy każdej ze stron, wyjaśniając, w jaki sposób ich wersja jest lepszą wersją, ale kiedy sprawy wykraczają poza dyskusję programistów i wchodzą w główny nurt, w którym ty i ja je słyszymy, mogą nas znieczulić. Czy naprawdę powinniśmy dbać o to, co słyszymy?

W takim przypadku tak. Chociaż utopia, w której każda aplikacja jest napisana w HTML5 i każdy użytkownik ma takie same doświadczenia, jest nadal dobrym rozwiązaniem, jeśli kiedykolwiek się zdarzy, HTML5 w formie hybrydowej jest już dość dużą sprawą. Powinniśmy wiedzieć i rozumieć wszystko, co jest dość dużą sprawą.

Co to jest aplikacja HTML5?

Po raz pierwszy większość osób usłyszała o HTML5, kiedy Steve Jobs powiedział nam, że będzie to przyszłość Internetu, a Flash nie. Jego oświadczenie zostało częściowo spełnione, ponieważ Apple zablokował dostęp do dowolnego rodzaju odtwarzacza Flash na iOS, ale nie potrzebował żadnego wizjonera, aby wiedzieć, że to nadchodzi, ponieważ HTML5 ma o wiele więcej niż Flash. Tak się składa, że ​​przyszłość sieci to także całkiem dobry sposób na kodowanie aplikacji.

HTML oznacza HyperText Markup Language, a my jesteśmy w 5. wersji standardu. Ale kiedy słyszysz termin aplikacja HTML5, niezależnie od tego, czy oznacza to aplikację internetową, czy aplikację, którą możesz zainstalować na swoim telefonie, naprawdę masz do czynienia z trzema rodzajami kodu.

  • HTML zapewnia strukturę, w której programiści mogą umieszczać swój kod, a aplikacja może go przekształcić w coś, co możemy zobaczyć i z czym współpracować.
  • CSS zapewnia sposób na ułożenie wyglądu poszczególnych fragmentów kodu po ich wyrenderowaniu i wyświetleniu na naszym ekranie.
  • JavaScript jest tym, co czyni go interaktywnym i pozwala „cokolwiek” robić.

Co sprawia, że ​​HTML5 jest świetny, to że wszystko rozumie jedna aplikacja, której twórca aplikacji nie musi utrzymywać, i wszystko działa na dowolnym urządzeniu z ekranem, który ma własną wersję tej aplikacji. Mówimy o przeglądarce internetowej, ale nie o samej aplikacji. Składnik przeglądarki internetowej, który może pobrać cały ten kod i przekształcić go w coś, z czego możemy korzystać w locie, jest dość przenośny i stanowi część wielu aplikacji, z których już korzystasz jako widok sieci.

Inżynier Mozilli powiedział kiedyś: „Kod uruchamiany w dowolnym miejscu nie oznacza ucieczki. Kluczem jest optymalizacja”. Mądrzy ludzie, ci inżynierowie Mozilli.

Oznacza to, że programista może napisać swój kod i dostosować go, a następnie wdrożyć wszędzie. To jest coś zupełnie innego niż pisanie osobnego kodu dla Androida, iOS, macOS, Windows i HTML dla webOS i BlackBerry 10. Deweloper może pisać kod, używając dowolnego środowiska programistycznego, które wybiorą, czy to Notatnika, czy czegoś złożonego, takiego jak Visual Studio lub Adobe Dreamweaver, debuguj i dostosuj w dowolnej przeglądarce, i nadal działa wszędzie.

Dotyczy to również twojego telefonu. Wszyscy widzieliśmy, że aplikacje HTML5 są używane jako strona internetowa. Miejsca takie jak Twitter lub mobilna wersja Gmaila są doskonałymi przykładami HTML5 w pracy. Ponieważ jednak HTML5 może być renderowany przez komponent widoku internetowego, upuszczenie okna w ramce podstawowej aplikacji w celu utworzenia aplikacji zainstalowanej na telefonie jest proste i szybkie. Istnieją nawet narzędzia innych firm, które wykonują całą pracę za Ciebie, takie jak Apache Cordova. Dzięki temu nowi programiści mogą przekazywać swoje pomysły wszystkim, a także doświadczonym programistom, którzy mają teraz czas na wymyślanie rzeczy, których wcześniej nie widzieliśmy. HTML5 osadzony w natywnej aplikacji może uruchamiać kod i korzystać z zasobów, które otrzymuje z Internetu, ale programista może również instalować je lokalnie i kierować tam kod w celu uzyskania natywnych aplikacji offline.

Ale nie wszystko jest świetne w HTML5.

Rzeczywistość aplikacji HTML5

Oto, gdzie rzeczy mogą być mylące. Kiedy myślimy o stronie internetowej, często zapominamy, że strona internetowa wysyła tylko swój kod do silnika przeglądarki i działa to na naszym urządzeniu. Oznacza to, że takie rzeczy jak geolokalizacja, czat audio i wideo w czasie rzeczywistym, grafika z akceleracją 3D i wiele innych są nie tylko możliwe, ale również łatwe do wdrożenia przez programistę za pomocą HTML5. Wynika to z faktu, że organ normalizacyjny powiedział: „Cześć, wszyscy musimy to zrobić w określony sposób, a programista może poprosić nas o zrobienie tego w ten sposób”.

W każdym razie taki jest cel. Rzeczywistość może być nieco inna i musimy tylko spojrzeć na odtwarzanie wideo, aby uzyskać doskonały przykład tego. Każda przeglądarka, której chcesz użyć, obsługuje HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox i Safari to przeglądarki HTML5 i obsługują odtwarzanie wideo, gdy programista wpisze kilka słów wskazujących na wideo. Każdy typ przenośnego komponentu widoku internetowego, który mają te aplikacje, robi to samo, ponieważ używa tego samego silnika renderowania.

Gdy nie egzekwujesz reguł, stają się one sugestiami; takie, których nikt nie chce podążać.

Ale nie wszystkie obsługują ten sam typ wideo, ponieważ HTML5 jest wieloplatformowy, otwarty i nie jest zastrzeżony, więc nikt nie zmusza ich do obsługi wszystkich formatów. Ogg Theora to popularny format wideo obsługiwany przez każdą przeglądarkę, z wyjątkiem przeglądarki Internet Explorer, która jest domyślną przeglądarką na wielu komputerach. H.264 jest jeszcze bardziej popularny, ale nie jest otwarty ani darmowy, więc Firefox go nie obsługuje. VP8 i WebM są bezpłatne i otwarte, a każdy silnik przeglądarki je obsługuje, ale Internet Explorer i Safari wymagają od użytkownika pobrania i zainstalowania obsługi. Technicznie HTML5 obsługuje odtwarzanie wideo HD i jego implementacja jest bardzo łatwa dla programistów. W prawdziwym świecie obsługiwany jest tylko odpowiedni typ wideo.

YouTube odtwarza wszystkie filmy za pomocą HTML5, ponieważ Google ma pieniądze na konwersję przesłanych filmów.

HTML5 zależy również od używanego sprzętu i umiejętności programisty, jeśli chodzi o pisanie kodu. Wybór niewłaściwej biblioteki JavaScript może nadal dawać ten sam wynik, ale może również prowadzić do wycieków pamięci i obsługi manipulacji DOM (Document Object Model - tworzony podczas ładowania strony lub aplikacji i obejmuje każdy element na stronie lub w aplikacji jako osobny „dokument”) źle może sprawić, że aplikacja HTML5 będzie frustrująco powolna nawet na najlepszym sprzęcie. W telefonach, które nie są tak zdolne, szybko prowadzi to do odinstalowania aplikacji przez użytkowników.

To nie jedyny problem. Kiedy tworzysz aplikację HTML5, która pobiera wszystko z Internetu, musisz poradzić sobie z czasem ładowania. To dodaje prędkość połączenia użytkownika do listy rzeczy, które mogą spowolnić działanie aplikacji, a także fizyczne możliwości sprzętu (wiele telefonów korzysta z procesorów, które nie są zbyt szybkie) i optymalizację kodu. Jeśli wyświetlenie kodu na urządzeniu użytkownika zajmuje sekundę, a pobranie go z Internetu - 10 sekund, będziesz mieć wielu niezadowolonych użytkowników.

Aplikacja na Facebooku jest przykładem tego, co jest nie tak z HTML5, podobnie jak Instagram jest przykładem tego, co jest dobre.

Jest to doskonały przykład tego, że prawie wszyscy jesteśmy niezadowoleni z tego, jakiego używamy telefonu: aplikacji Facebook. Aplikacja Facebook to w zasadzie widok internetowy osadzony w ramce, która zawiera przyciski i pomaga zarządzać danymi uwierzytelniającymi konta lub przekazywać wiadomości w sposób zgodny z systemem operacyjnym. Wszystko, co dzieje się w aplikacji, odbywa się za pomocą HTML5, a jest to po prostu zbyt wiele, aby poradzić sobie, gdy weźmiesz pod uwagę pobieranie wszystkich danych z Internetu. Programiści dodają coraz więcej do Facebooka, użytkownicy publikują duże pliki hostowane na miejsca poza Facebookiem, a miliony ludzi odwiedzają serwery Facebooka jednocześnie, 24 godziny na dobę, 7 dni w tygodniu. Powoduje to, że aplikacje powoli się odświeżają, są bardzo energochłonne i są przedmiotem wielu skarg.

Witryna mobilna Facebooka jest również napisana w HTML5, ale została zaprojektowana tak, aby być lite na zasoby, ponieważ jest przeznaczona do użytku mobilnego. Dzięki temu ładowanie zawartości, którą chcesz zobaczyć, jest szybsze, nawet jeśli cała ta zawartość nie jest wyświetlana tak ładnie, jak w pełnym widoku. To także dlatego witryna mobilna i „lite” aplikacje Facebooka, które się do niej odnoszą, działają o wiele lepiej niż oficjalna aplikacja Facebooka. I to nie jest tylko problem z Facebookiem - istnieje wiele aplikacji, które miałyby wszystkie swoje funkcje obsługiwane przy użyciu HTML5, ale są tak samo złożone (miłe słowo dla rozdętego, ponieważ istnieją już od jakiegoś czasu i ciągle się zmieniają) jak Facebook i działałby w ten sam sposób.

Czy chcę zobaczyć więcej aplikacji HTML5, czy nie?

Tak! Ale nie wszystkie aplikacje.

HTML5 jest naprawdę dobry w wielu rzeczach i jest świetnym sposobem dla deweloperów na wykorzystanie swojego czasu na wymyślenie kreatywnych pomysłów zamiast rootowania w podręczniku referencyjnym Objective-C lub C ++. Czasami jednak sztywna struktura języków programowania, która zmusza programistę do robienia pewnych czynności, sprawia, że ​​efekt końcowy działa lepiej na naszych telefonach.

Aplikacje HTML5 mogą być koszmarem, jaki widzimy z aplikacji na Facebooku, lub mogą być całkiem niesamowite, jak widzimy z mobilnej strony Gmaila. Lub Uber. Lub Instagram. Lub dowolna z setek aplikacji HTML5, z których korzystamy na co dzień. To nie jest coś, o co powinniśmy się martwić, ale dla programistów jest to całkowicie kwestia niekończącej się debaty. A teraz, gdy debatują i próbują przekonać cię, co jest lepsze, wiesz trochę o tym, dlaczego mówią to, co mówią.

Możemy otrzymać prowizję za zakupy za pomocą naszych linków. Ucz się więcej.