Maxthon z Webkitem pod maską
Komentarze dla notki “Maxthon z Webkitem pod maską”
-
Dominik Porada - 01 września 2009, 22:15:31
Super! Nie ma nic lepszego, niż sprytnie podmienić Trident z WebKitem nic nieświadomym użytkownikom. :-)
Zawsze się cieszę, jak widzę, że twórcy jakiejś przeglądarki postanawiają wrzucić WebKit na pokład.
-
lukasz - 01 września 2009, 22:41:43
Dominik Porada - Trudno aby wrzucali coś innego ;) Gecko nie cieszy się zbyt dobrą opinią, a innej alternatywy dla presto (którego dodać nie mogą) nie ma.
-
Dominik Porada - 01 września 2009, 22:43:03
Wiem, tym bardziej się cieszę, bo jestem fanem (fanbojem) WebKitu. :-)
-
Rafał Kukawski - 01 września 2009, 23:02:47
Można powiedzieć, że też jestem fanem Webkitu, chociaż nie wszystkie nowości wprowadzane do niego mi się podobają.
Do Gecko też nic nie mam. Z Mozillą jestem związany od wydania bardzo wczesnych wersji testowych (grubo przed wydaniem wersji 1.0) ich pakietu internetowego (dzisiaj rozwijanego jako SeaMonkey). Całkiem dobry silnik, nie dam sobie na niego wiele złego powiedzieć. Nie słyszałem też aż tak złych opinii na jego temat. Obsługuje najnowsze standardy, działa i rozwija się całkiem nieźle.
@lukasz: czy mógłbyś rozwinąć trochę temat? Dlaczego wg Ciebie Gecko ma złą opinię? -
Dominik Porada - 01 września 2009, 23:04:34
Ja od zawsze mam niechęć do Gecko głównie przez jego odmienne (dziwne) stylowanie formularzy.
-
lukasz - 01 września 2009, 23:26:48
Rafał Kukawski - gecko jest jednym z najbardziej przeładowanych silników renderujących. Przez lata projektując serwisy, obojętnie czy to css czy js/ajax zawsze były z nim jakieś niedociągnięcia. Przyznam, silnik sam w sobie był dobry, ale na samym początku jego stworzenia, dzisiaj sytuacja wygląda tak że nie nadąża on z nowinkami, a każda zmina jest tylko dołożeniem do pieca, zamiast optymalki.
Mogę się mylić, ale chyba webkit i presto zostały przepisane od nowa, albo w większej części, w każdym bądź razie zostały porządnie zoptymalizowane. Presto i Webkit idą w jednej linii, potem jest długo długo nic, i wtedy pojawia się gecko i triedent. Jeśli chodzi o jakieś przykłady w wykorzystaniu, głównie banały, ale "wymagane", długo było trzeba czekać na wsparcie text-shadow, czasami z animacjami w js też bywa ciężko jak nie zawiesi to przytnie i czasami 1px, to nie 1px.
To co wymieniłem oczywiście nie będzie zauważalne dla kogoś kto projektuje pod tym silnikiem, bo nauczył się coś pod niego. Na tym to właśnie polega, zawsze będą jakieś niedoróbki, w większym lub mniejszym stopniu. Tylko dzisiaj potrzeba hybrydy która sobie poradzi z prostą stroną jak i zaawansowanym projektem, jk np. apliakcjami online przeładowanymi ajaxem/js. -
Rafał Kukawski - 02 września 2009, 09:35:42
Tak, tu masz rację, że Gecko jest nieco przeładowany. Ale Gecko to nie tylko prosty silnik renderujący, tylko cała platforma programistyczna na bazie której można tworzyć własne aplikacje (mamy XUL, XPCOM, itd.). Wiem, ZU ten fakt nie obchodzi, bo wszystko ma działać szybko.
Gecko rozwija się swoim tempem i wg różnych kryteriów. Z jednej strony stara się go optymalizować, z drugiej strony pewne komponenty przepisywane są z kodu natywnego na JavaScript, co znowu pewnie odbije się na wydajności (ale akurat nie dotyczy to wyświetlania stron).
Odnośnie obsługi standardów. Gecko w wielu przypadkach doczekuje się obsługi danego komponentu najpóźniej krótko po wydaniu oficjalnej specyfikacji standardu. text-shadow nie był aż tak ważny, bo nie znajduje się w specyfikacji CSS2 (kiedyś zdaje się był, ale go z jakiś powodów wyrzucili, albo mi się tylko zdaje?!). Czy można stwierdzić, że Gecko aż tak odstaje do konkurencji? Oficjalne standardy są obsługiwane przez większość wiodących przeglądarek na bardzo porównywalnym poziomie (nie biorąc pod uwagę błędów w implementacji, bo te zawsze będą). CSS3 nie ma co brać pod uwagę, bo ten standard de facto jeszcze nie istnieje. Podobnie jak HTML5. I uważam, że nie ma sensu tworzyć porównań typu przeglądarka X obsługuje to, tamto i jeszcze coś, a przeglądarka Y tego nie potrafi. Porównania IMO powinny być wg referencji oficjalnych standardów. Wtedy można oceniać jakość oprogramowania.
Po prostu ludzie lubią bajery i chcą, by wszystko było implementowane od zaraz i na tej podstawie powstaje opinia danego produktu. Opinia na temat Gecko powstaje też poprzez pryzmat samego Firefoksa, który - dzięki swojej rozszerzalności i interpretowanemu interfejsowi - jest strasznie wolny i zasobożerny. Ale wystarczy wziąć Camino, Epiphany (która też przechodzi na Webkita) czy K-Meleona, które posiadają natywne, systemowe interfejsy a już szybkość aplikacji wzrośnie. Także uważam, że ta przedstawiona przez Ciebie przepaść jest trochę przesadzona.Wracając jeszcze do szybkości działania JS, wraz z Firefoksem 3.5 doczekaliśmy się TraceMonkey (wykorzystującym JIT). Była to pierwsza faza optymalizacji. Wraz z kolejnymi wersjami Gecko dostaniemy kolejne jego optymalizacje.
Chętnie podyskutuję jeszcze na temat Gecko. Nie twierdzę, że jestem wielkim znawcą tego silnika, ale przynajmniej jestem z nim związany od wielu lat. Jeśli macie swoje uwagi do mojego komentarza lub chcielibyście rozwinąć swoje opinie - @Łukasz i @Dominik - czekam na Wasze komentarze.
-
lukasz - 02 września 2009, 14:20:22
Rafał Kukawski - I widzisz, tu jest też osobna gałąź, pisząc swój komentarz miałem na myśli sam silnik. Chyba nie ma sensu porównywać tego z przeglądarkami, bo jeśli miałbym zestawić popularnego firefoxa z mniej popularną operą czy aurorą, to Fx znacznie straci głównie przez wydajność. Wspomniałeś o XULu i podobnych, ma to zalety i wady, jednak czy to jest potrzebne dzisiaj?
-
Wasacz - 02 września 2009, 17:14:33
Świetna informacja ;-)
Jeśli mogę dorzucić się do dyskusji o Gecko, to zgadzam się z Łukaszem, że w porównaniu z WebKitem i Presto wypada słabiej. Już pomijając fakt, że wolniej renderuje (co z tego, że JS jest szybki…) to dopiero Gecko od Firefoksa 3.5 radzi sobie z pozycjonowaniem generowanej zawartości, poprawili (chyba) skopane floaty. Trochę psuje typo (dziwnie oblicza pewne rzeczy). Ma też ten brzydki outline dla fokusowanych linków, który trzeba poprawiać w każdym projekcie. Cienko jeszcze z Web Forms, z tego co pamiętam.
Gecko ma też kilka drobnych uprzykrzaczy życia, których jakoś nie potrafię sobie teraz przypomnieć, ale pamiętam, że nie raz pisałem w CSS „fix for Gecko”. Co oczywiście nie znaczy, że u konkurencji żadnych dziwactw nie ma.
I ogólnie rzecz biorąc, Gecko zarzuca się też zbytnie naśladownictwo Tridenta. W niektórych miejscach faktycznie, trochę ta „kompatybilność” poszła za daleko ;)
-
Wasacz - 02 września 2009, 17:16:09
Wybaczcie łamany język, coś nie jestem w formie. Przycisk „Edytuj komentarz” też chyba na urlopie :F
-
Rafał Kukawski - 02 września 2009, 20:35:02
@Wasacz: dodałem link do edycji komentarza.
Czy ten cały XUL jest potrzebny? Zależy jak na to patrzeć. Dzięki XULowi mamy platformę, która pozwala pisać jeden kod, który można uruchomić na dowolnym, wspieranym systemie. Dzięki XULowi mamy Firefoksa i Thunderbirda. Mamy wiele innych programów. A taka platforma trochę kosztuje, szczególnie cierpi na tym wydajność. Widocznie twórcy platformy uznali, że jest/będzie potrzebna, bo inaczej nie byłoby sensu jej istnienia.
Co do niedociągnięć Gecko - posiada je każda przeglądarka. To, że nie można było pozycjonować treści generowanej, to po prostu niedokończona implementacja, którą w końcu poprawiono. Na szczęście Gecko to projekt otwarty. Każdy może zgłosić buga/feature requesta i/lub samemu coś dopisać do silnika lub coś w nim poprawić. Przynajmniej sytuacja dużo lepsza niż zgłaszania requestów Microsoftowi czy Operze. W przypadku produktów tych firm ma się minimalny (wręcz znikomy) wpływ na rozwój produktu.
Webkit ma tę samą zaletę co Gecko, można poprzeglądać sobie źródło i zgłosić swoje uwagi.Pisałeś, że Gecko zarzuca się naśladownictwo Tridenta. A co z resztą przeglądarek? Moje odczucie jest akurat takie same, lecz skierowane do przeglądarki Opera. Znajdziemy w niej spore części API Tridenta. Zaczniemy od document.all, którego istnienie od całkiem niedawna Opera ukrywa. W Gecko od samego początku istnienie kolekcji było maskowane. Dalej można zahaczyć o model obsługi zdarzeń, gdzie Opera oferuje przykładowo document.attachEvent, kiedy konkurencja tego nie robi. Także zarzut kompatybilności z IE można postawić nie tylko Gecko, ale też innym silnikom.



Subskrybuj