Powrót paska ładowania: Czy CSS3 i HTML5 to nowy Flash?
Dzisiaj porozmawiamy trochę o tym, jak i dlaczego Flasha postrzegano w negatywnym świetle, i jak możemy uniknąć podążania tą samą ścieżką, zastępując ją nowoczesnymi technologiami.
Poznaj elementy Envato
Dlaczego nienawidzimy Flash
Polub to, czy nie, sieć włączyła Flash. Były chłopiec z plakatu internetowego stał się rudowłosy pasierbem, wywołując u wielu użytkowników poczucie nienawiści. Ten marsz był w dużej mierze spowodowany przez Steve'a Jobsa i odmowę Apple'a dopuszczenia Flasha na iOS, ale każdego dnia internauci od dawna mają do czynienia z tą technologią.
Z kilku powodów Flash był niesamowity. Umożliwiło to twórcom stron internetowych doprowadzenie stron internetowych do poziomu dynamiki, który wcześniej był niemożliwy. Zamiast krainy nudnych statycznych stron Internet stał się miejscem, w którym możliwe były naprawdę wciągające i wręcz futurystyczne przeżycia.
Wszystko to miało jednak swoją cenę. Wraz z rozwojem Flasha sieć stała się również wyjątkowo powolnym i powolnym miejscem. Witryny Flash oczywiście wymagają wtyczki Flash, a jeśli nie masz najnowszej wersji, lepiej ją weź, bo inaczej to nie zadziała.
Potem przyszły pręty załadunkowe. Czas ładowania strony w czystych witrynach Flash rośnie wykładniczo i nagle „Ładowanie: 10%… Ładowanie: 11%…” przędzarki stały się częścią naszego codziennego życia.
Wreszcie istnieje problem stabilności. Steve Jobs słynie ze stwierdzenia, że w większości przypadków, gdy komputer Mac ulega awarii, winny jest Flash. To trochę hiperbola, ale rdzeń tego stwierdzenia wskazuje na pewną prawdę. Wszyscy doświadczyliśmy zamrażania związanego z Flashem i gorzej. Tak bardzo, że wiele osób pobiera wtyczki, które blokują całą aktywność Flash, chyba że zostanie ona ręcznie zatwierdzona.
Mądrość Hollywood
W filmie Jurassic Park Ian Malcom, specjalista od chaosu, zauważa wyspę żyjących dinozaurów: „Twoi naukowcy byli tak zajęci tym, czy mogli, ale nie zastanawiali się, czy powinni”.
„Twoi naukowcy byli tak zajęci, czy mogą, ale nie zastanawiali się, czy powinni.” -Ian MalcomTen cytat jest bardzo odpowiedni, aby Flash zyskał sławę. Programiści byli tak podekscytowani tym, co mogą zrobić, że zapomnieli zapytać, co powinni zrobić. Czy Flash poprawi ogólne wrażenia, czy go pogorszy? Co zyskuję dzięki Flashowi i co poświęcam? Czy większość moich użytkowników będzie zadowolona z podjętych przeze mnie decyzji? Jak duża jest pula użytkowników, którzy tęsknią i jakie mam dla nich opcje?
Powtarzanie historii
Przewiń do przodu do teraz. CSS3 i HTML5 przybyły, aby uratować dzień. Flash jest na linach i każdego dnia zaczyna bić świeżo, ponieważ widzimy oszałamiające nowe przykłady zdumiewających witryn zbudowanych tylko z CSS, HTML i JavaScript.
HTML i CSS są wbudowane w nowoczesne przeglądarki internetowe i stanowią trzon dzisiejszej światowej sieci, więc możliwość wykorzystania tych technologii do tworzenia dynamicznych stron jest spełnieniem marzeń projektanta stron internetowych.
Jednak w miarę jak coraz więcej programistów korzysta z tych technologii i zaczyna je rozciągać do granic możliwości, zespół Park Jurajski zaczyna je ustalać. Wszyscy jesteśmy tak zaabsorbowani tym, co możliwe, że łatwo stracić z oczu to, co jest dozwolone.
Coraz więcej, gdy przeglądam internet, zaczynam dostrzegać oznaki zbliżającej się przyszłości podobnej do Flasha. Czasy ładowania strony rosną do tego stopnia, że „ładowanie” wiadomości powraca, strony internetowe stają się zależne od przeglądarki, długie animacje powodują zawieszanie się przeglądarki; brzmi znajomo?
Nie zrozum mnie źle, jako pierwszy wstaję i mówię, że HTML5 i CSS3 to nie tylko przyszłość Internetu, ale źródło najlepszych obecnych technologii. Uważam jednak, że niektóre rozmowy na temat ostrożności są odpowiednie, jeśli chcemy uniknąć scenariusza podobnego do Flasha.
Tak, nasze nowe zabawki są niesamowite, ale zwolnijmy na chwilę i zadajmy sobie kilka ważnych pytań przed wdrożeniem.
Ważne pytania
Poniżej znajduje się przybliżona i niepełna lista pytań, które powinieneś sobie zadać przed wdrożeniem pewnych technologii nowej generacji w swojej witrynie.
Czy cel jest eksperymentalny / edukacyjny?
Dla tych, którzy są gotowi wskazać na mnie palcem i moją cotygodniową ofertą technik CSS3, dostaję darmową przepustkę (czy to nie jest wygodne?). Moim zadaniem jest omawianie nie tylko aktualnego stanu sieci, ale także nadchodzących trendów i technologii. W rezultacie ten blog i inne powinny absolutnie odkrywać i uczyć nowych technik, gdy tylko się pojawią.
Jako osoba fizyczna masz również pełne prawo do eksperymentowania. Utworzenie placu zabaw lub osobistej strony internetowej z eksperymentalnymi funkcjami nie jest szkodliwe. Problem powstaje, gdy zostałeś zatrudniony do stworzenia witryny przy założeniu, że głównym celem jest maksymalna kompatybilność użytkownika. Większość firm nie będzie szaleć za zatrudnieniem cię do stworzenia witryny, która robi wrażenie tylko na innych projektantach stron internetowych i nieco denerwuje wszystkich innych.
Co zyskujesz? Co straciłem?
Tak jak zalecałem przy implementacji Flasha, przy każdej nowej lub eksperymentalnej technologii zawsze należy dokładnie rozważyć swoje zalety i wady.
Czy korzyść jest głównie poprawą estetyki? Czy warto nieco poprawić użyteczność? Co powiesz na duży? Czy z perspektywy przeciętnego użytkownika niebędącego projektantem ten wybór wzbogaci doświadczenie, czy go pozbawi?
Załóżmy na przykład, że budujesz fantazyjne animowane menu rozwijane przy użyciu czystego CSS3 zamiast JavaScript, robisz to, ponieważ jest to bardziej imponujące lub ponieważ wiesz, że możesz naprawdę zwiększyć jego funkcjonalność dla większej liczby użytkowników, niż gdybyś odszedł trasa JS?
Wszystko wraca do dylematu Iana Malcoma. Jeśli okaże się, że możesz pobrać kilka nowoczesnych kreacji internetowych na stronie, zawsze zadaj sobie pytanie, czy powinieneś .
Czasami postępy faktycznie usprawnią twoją witrynę i sprawią, że będzie ona jeszcze bardziej użyteczna, innym razem znajdziesz rozdęty kod i powolną stronę, machając jednocześnie sztandarem postępu. Bądź ze sobą szczery i zdecyduj, gdzie narysować linię.
Czy któryś z użytkowników przegapi?
Załóżmy, że chcesz zaimplementować animacje klatki kluczowej Webkit (jeden z moich ulubionych gadżetów CSS3) na stronie klienta. Czy najpierw spojrzałeś na swoje dane analityczne i zobaczysz, ilu użytkowników spoza Webkit zostanie pominięty?
Kompatybilność z przeglądarkami była poważnym problemem przed HTML5 i CSS3 i jest teraz jeszcze gorzej. Nadal obowiązuje ta sama logika, którą zawsze stosowaliśmy. Pamiętaj, aby projektować z myślą o każdej głównej przeglądarce. Jeśli chodzi o mnie, nie powinieneś czuć się źle z wdrażaniem sztuczek i efektów specyficznych dla przeglądarki, po prostu upewnij się, że inni użytkownicy nadal mają dobre wrażenia.
Oczywiście mówimy o stopniowym ulepszaniu. Zacznij od podstawowej funkcjonalności i estetyki, która działa we wszystkich głównych przeglądarkach, a następnie dodaj specjalne dodatki dla osób myślących przyszłościowo, korzystających z naprawdę nowoczesnej przeglądarki.
Wniosek
Podsumowując, absolutnie uwielbiam HTML5 i CSS3. Spędzam mnóstwo czasu eksperymentując i rozciągając granice tego, co wcześniej uważałem za możliwe. Jednak podczas pracy nad prawdziwymi projektami zawsze ostrożnie podchodzę za burtę i tworzysz witrynę, która nie tylko wygląda, jakby była zbudowana we Flashu, ale działa tak!
Zostaw komentarz poniżej i daj nam znać, jak podchodzisz do korzystania z nowych technologii w witrynach klientów. Czy w pełni akceptujesz HTML5 i CSS3, czy tylko odwołujesz się do nich w miejscach, w których można dokonać prawdziwych ulepszeń?