Jakiej wersji (x)HTML używać/używacie?

0

Pytanie jak w temacie... Trochę się o tym naczytałem i niby zalecana jest xHTML 1.0 Strict, ale xHTML 1.0 Transitional lepiej używać, bo jest to wersja przejściowa z czasów, kiedy nie było wsparcia przeglądarek dla CSS, ale przecież nie powinniśmy używać 'staroci' w kodzie. Z drugiej strony pojawił się HTML5...ale dopiero za 10 lat ma być w pełni wspierany. No ale przecież przeglądarki (w większości) go dobrze obsługują (przynajmniej podstawowe funkcjonalności)...no i daje to możliwość do 'rozwoju strony w przyszłości' - są fajne ficzery w piątce. Jeszcze inni mówią, żeby używać HTML 4.01 jeśli nie korzystamy z możliwości iksa...no, ale tutaj pojawia się chociażby printable.css, którego może jeszcze nie ma na mojej stronie, ale być może kiedyś będzie.

Ponadto w VS2k10, NetBeans 7.0 przy 'generowaniu' projektów webowych jest wersja xHTML 1.0 Transitional...

Tutaj trochę źródeł: http://www.webstandards.org/learn/articles/askw3c/oct2003/ http://forum.webhelp.pl/standardy-sieciowe/trendi-webdeveloper-o-xhtmlu-o-divach-ogolnie-t94412.html

Zapraszam do wymiany poglądów.

Ja obecnie używam xHTML 1.0 Strict i czasami HTML5 (nie wykorzystując jeszcze za bardzo jego możliwości).

0

Wersji Transitional nie ma co używać. Fakt, niektóre edytory domyślnie wstawiają ten DOCTYPE, ale to jest dla plebsu, nie dla normalnych programistów ;). Ustawienie to można zresztą zwykle zmienić.

Problemem jest nie tyle "starość" wersji Transitional, co fakt, że od wersji Strict różni się większym luzem. Ten "luz" objawia się przyzwoleniem na stosowanie niesemantycznych, prezentacyjnych znaczników. A tych nie powinniśmy stosować. Wersje Strict nam tego zabraniają, i dobrze.

Co do XHTML-a... Uważam, że nieco lepiej go NIE stosować, gdy nie trzeba. Gdy go używamy to wygląda to tak, jakbyśmy używali XML-a, tymczasem w rzeczywistości przeglądarka przeważnie i tak zinterpretuje nasz kod jak HTML z błędami. Nie jest tak łatwo serwować HTML w porządny sposób -- i to tak, by chodził na różnych przeglądarkach. Poza tym, prace nad XHTML-em zostały właściwie zarzucone. Wygląda na to, że XHTML uznano za ślepą uliczkę. No tak: sama jego nazwa to eXtensible [...] Markup Language. A ile razy tak naprawdę ludzie używali tej rozszerzalności? Prawie nigdy. Oczywiście: jeśli masz faktyczną potrzebę użycia XHTML-a, np. związaną z jakimiś narzędziami, które stosujesz, to użyj XHTML-a. Ale jak nie masz uzasadnienia, to po co?

Ja obecnie używam już w zasadzie wyłącznie HTML-a 5.

Tobie polecam to samo.

To z tym "w pełni wspieraniem" dopiero w roku 2022 to takie śmieszne i... niefortunne stwierdzenie. W roku 2022 to mają być co najmniej dwie niezależne implementacje, które będą W PEŁNI wspierały HTML5. Dopiero wtedy specyfikacja osiągnie status Rekomendacji, czyli najdojrzalszy z możliwych.

A wiesz jak to było np. z z CSS 2.1? CSS 2.0 powstało w 1998. Po burzliwych kilkunastu latach, wersja 2.0 została zarzucona i W3C przerzuciło się na standaryzację nieco zmienionej wersji 2.1. Ogólnie, standard CSS 2 był już bardzo szeroko wykorzystywany od wielu, wielu lat. Wiesz, że w CSS 1 nie było nawet position: absolute, czy w ogóle własności position, z-index itp.? Zostało to wprowadzone dopiero w CSS 2, a nie muszę mówić, jak powszechnie ludzie z tego korzystają, i to od dawna. Pierwszą wersję CSS2 opublikowano w 1998, a wiesz kiedy CSS 2.1 uzyskało status Rekomendacji? W ZESZŁYM MIESIĄCU. Tak. Przez ostatnią dekadę ludzie powszechnie używali "niedojrzałego" standardu! I przeżyli.

HTML-a 5 też można używać bezpiecznie. Byle z głową. I nie, nie ma co się obawiać, że nagle zmienią jakąś podstawową rzecz. Są na to marne szanse. HTML5 od początku został projektowany tak, by jak najmniej mieszać i wykorzystywać jak najwięcej tego, co już przeglądarki rozumieją.

Nie musisz używać <video> czy <audio> -- są super, ale nie wszędzie działają.

Ale możesz używać wielu podstawowych rzeczy.

Zwięzły doctype, który możesz napisać z palca. Brak atrybutów type przy dołączaniu stylów (<link>, <style>) i skryptów (<script>) -- i tak wiadomo, że do stylów wszyscy używają CSS, a do skryptów JS, więc nie ma co udawać, że trzeba definiować używany język w atrybutach type. Krótszy meta-tag charset. Linki, które mogą zawierać elementy blokowe.

Wszystkie z powyższych rzeczy działają we wszystkich przeglądarkach i można ich bezpiecznie używać.

Osobiście, jak najczęściej rezygnuję ze wspierania wizualiów w IE8 i starszych z wyłączoną obsługą JavaScriptu. I stosuję nowe tagi semantyczne (<article>, <section>...). Fakt, nie działają nawet w IE8 -- czym Microsoft był cholernie zażenowany, i słusznie -- ale jest na to prościusieńki, javascriptowy fix. Gotowiec, który to wszystko naprawia. A jak ktoś ma IE6-IE8 oraz wyłączony JS, to ma pecha. Zwykle mogę sobie pozwolić, by takich delikwentów olać i dać im stronę np. w ogóle bez stylów.

Nowa semantyka z HTML-a 5 = lepsza dostępność. Lepsza struktura witryny. Łatwiejsze posługiwanie się nagłówkami. Mniej <divów>. Teoretycznie: lepsze możliwości indeksowania witryny przez Google.

Ja tam jestem za!

Osobiście, używam nawet czego się da z CSS3. Strona waży dużo mniej, ładuje się szybciej i jest prostsza w utrzymaniu, jeśli do cieni, zaokrąglonych rogów czy gradientów zaprzęgniemy CSS, a nie obrazki. Dla starych IE: ponownie, są fixy JS-owe, działające wystarczająco sprawnie dla większości zastosowań. Albo fallback do klasycznego CSS 2.1.

0

W starszych projektach używałem XHTML 1.0 Strict, w wersji brzydkiej, czyli serwowanej zazwyczaj jako text/html. Gdzie równie dobrze mógłby być HTML 4.01 Strict, ale przyznam, że wymuszanie zamknięcia znaczników jest dla mnie jakoś naturalniejsze. XHTML 1.0 Strict zdarza mi się też używać gdy strona serwerowa nie radzi sobie dobrze z kodem w HTML5 (np. właśnie w jkiś generatorach webowych, systemach CMS itp.).

W aktualnych projektach używam już tylko HTML5 w dialekcie XML-owym, z zamykaniem znaczników, pustymi znacznikami z zamknięciem i takimi tam, używając zwłaszcza nowego DOCTYPE, nowego meta charset i nowych znaczników w rodzaju <header>, <footer>, <section>. W kilku miejscach używałem też już <video> i materiałów wideo w formacie Ogg Theora, co bardzo ładnie się sprawdzało wszędzie poza IE.

O, i podobnie jak @bswierczynski używam czasami niektórych elementów CSS3.

0

Sorki za post pod postem, ale teraz nie mogę się zalogować. Jak będę pamiętał, to po zalogowaniu sam sobie te posty zmerge'uje :P.

jj09 napisał(a)

ale xHTML 1.0 Transitional lepiej używać, bo jest to wersja przejściowa z czasów, kiedy nie było wsparcia przeglądarek dla CSS

Argumentacja kompletnie dla mnie nie zrozumiała. Mógłbyś wyjaśnić?

jj09 napisał(a)

mówią, żeby używać HTML 4.01 jeśli nie korzystamy z możliwości iksa...no, ale tutaj pojawia się chociażby printable.css, którego może jeszcze nie ma na mojej stronie

J/W. Co to jest "printable.css"? Chyba nie chodzi Ci o zwykłe style do druku?

0

ad.1: przytoczyłem cytat z jakiejś strony...chociaż osobiście uważam, że to nawet dobrze, że w strict nie możemy korzystać z 'zakazanych' rzeczy.
ad.2: chodzi o style do druku

0

W takim razie, oba argumenty to bzdury.

Wśród dobrych koderów HTML/CSS istnieje konsensus, żeby prezentację trzymać w CSS, a nie w tagach HTML i atrybutach [ew. innych niż class]. "Gdzieś w necie" można przeczytać różne bzdury i nie należy się nimi przejmować jeśli nie są PORZĄDNIE uzasadnione. Tu: uzasadnienia brak.

Co do #2, to jest to bzdurą dlatego, że HTML poddaje się stylom do druku tak samo dobrze jak XHTML. Nie jest to żaden argument na to, by korzystać z jednego z tych dwóch.

0

Ja używam od jakiegoś czasu po prostu <!doctype html> czyli HTML5 - bo po pierwsze to pierwszy doctype, który potrafię wpisać z pamięci ( :D ), po drugie podążam za google, a po trzecie chcę mieć możliwość skorzystania z nowych tagów
nigdy się tym za bardzo nie przejmowałem, byle tylko IE przeszło w odpowiedni tryb renderowania, teraz się nawet tym nie przejmuję bo udział jego spadł jak dla mnie wystarczająco (mówię o starszych wersjach)

BTW - właśnie przeczytałem ciekawostkę, że <meta charset="..."> zadziała nawet na starszych przeglądarkach - wreszcie nie będę miał oporów przy korzystaniu z niego
wszystko dzięki ludziom, którzy zapominali o cudzysłowach i pisali:
<meta http-equiv=content-type content=text/html; charset=...>
dzięki czemu "charset=" stał się osobnym nieoficjalnie wspieranym atrybutem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1