strony programu rich internet co to jest
Definicja: oprogramowanie przyszłości. A raczej strony internetowe stają się podobne do typowych.

Czy przydatne?

Co znaczy Od strony do programu - Rich Internet Applications

Słownik: Witryny internetowe nie tylko przekonały miliony do Internetu, lecz także wprowadziły w błąd niektórych, iż tak właśnie będzie wyglądało oprogramowanie przyszłości. A raczej strony internetowe stają się podobne do typowych aplikacji instalow
Definicja:

Ponad dekadę temu wreszcie poczułem moc aplikacji okienkowych potrafiąc zrealizować bardzo wymyślne programy, a w pierwszej kolejności zdając sobie sprawę jak sporo możliwości kryją widgety(struktury graficzne) Windows. Zdawałem sobie sprawę, iż daje to programiście olbrzymią liczbę wariantów, które może zrealizować. Przy jednoczesnej łatwości dokonywania zmian dawało to sposobność wręcz zasypania klienta różnymi wariantami oprogramowania i przy dobrej współpracy można było z tego coś faktycznie dobrze dopasowanego do zadań wybrać.


Oczywiście zdarzały się potknięcia. Sam dzisiaj trochę ubolewam nad tym, iż "przekombinowałem" swój program edukacyjny TRAIN, który co prawda zyskał liczne pochlebne opinie czasopism i sprawdził się także na kółku informatycznych dla piątej klasy podstawówki, lecz jak zobaczyłem kolegę, który głowił się jak go użyć to zrozumiałem, iż trochę przesadziłem. Niestety jeszcze bardziej przyjazna wersja już nie powstała, ponieważ nie widać było zapotrzebowania rynku na edukacyjną zabawkę w programowanie poprzez skojerzenie z zabawą kolejką elektryczną.


Na obronę TRAIN muszę jednak powiedzieć, iż nie tylko podchodził do programowania wręcz "łopatologicznie", lecz był nieporównywalnie prostszy od jakiegokolwiek "prawdziwego" języka programowania, a nawet konkurencyjnego programu stosującego także graficzne struktury do zobrazowania programowania. Dość powiedzieć, iż struktur sterowania miał raptem trzy, gdy konkurent ponad dwadzieścia. Do tego jak po ułożeniu programu okazywało się, iż popełniliśmy błąd to edytor pozwalał elegancko wstawiać i usuwać struktury elastycznie się dopasowując, gdy "klockowy" konkurent wymagał wielu zbędnych przesunięć.


Piszę to tutaj jako przykład, iż żaden program nie powinien operować zbyt różnymi pojęciami na głównym poziomie, ponieważ użytkownik się zagubi. Wiadomo, iż złożone programy muszą mieć sporo opcji, lecz trzeba je zręcznie pogrupować żeby grup nie było za sporo, a do tego zawsze było wiadomo w jakiej ekipie szukać akurat potrzebnej funkcji. Okazało się jednak, iż można w dążeniu do prostoty pójść trochę za daleko. Coś jakby cofnąć się do prostych rozwiązań DOS-owych. Niewiarygodne?


A jednak dekadę temu ekipa programistów zaraz po studiach uległa czarowi prostoty stron internetowych i bardzo mocno lansowanych wtedy rozwiązań klient-serwer w wersji nawet trójwarstwowej, iż skonstruowali bardzo niewiele wymagający od sprzętu programik, który miał pełnić na komputerze klienta podobną rolę jak bardzo prymitywna przeglądarka internetowa. Nie wiedzieć czemu owi programiści zastosowali z bogatego repertuaru windows tylko kilka widgetów z hierarchicznymi drzewami na czele. Później programując każdą aplikację długo kombinowali jak jej funkcje zawrzeć w owym szalenie ubogim repertuarze.


Przyznaję, iż nie chciałbym ani męczyć się tak jak oni z dopasowywaniem bogatej rzeczywistości do ubożuchnego repertuaru. Ani także być klientem, który wykonywał odwrotny mechanizm dekodowania tego co sobie wymyślili programiści na ludzki język. ponieważ sporo można zarzucać strukturom(widgetom) windows lecz w większości to są pró aby przeniesienia spotykanych w praktyce notacji(na przykład zaznaczanie "ptaszkami") czy wręcz fizycznych urządzeń (((na przykład przyciski-"buttony").


ponadto ci programiści zasugerowali się stronami internetowymi również pod tym kątem, iż interakcję użytkownika z programem postrzegali poprzez pryzmat opóźnień sieci jako wzorzec na przyszłość. Czyli starali się eliminować wszelakie "podpowiedzi" programu, czy interakcje prowadzące do niewielkich zmian ekranu. Twierdzili, iż od tego momentu wszystko będzie się działo totalnie, ponieważ Internet tego wymaga i tj. przyszłość.


Pomylili się podobnie jak ((((na przykład ci co przedtem twierdzili, iż mikrokomputery będzie się programowało tylko w języku asemblera, ponieważ są za małe ; aby korzystać kompilatorów języków wysokiego poziomu. lecz również pomylili się ci co twierdzili, iż przyszłość należy do języków tak wysokiego poziomu jak Prolog. Mija 35 lat i jakoś nie widać ; aby sporo komercyjnego oprogramowania powstało w tym i podobnych językach. Przyznam, iż i ja byłem w tym ostatnim błędzie, a na odchodnym rzuciłem myśl, iż być może dopiero komputery kwantowe dadzą się skutecznie programować tego rodzaju językami, lecz już sam nie bardzo wierzę w spełnienie się tej przepowiedni.


Dzisiaj interaktywność stron internetowych bazuje nie tylko na długich przeładowaniach poprzez sieć lecz także bardzo krótkich interakcjach z kodem (((((na przykład w ECMAscript (dawniej Java srcipt) rezydującym w przeglądarce albo tylko mało dłuższych zapytaniach AJAXowych z serwerem, które nie powodują przeładowywania całej strony.


Techniki programowania, które oszczędnie korzystają z interakcji z serwerem i starają się zamieniać ekran przeglądarki etapowo małymi interakcjami ustala się mianem Rich Internet Aplications, co można przetłumaczyć jako Bogate Aplikacje Internetowe. Pierwszym reprezentantem tej technologii było narzędzie FLEX spółki Macromedia. Oparte ono jest zarówno na technikach znanych z narzędzi FLASH jak również wykorzystuje serwlety JAVA w J2EE. Początkowo było to bardzo drogie środowisko. Aktualnie FLEX 2 jest już w części darmowy, do czego być może zmusiło nieco podobne środowisko OPEN LASZLO, które również wykorzystuje plug-in Flash w przeglądarce i JAVĘ na TOMCAT. Środowiska te pozwalają w sposób nadzwyczajnie wydajny tworzyć witryny, które ((((((na przykład na jednym ekranie umieją wygodnie zorganizować sprawdzanie dostępności rezerwacji i opłacanie pokoi hotelowych. To jest faktycznie znacząco wygodniejsze niż przebijanie się poprzez sporo ekranów w szczególności jeżeli miejsca są już w sporym stopniu zajęte, a klient chce sprawdzić różne warianty ; aby wybrać najlepszy dla siebie w ustalonych warunkach.


Jednak prawdziwą furorę robią techniki AJAX, czyli takie które wykorzystują typowy HTML albo jego pochodne i dosyć zaawansowane programowanie w owym ECMAscript ze szczególnym uwzględnieniem jednej małej dyrektyw pozwalającej ściągać z serwera dane bez przeładowywania całej przeglądarki i z możliością równoległego wykonawania w przegllądarce innych operacji.


Na co pozwala AJAX najlepiej będzie mi przedstwić na przykładzie własnego serwisu społecznościowego www.Piszmy.pl, który już od dwóch lat rozwijam w tym właśnie kierunku. Serwis ten pozwala na pisanie opowiadań w charakterystycznym trybie pracy zespołowej, która czyni z trudnej samotnej pracy interesującą przygodę edukacyjną w gronie pisarzy-amatorów w wieku od 12 do 60 lat. lecz nawet dopisanie krótkiego fragmentu to czasem sporo min. zastanawiania się na co poprzednik serwisu(Opowiadam.pl) potrafił zareafować zgubieniem tekstu wskutek straty sesji. Sesje były konieczne wobec bestanowości typowej interakcji po http. Aktualnie jednak zmienne ECMAscript tworzą pewne stany w przeglądarce, które pozwoliły wyeliminować ten przykry sytuacja. niewiele tego przeglądarka natychmiast informuje o utracie połączenia z serwerem i nawet w takim przypadku nie gubi tekstu ale pozwala poczekać na odzyskanie połączenia i wtedy można spokojnie dokonać zapisu.


Innym problemem było, iż po wybraniu nowej podstrony następna otwierała się zawsze od góry. Teraz następna otwiera się w tym miejscu w jakim znajduje się przewijak. Daje to większe poczucie komfortu ponieważ zawartość przeglądarki tak nie drga ale wymienia się etapowo. Osiągnieto ten sukces poprzez podmienianie wyłącznie zasadniczej części postrony mieszczącej się w środku przeglądarki. Logo u góry, menu po boku i u dołu pozostają w tym procesie bez zmian. Nie oznacza to jednak, iż w ogóle nie dostosowują się do zmiany danych na serwerze. Odwrotnie, spis zalogowanych użytkowników wymienia się na bieżąco i to bez żadnej ingerencji użytkownika. Można siedzieć nieruchomo i śledzić przed ekranem jak ludzie przychodzą do serwisu i wychodzą z niego. Podobnie można śledzić na liście najnowszych dopisków jak wymienia się odstęp czasu w jakic ich dokonano i 'wskakują' nowe dopiski.


Serwis ma prawie 100tys.podstron dzięki ponad tysiącu zapisanych opowiadań, których wydrukowanie wymagałoby prawie szęśćdziesięciu typowych tomów. Daje to sposobność przypadkowego trafienia (((((((na przykład poprzez Google na opowiadanie bez logowania się, lecz wtedy napotykamy napis: "by się dopisać musisz się zalogować". Niegdyś zalogowanie powodowało przejście na inną podstronę serwisu, później serwis pozostawał na tej samej lecz wiadomość nie ulegała zmianie, a aktualnie po zalogowaniu samoczynnie otwiera się okienko gotowe do wpisania tekstu. Należy również wspomnieć, iż część logo jest używana na reklamy opowiadań poprzez użytkowników serwisu ; aby skłonić innych do dopisania właśnie do utworzonego poprzez daną osobę opowiadania. Dzięki AJAXowi reklamy pojawiają się równocześnie u wszystkich użytkowników w chwilę po zawarciu transakcji na jej emisję.


Inny schemat serwisu to edukacyjna gra Labiryntus, której zewnętrzna struktura przypomina program z różnymi niezależnie dostępnymi okienkami. Okienka można swobodnie otwierać i zamykać stosownie do potrzeb informacyjnych i wykonania określonej operacji. Serwis sam dba ; aby zawartości okienek były zawsze spójne i aktualizowały się w odpowiedni sposób i w odpowiedniej kolejności, a w pierwszej kolejności nie wykonywały się powiązane z nimi operacje jeżeli to nie jest niezbędne, poprzez co oszczędza się nie tylko na transmisji danych lecz również pozwala to na większe skupienie użytkownika nad tym co ważne.


Autor zamierza dalej rozwijać własne witryny, a również prowadzić prace dyplomowe na Politecnice Poznańskiej, które dotąd skupiały się bardziej na rozwiązaniach FLEX(publikacja w czasopiśmie PRO-DIALOG). Ułatwi to niewątpliwie nowy element na specjalności magisterskiej "Gospodarka elektroniczna", którego celem będzie doskonalenie programowania w technologii "Rich Internet Applications", czyli ; aby witryny internetowe były przynajmniej tak przyjazne interakcją jak programy instalowalne windows. A za rogiem już następne wyzwanie ; aby gry a dalej poważne witryny internetowe upodobniły się do oprogramowania rozrywkowego instalowalnego na komputerach.