ObjectHTML
Wstęp - geneza, zastosowania -> |
Obecnie w użyciu jest wiele programów do tworzenia stron HTML. Kierunek rozwoju tych programów - narzędzi przypomina rozwój procesorów tekstu: od stricte tekstowych do graficznych. Dzięki takim narzędziom nawet laik jest w stanie stworzyć profesjonalną stronę. Niektóre narzędzia zapewniają tak zaawansowane mechanizmy jak np. tworzenie spisów treści. Niestety nie zawsze obsługa tych mechanizmów jest prosta i nie zawsze narzędzia te działają tak, jak życzyłyby sobie tego użytkownik. Z tego względu do edycji tekstów zawierających wzory matematyczne wygodniejsze jest stosowanie narzędzi wyłącznie tekstowych takich jak LATEX. Rozbudowany portal przypomina bardziej program niż dokument tekstowy. Twórcy stron używają tradycyjnych języków do oprogramowania portali. Są one wygodne do implementowania algorytmów, ale nie są odpowiednie do tworzenia stron HTML. Dlatego też stworzyłem nowy język ObjectHTML (krótko OHTML). Jego celem jest uzupełnienie tradycyjnych języków do generacji stron statycznych lub dynamicznych, a nie ich zastąpienie. Obiektowe cechy ObjectHTML są to: enkapsulacja, dziedziczenie, polimorfizm. Dzięki mechanizmom klas definicje stron mogą być obiektowe tzn. posiadać metody, atrybuty, mogą dziedziczyć cechy innych stron. Ułatwia to tworzenie dużych serwisów, portali. Wystarczy tylko raz zdefiniować układ strony , a następnie wykorzystać ten układ na wszystkich stronach poprzez dziedziczenie. Dzięki takiej budowie aktualizacja elementów portalu, które powtarzają się na wielu stronach jest kilkudziesięciokrotnie lub kilkusetkrotnie efektywniejsza od aktualizacji portalu stworzonego przy pomocy graficznych edytorów stron.Praca na projektem w ObjectHTML może być pracą grupową. Dzięki obiektowej strukturze strony, pracę nad stroną można łatwo rozdzielić na wiele osób. Jedna osoba może pracować nad układem strony, inna nad jej treścią. Instrukcja import importuje strony wygenerowane przy pomocy łatwych w obsłudze graficznych edytorów na zmienne. Następnie można wklejać treść tych stron w stronę OHTML, która zawiera zdefiniowany układ: podział na kolumny, strukturę nawigacyjną, nagłówek i stopkę. Dodatkowo stwarza to możliwość udostępnienia edycji tylko fragmentu strony danemu użytkownikowi.Język OHTML zawiera elementy, które pozwalają na automatyczną budowę struktur nawigacyjnych, spisów treści. Dodanie nowego działu do serwisu lub portalu wymaga tylko rekompilacji całego projektu w celu u aktualnienia wszystkich stron.Ze względu na zalety języka HTML bardzo modne stało się tworzenie dokumentacji do najróżniejszego typu oprogramowania w języku HTML. Większość dzisiejszych prezentacji dostępnych na płytach CD-ROM zawiera również strony HTML. Dobrze sformatowana dokumentacja (lub prezentacja) posiada jednolity układ, spis treści, itp. Właściwości OHTML sprawiają, że jest to dobre narzędzie to tworzenia tego typu prac . Odnośniki tworzone przez OHTML mogą być "bezwzględne", czyli zawierać pełny adres URL lub "względne". Odnośnik "względny" zawiera ścieżkę dostępu z aktualnego pliku HTML do innego pliku. Pozwala to na umieszczanie stron wygenerowanych w OHTML na dowolnym komputerze i w dowolnym katalogu. Wszystkie odnośniki będą cały czas prawidłowe. Oczywiście dokumentacja w postaci stron HTML bardzo często jest udostępniana w Internecie. Z mojego doświadczenia wynika jednak, że autorzy w większości przypadków dodatkowo zamieszczają archiwum ze stronami HTML. Jest to bardzo pragmatyczne, ponieważ jeszcze nie wszyscy posiadają stały i niezawodny dostęp do Internetu i nie zawsze szybkość połączenia jest zadawalająca.Generacja do plików, jest to rozwiązanie wielokrotnie bardziej wydajne niż każdorazowe generowanie pliku (strony) od początku poprzez narzędzia takie jak ASP, PHP. Dzięki takiemu rozwiązaniu istnieje dodatkowa możliwość rozmieszczenia wygenerowanych plików na wielu serwerach w różnych miejscach sieci. Możl iwość ta jest bardzo przydatna w zapewnieniu szybkiego dostępu do stron bardzo popularnych serwisów i portali.Generacja do plików zawierających tylko czysty HTML ma olbrzymie znaczenie dla osób komercyjnie tworzących strony HTML. Dzięki temu mogą one przekazać klientowi tylko wynik swojej pracy, bez kodów źródłowych. Tak więc przyszłe uaktualnienia strony powinny być dokonywane przez osobę posiadającą kod źródłowy strony. Linux kernel web module umożliwia wykorzystanie wygenerowanych plików HTML. Nowa wersja jądra Linuxa 2.4 będzie prawdopodobnie zawierała modul web. Moduł ten będzie na poziomie jądra systemu operacyjnego obsługiwał proste żądania protokołu HTTP dostępu do plików, np. wygenerowanych przez OHTML. W przypadku żądania dostępu do dynam icznego zasobu, żądanie to będzie kierowane dalej do właściwego serwera HTTP (np. Apache http://www.apache.org/). Dzięki takiemu rozwiązaniu Linux może stać się najszybszym serwerem stron WWW.Integrację z istniejącymi narzędziami do dynamicznego tworzenia stron HTML, ułatwia dodatkowe narzędzie "makedefs" dołączone do kompilatora, dzięki konwertowaniu wyników kompilacji do plików nagłówkowych języków programowania C, C++, ASP, PHP. Zatem można stworzyć układ całego serwisu w języku ObjectHTML a do generacji dynamicznej zawartości użyć doskonale rozwiniętych narzędzi takich jak ASP.Dzięki takiemu rozwiązaniu kod HTML może być oddzielony od kodu programu. Tak więc zmiany w układzie strony nie będą wymagały żadnych zmian w kodzie programu, będzie potrzebna tylko jego rekompilacja. |