Pod koniec 2012 roku Peter-Paul Koch, strateg platformy mobilnej, otrzymał sponsoring dla QuirksMode.org, co, jak powiedział, pozwoliłoby mu poświęcić więcej czasu na badanie standardów internetowych i pracę nad tabelami zgodności, które zostaną udostępnione webplatform.org.
W weekend pojawiły się selektory CSS dla mobilnych stołów. Koch dalej badał również kolumny CSS i odkrył, że jest jakiś sposób na implementację.
Rozmawialiśmy z Kochem o jego pracy, sposobie pisania testów i dlaczego programiści powinni być bardziej ostrożni w testowaniu poszczególnych silników.
.net: Wkładasz dużo wysiłku w swoje mobilne stoły. Czy to coś, czego nie robiono w takim stopniu gdzie indziej?
PPK: Nie, tak naprawdę to się nie robi. Najbliższe mi są tabele autorstwa Maxa Firtmana, które koncentrują się na interfejsach API HTML5.
Nie wierzę w automatyzację testów ani wyników przeglądarek, więc tak naprawdę nie liczę testów, takich jak test HTML5. Następnie mamy opcję Can I Use…, która jest przydatna, ale czasami nie podaje poprawnych informacji o przeglądarce.
O ile wiem, nadal jestem tym, który przeprowadza najbardziej szczegółowe testy - i jedynym, który publikuje strony testowe oraz wyniki.
.net: Jak wygląda pisanie testów?
PPK: Powoli! Czasami nie jest łatwo zorientować się, co ma na myśli specyfikacja, zwłaszcza gdy istnieją tylko dwie implementacje, które są nieco (lub szalenie) różne. Na szczęście mam duże doświadczenie w pisaniu testów przeglądarkowych, więc wiem, jak uniknąć typowych pułapek.
Na przykład na początku wyglądało to tak, jakby Opera Mini nie obsługiwała klas CSS, ale to oczywiście bzdura. Problem polegał na tym, że testuję obsługę klas podając element testowy styl czcionki: kursywa. Wiele Opera Minis nie obsługuje tego stylu. Ponieważ spotkałem się z tym wcześniej, wiedziałem, że muszę zmienić styl testowania. A przeglądarka MeeGo nie obsługuje wariant czcionki: kapitaliki. Ta sama historia.
Nawiasem mówiąc, JavaScript nadal daje italski kiedy pytasz Operę Mini o plik styl czcionki wartość. To dowodzi, że nie możesz zautomatyzować tych testów: musisz spojrzeć na stronę i określić, czy używa ona kursywy.
.net: W swoim ostatnim artykule na temat selektorów i kolumn stwierdzasz, że przeglądarki korzystające z tej samej kompilacji WebKit mają różną kompatybilność. Czy to jeszcze bardziej podkreśla, jak deweloperzy powinni uważać na najnowocześniejsze techniki i bardziej rygorystycznie testować na różnych urządzeniach?
PPK: Tak. Nie ma WebKit na urządzenia mobilne. Istnieje co najmniej dwanaście różnych przeglądarek (z wyjątkiem wersji wykorzystujących WebKit jako silnik renderujący), ale niekoniecznie są one do siebie podobne.
Najlepszym przykładem jest -webkit-deklaracja zakresu kolumn. Okazuje się, że WebKit ostatnio porzucił wsparcie. Jest to najdziwniejszy problem ze zgodnością, jaki kiedykolwiek napotkałem, ponieważ nie można powiązać wsparcia z określonymi wersjami WebKit. Tak więc obsługa tej deklaracji to bałagan, a fakt, że przeglądarka używa WebKit, nic nie mówi.