Dlaczego CSS3 nie nadaje się do produkcji?

Tomek — 22.05.2010 — Frontend, PracaKomentarze (12) — Tagi: ,

W czwar­tek dosta­łem maila z pyta­niem, czy jestem w sta­nie zro­bić komuś pro­jekt a potem zako­do­wać go. Po chwili roz­mowy, oka­zało się, że Klient chce, by całość była w CSS3. Niby faj­nie, sam nową wer­sją Sty­lów inte­re­suję się od jakie­goś czasu, ale jed­nak zle­ce­nie „nie wpa­dło“. Dlaczego?

Po tym, jak Klient przed­sta­wił mi pro­fil strony, sta­ra­łem się wyper­swa­do­wać mu uży­cie CSS3. Natu­ral­nie, firma jest nowo­cze­sna, więc chcą mieć nowe tech­no­lo­gie na stro­nie. Ale, kto będzie patrzył im w kod, jeżeli pro­fil w ogóle nie kore­spon­duje z tech­no­lo­giami inter­ne­to­wymi? To raz, dwa, CSS3 nie nadaje się do pro­duk­cji, i pew­nie tro­chę jesz­cze nada­wać się nie będzie. Nowo­cze­sne prze­glą­darki, takie jak Opera, Fire­fox, Chrome i Safari mają w swo­ich sil­ni­kach zawartą obsługę tego stan­dardu, podob­nie jak i HTML5. Ale co z tego, kiedy jest Inter­net Explo­rer w wer­sji 7 i 8 jest doda­wany do sys­te­mów Win­dows, któ­rych używa znaczna więk­szość. A ta rodzina pro­gra­mów, jak każdy pew­nie wie, leje cie­płym moczem na wszyst­kie obo­wią­zu­jące stan­dardy (no dobra, na większość).

Pró­bo­wa­łem wyja­śnić mojemu nie­do­szłemu Klien­towi zagro­że­nie, jakie nie­sie ze sobą uży­cie CSS3 w pro­duk­cji strony fir­mo­wej, jed­nak uznał, że jestem po pro­stu nie­kom­pe­tentny. Gdy zaczą­łem tłu­ma­czyć, że dla tych prze­glą­da­rek trzeba użyć tzw. hac­ków, przez co kod wygląda gorzej i jest nie­po­trzeb­nie więk­szy, obu­rzył się, i zakoń­czy­li­śmy rozmowę.

Zachę­ciło mnie to do poszu­ka­nia w sieci tro­chę wię­cej infor­ma­cji na temat nowej wer­sji Kaska­do­wych Sty­lów, i co się oka­zało. Że mia­łem rację, Inter­net Explo­rer w wer­sji 7, i 8, wyma­gają wielu udziw­nień w kodzie, by ele­menty wyglą­dem przy­po­mi­nały to, co użyt­kow­nik nowego Fire­foksa widzi bez pro­ble­mów. Świet­nym przy­kła­dem, demon­stru­ją­cym cie­kawe ele­menty CSS3, ale i ułom­ność prze­glą­darki Micro­so­ftu jest CSS3 Drop­down Menu, przy­kład zro­biony przez WebDe­si­gner­Wall. Jak widać, część efek­tów działa na IE, jed­nak te naj­waż­niej­sze — wygodne zaokrą­gle­nie rogów kon­te­ne­rów (niwe­lu­jące swoją drogą dużo pracy zwią­za­nej z wyko­ny­wa­niem gra­fiki i cię­ciem jej) i efek­towny, modny cień pod tekst — już nie.

Nie piszę tego, by odgryźć się na w/w Klien­cie, ani by pona­rze­kać na Inter­net Explo­rer (na to musiał­bym zało­żyć osob­nego bloga, aktu­ali­zo­wa­nego kilka razy w tygo­dniu), ale po to, by jed­nak wtrą­cić swoje „trzy gro­sze“ w to wiel­kie sper­mie­nie na CSS3, i wszę­do­byl­skie pcha­nie efek­tów ofe­ro­wa­nych prze­zeń do każ­dego projektu.

12 komentarze/y

  1. adone pisze:

    A to i tak podziw dla klienta, że sobie Css3 ubz­du­rał, cie­kawe skąd mu to przy­szło do głowy. Ja nie inte­re­suję się kodem i nawet nie zasta­na­wia­łem się nad tym, że prze­glą­darki nie są gotowe na css3 i html5. Bar­dzo cie­kawe info.

  2. Jak napi­sa­łem, nie wszyst­kie prze­glą­darki są gotowe, na razie. Zna­jąc życie w Pol­sce, nawet po wpro­wa­dze­niu IE9, który może ide­al­nie łykać CSS3, to i tak 90% klien­tów będzie miało pirac­kie IE7 z pirac­kiej Visty, tak jak teraz mają IE6 z pirac­kiego XP.

  3. A CSS3 to zna­lazł sobie pew­nie pod­czas, jak to sam powie­dział „reser­dżu“ po inter­ne­cie, i czy­ta­nia o nowinkach.

  4. css3 pisze:

    Co to zna­czy całość w CSS3? Czy kiedy użyje border-background: to jest to CSS3 czy CSS2? Może klien­towi cho­dziło o wpis w stopce strony — valid CSS3 and HTML5?

  5. css3 pisze:

    Upss, z tego wszyst­kiego już sam zaczy­nam pisać głu­poty, cho­dziło oczy­wi­ście o background-image:

  6. Nie chcia­łem tu upu­blicz­niać detali, bo to w końcu roz­mowa służ­bowa, napi­szę tylko, że wyraź­nie wie­dział, co można uzy­skać przy pomocy CSS3, a czego nie można przy CSS2. I wła­śnie o to mu chodziło.

    Sytu­acja wygląda zde­cy­do­wa­nie bar­dziej kolo­rowo w innych kra­jach, gdzie odse­tek pirac­kich Win­dow­sów nie jest tak wysoki, jak u nas. Robiąc w Pol­sce stronę fir­mową, i uży­wa­jąc „border-radius“ zamiast gra­fiki, po pro­stu ska­zu­jesz ją na porażkę. Na więk­szo­ści kom­pu­te­rów sie­dzi piracki XP albo Vista, z IE6 albo 7. Dużo takich osób „ma inter­net“, bo ma IE, i nie potrze­buje niczego wię­cej. Nie ważne, że od dzie­się­ciu lat uży­wają jed­nego programu.

  7. css3 pisze:

    Jeśli cho­dzi o pirac­kie Win­dowsy — naj­now­szy IE8 i tak nic tutaj nie pomoże, bo dopiero IE9 będzie potra­fił coś tam w CSS3 obsłu­żyć. Na razie naj­lep­sze wspar­cie mają chyba selek­tory CSS3, IE8 radzi sobie z nimi, ale to dla zwy­kłego użyt­kow­nika mało efektowne.

    Co do klien­tów, ja z nimi na całe szczę­ście nie muszę za dużo roz­ma­wiać. Nie cho­dzi o to, że klienci są jacyś be, tylko o to, że każdy kto w jakiejś dzie­ci­nie jest spe­cja­li­stą, będzie miał pro­blem poro­zu­mieć się z osobą, która tym spe­cja­li­stą nie jest. Poza tym, nie każdy nadaje się do takich kon­tak­tów, są osoby które bar­dzo łatwo nawią­zują zna­jo­mo­ści i dobrze się czują w oto­cze­niu obcych osób, ale są też tacy, któ­rzy tego nie lubią.

    Jeśli zatrud­niasz się jako koder stron www, to według mnie, nikt nie może od cie­bie ocze­ki­wać, abyś wyka­zy­wał się umie­jęt­no­ściami nawią­zy­wa­nia rela­cji z klien­tami, bo to zada­nie kogoś innego, np. kie­row­nika projektu.

  8. Nie cho­dzi tu tylko o IE (cho­ciaż sprawa wspar­cia IE6 i 7 dla CSS 2.1 też jest śred­nia), ale o to, że dużo osób, które ma tego Win­dowsa XP, i tam IE6, nie szuka prze­glą­da­rek dalej, tylko korzy­sta z tego, co jest.

    Ostat­nie dwa aka­pity — trzy­maj się tematu.

  9. Łukasz Dec pisze:

    Cie­kawy tekst, ciężko się nie zgo­dzić z główną myślą. Całe szczę­ście nie mia­łem jesz­cze do czy­nie­nia z klien­tami wyma­ga­ją­cymi kon­kret­nych tech­no­lo­gii czy nowi­nek (no, może z wyjąt­kiem fla­sha ale to inny temat). A jeśli o samo wyko­rzy­sta­nie css3 cho­dzi, moim zda­niem nic nie stoi na prze­szko­dzie, żeby odro­binkę fajer­wer­ków do pro­jek­tów dodać. Takie rze­czy jak zaokrą­glone rogi czy text-shadow mogą być widoczne tylko w tych faj­niej­szych prze­glą­dar­kach i o ile sto­suje się takie bajery z umia­rem, pro­jekt nie powi­nien ucier­pieć w IE i star­szych prze­glą­dar­kach nie obsłu­gu­ją­cych tych detali.

  10. Teo­re­tycz­nie masz rację, ale co zro­bić, kiedy klient uzna, że na kom­pu­te­rze z IE7, u jego kolegi, strona nie wygląda, jak powinna?

  11. Łukasz Dec pisze:

    Celna uwaga. Nie­stety, nie z każ­dym klien­tem i nie w każ­dym pro­jek­cie można sobie pozwo­lić na to, żeby strona pre­zen­to­wała się róż­nie w róż­nych prze­glą­dar­kach. Ale warto o tym pisać i w jakiś spo­sób edukować.

  12. To tak jak­byś kupił sobie Fer­rari i narze­kał, że nie ma dróg do roz­wi­nię­cia peł­nej pręd­ko­ści, czy że zawie­sze­nie nie nadaje się do stanu powierzchni :)

    Teo­re­tycz­nie, klient/kupujący nie musi wie­dzieć nic o dro­gach, i może wyma­gać od sprze­dawcy auta jeż­dżą­cego 200km/h na cia­snej, wiej­skiej dro­dze, tak samo jak klient może wyma­gać strony cho­dzą­cej na bor­der radiu­sach w IE6. Moim zada­niem, tak samo jak i zada­niem sprze­dawcy, jest powie­dze­nie „nie da się“.

Dodaj komentarz