|
Skracacz linków - strona do generowania krótkich linków - aliasów dla długich adresów URL. Łatwe i proste skracanie linków. Adres: tiny-url.pl katalog 1 katalog 2 katalog 3
Wizytówka firmy zajmującej się sprzedażą skuterów, quadów oraz samochodów. Strona zarządzna poprzez panel administracyjny. Wykorzystywane technologie: Yii Framework, jQuery. Adres: www.moto-kamilo.pl
Strona sklepu motoryzacyjnego. Forma wizytówki wraz z możliwością zamawiania wybranych towarów. Strona zarządzana poprzez panel administracyjny. Wykorzystywane technologie: PHP5, baza danych MySQL. Adres: www.auto-nova.pl
Strona nauczyciela, zawiera materiały dla uczniów z prowadzonych przedmiotów. Wykorzystywane technologie: PHP4, AJAX. Adres: mmiotk.diversity.org.pl
Webowa aplikacja dla firm spedycyjno-transportowych. Umożliwia wystawianie faktur, ich archiwizacje, sprzedaż w rożnych walutach, automatyczny import oraz zapis kursu walut. Wykorzystywane technologie: PHP5, AJAX, baza danych MySQL I pare innych .....
|
Ogólnoświatowa sieć WWW jest obecna już od ponad dwudziestu lat. Od samego początku zakładała użycie hipertekstu do dostarczania informacji, obsługę przeglądarki internetowej oraz użycie architektury klient - serwer. Przez ten czas założenia się nie zmieniły, jednak technologie tworzenia aplikacji webowych uległy wielkiemu rozwojowi. Obecnie posiadają wysoki poziom zaawansowania, umożliwiając tworzenie złożonych, rozproszonych systemów obsługujących równolegle miliony użytkowników. Coraz większą popularność zyskują nowoczesne technologie serwerowe takie jak na przykład Java EE czy .NET, coraz wyraźniej gruntujące swoją pozycję na rynku. Równolegle z nimi rozwijają się technologie RIA - Rich Internet Applications, czyli Nowoczesne Aplikacje Internetowe. Aplikacje te oferują pracę w dynamicznie generowanym, jednoekranowym interfejsie (one-screen-application), eliminując uciążliwość standardowych rozwiązań technologii HTML (np. wprowadzanie danych w kolejnych formularzach wymagające wielokrotnego przeładowywania stron). RIA pobiera większość potrzebnych danych z serwera na początku sesji użytkownika, a następnie przetwarza i wyświetla dane wykorzystując zasoby i moc obliczeniową urządzenia-klienta. Przykładami technologii typu RIA są Microsoft Silverlight, Adobe Flex, czy Sun JavaFX. Wszystkie one oparte są na środowisku wykonywalnym producenta, w ramach przeglądarki internetowej uruchamiane są za pomocą wtyczek (plug-inów), lub jako aplikacje pulpitu. Ich potencjał tkwi w bogatym interfejsie użytkownika dostarczanym w ramach API technologii, a względną prostotę w tworzeniu oprogramowania zawdzięczają dużej ilości dostarczanych kontrolek, tematów wyglądu aplikacji oraz gotowych komponentów (np. do generowania wykresów, danych tabularycznych). Jako technologie działające w warstwie prezentacji oferują wiele sposobów na pobranie potrzebnych danych z serwera. Dzięki tym wszystkim zaletom systemy te mogą niebawem znaleźć zainteresowanie u wielu producentów oprogramowania webowego.
Ze względu na małą ilość publikacji traktujących o tego typu technologiach wytwarzania nowoczesnych aplikacji internetowych zdecydowałem się na pracę, której celem będzie zestawienie dwóch wiodących technologii RIA na rynku. Dokonam porównania Adobe Flex oraz Microsoft Silverlight, wskażę wady i zalety tych rozwiązań, zarówno pod kątem teoretycznym inżynierii oprogramowania, ale także praktycznym. W toku pracy zostaną stworzone w wyżej wymienionych technologiach dwa przykładowe programy, a następnie na podstawie doświadczeń empirycznych wyciągnięte wnioski i konsekwencje jakie wywiera zastosowanie każdej z nich.
W rozdziale drugim zostanie przedstawione zagadnienie aplikacji webowych, wraz z ich zarysem historycznym. Omówiona zostanie także definicja aplikacji RIA, o których traktuje prezentowana praca.
Rozdział trzeci przybliży dokładnie dwie platformy do wytwarzania aplikacji RIA - Adobe Flex i Microsoft Silverlight.
Architektura aplikacji webowych zostanie omówiona w rozdziale czwartym. Opierając się na architekturze n-warstwowej będzie podjęta próba odpowiedniego umiejscowienia bogatych aplikacji webowych w odpowiedniej dla nich warstwie.
Aplikacje Webowe w znacznym stopniu różnią się od znanych od dawna programów desktopowych. Dotyczy to także całego procesu wytwarzania oprogramowania, a więc zagadnienia inżynierii oprogramowania. Rozdział piąty omówi wszystkie procesy oraz stosowane metodyki inżynierii oprogramowania dla aplikacji webowych.
W toku pracy zostaną stworzone dwie aplikacje. Jedna w technologii Adobe Flex, druga za pomocą Microsoft Silverlight. Rozdział szósty omówi proces tworzenia tych programów. Wpierw będzie przedstawione podejście od strony inżynierii oprogramowania. Następnie zostaną zaprezentowane spostrzeżenia wynikające z implementacji aplikacji, oraz cechy podobne i różnice porównywanych technologii. Wszystko to zostanie podparte przeprowadzonymi testami.
Niniejsza praca prezentuje porównanie dwóch wiodących technologii służących do tworzenia nowoczesnych aplikacji internetowych. Zostały tutaj zgromadzone informacje na temat architektury platform RIA, oraz sposobu ich wykorzystania w poszczególnych fazach kaskadowego modelu inżynierii oprogramowania. Na koniec zostały zaimplementowane dwie aplikacji oferujące identyczną funkcjonalność i interfejs użytkownika, ale różniące się stosowaną technologią.
Adobe Flex i Microsoft Silverlight stanowią wobec siebie bardzo poważną konkurencję. Flex opiera się na dobrze ugruntowanym na rynku Flash Playerze, zaś za Silverlightem stoi potężna platforma programistyczna .NET. Ciężko jest stwierdzić która z technologii nadawała by się bardziej do określonego zastosowania. Czynnikiem który bierze się pod uwagę przy wyborze jednej z nich, jest technologia użyta po stronie serwera. Flex nadaje się bardziej do rozwiązań open source, zaś Silverlight idealnie współgra z rozwiązaniami autorstwa Microsoftu. Kolejną cechą, która świadczy o przewadze Flexa jest wszechobecność odtwarzacza Flash Player, który według badań obecny jest na 98% komputerów na świecie.
Obydwie technologie oferują wygodne środowiska programistyczne. Języki programowania których się używa są łatwe w nauca dla programistów, tak więc wybór pod tym względem platformy zależy od upodobań autora aplikacji. Języki definicji interfejsu użytkownika opierają się na XML, tak więc przejście z jednej technologii na drugą jest procesem szybkim i prostym.
Kwestia wydajności technologii nie decyduje o wyższości żadnej z nich. Przedstawione badania pokazują nieznaczną przewagę platformy Flex pod względem inicjalizacji aplikacji. Zakładając jednak, że użytkownik uruchamia program jednorazowo, a następnie korzysta z niego przez dłuższy czas, nie jest to czynnik decydujący o prymacie Flexa.