Kamil Miotk
Aby oszacować czas potrzebny na wykonanie jakiegoś zadania należy przewidywany czas pomnożyć razy dwa i przyjąć jednostkę o rząd wyższą. - Prawo Liebermana

Strona główna

Nazywam się Kamil Miotk. Jestem absolwentem Wydziału Matematyki i Informatyki Uniwersytetu Łódzkiego (kierunek - Informatyka). Zajmuję się tworzeniem internetowych aplikacji bazodanowych - głównie przy użyciu PHP/MySQL. Od czasu obronienia mojej pracy magisterskiej korzystam także często z technologii Adobe Flex. Tematem mojej rozprawy magisterskiej było: Wytwarzanie oprogramowania typu RIA przy użyciu Adobe Flex oraz Microsoft Silverlight.


Umiejętności w branży:
  • Bardzo dobra znajomość PHP 4, PHP 5, system szablonów Smarty
  • Dobra znajomość języka Java: J2SE, podstawowa znajomość J2EE - Spring Framework, servlety, JSP
  • Dobra znajomość technologii Adobe Flex, Microsoft Silverlight
  • Rodzina XML, Schema/DTD oraz XSL/XPath
  • XHTML, CSS, XML
  • Dobra znajomość SQL, PL/SQL, MySQL
  • Znajomość Zend Framework, Yii Framework, Prado
  • Znajomość i umiejętność praktycznego wykorzystania OOP

Znajdziesz mnie na:

Zobacz mnie na GoldenLine Kamil Miotk   Kamil Miotk
 

Projekty

Oto kilka przykładowych stron, serwisów oraz aplikacji które wykonałem jako niezależne - czasami własne - projekty. Innych stron nad ktorymi pracowałem w firmie z wiadomych przyczyn pokazać nie mogę ;).

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 .....

 

Praca magisterska

Z dumą pragnę przedstawić pracę magisterską poświęconą:

Wytwarzanie oprogramowania typu RIA przy użyciu: Microsoft Silverlight i Adobe Flex


Praca poświęcona jest zagadnieniu wytwarzania nowoczesnych aplikacji internetowych. Zostały w niej porównane dwie wiodące na rynku technologie RIA - Adobe Flex oraz Microsoft Silverlight. Jeśli posiadasz trochę wolnego czasu, to zapraszam do zapoznania się z lekturą ;).
W przeciwnym wypadku polecam zapoznanie się ze spisem treści, wstępem, oraz podsumowaniem. Przedstawią one zarys całej pracy magisterskiej.

  1. Wstęp
  2. Aplikacje webowe
    1. Historia
    2. Aplikacje RIA
  3. Platformy RIA
    1. Adobe Flex
    2. Microsoft Silverlight
  4. Architektura Aplikacji Webowych
    1. Architektura n-warstwowa
      1. Warstwa danych
      2. Warstwa logiki
      3. Warstwa prezentacji
    2. MVC w aplikacjach RIA
  5. Inżynieria Oprogramowania Aplikacji Webowych
    1. Faza strategiczna
    2. Wymagania funkcjonalne
    3. Analiza i projektowanie
    4. Implementacja
    5. Wydajność
  6. Przeprowadzone badania
    1. Wymagania funkcjonalne
    2. Strona serwera
      1. Warstwa trwałości
      2. Warstwa logiki
    3. Aplikacja RIA - warstwa prezentacji i logiki
      1. Organizacja kodu
      2. Projektowanie interfejsu użytkownika
      3. Kontenery i kontrolki
      4. Obsługa zdarzeń
      5. Tworzenie nowych komponentów
      6. Technika "przeciągnij i upuść"
      7. Walidacja formularzy
      8. Zarządzanie historią i głębokie linkowanie
      9. Wygląd aplikacji
      10. Uslugi sieciowe
      11. Odtwarzanie multimediów
    4. Testy aplikacji
    5. Testy wydajnościowe
      1. Serwer
      2. Klient
    6. Wdrażanie aplikacji
  7. Podsumowanie


Wstęp

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.


Podsumowanie

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.

Obecnie

Jestem absolwentem Uniwersytetu Łódzkiego, wydziału Matematyki i Informatyki. Obroniłem pracę magisterską, której tematem było: Wytwarzanie oprogramowania typu RIA przy użyciu: Microsoft Silverlight i Adobe Flex na ocenę bardzo dobrą. Obecny czas poświęcam na pracę, oraz realizowanie własnych projektów. Specjalizuję się w programowaniu z wykorzystaniem języka PHP. Projekty opieram na programowaniu obiektowym, wykorzystuję dostępne na rynku frameworki, lub tworzę własne rozwiązania, w zależności od rodzaju realizowanego zadania.
Coraz częściej tworzę oprogramowanie typu RIA. W swoich realizacjach korzystam z technologii Adobe Flex.

Kontakt

 
Temat:

Wiadomość

Autor:

Adres e-mail:


Copyright © 2008-2011 Kamil Miotk

O mnie || Projekty || Obecnie || Kontakt