CodeFusion

JavaScript here we come!

29.06.2016

CODEFUSION to wciąż stosunkowo młoda firma, bo w tym roku świętowaliśmy nasze szóste urodziny. Od samego początku byliśmy ściśle związani z technologiami internetowymi. Nieustannie fascynuje nas to, w jakim kierunku i z jaką prędkością rozwija się Web, a my wraz z nim. Nasze pierwsze większe projekty prowadziliśmy między innymi w nowoczesnym na owe czasy frameworku do tworzenia stron WWW Microsoft ASP.NET MVC. Cykl życia takiej aplikacji był bardzo tradycyjny. Użytkownik korzystający z przeglądarki WWW wysyłał zapytanie do serwera WWW, który zwracał odpowiedź składającą się z dokumenty HTML, arkusza stylów CSS oraz dynamicznych elementów oprogramowanych w JavaScript. Formułowanie odpowiedzi odbywało się po stronie serwera z wykorzystaniem oprogramowania napisanego w C#. Dokumenty wygenerowane po stronie serwera przekazywane były z powrotem do przeglądarki, która po ich zinterpretowaniu pokazywała wynik użytkownikowi. Jedyną ekstrawagancją w tym modelu był tzw. AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML), który pozwalał na wygenerowanie części strony WWW i zaprezentowaniu jej w pewnym obszarze przeglądarki bez konieczności przeładowania całego dokumentu.

Później stworzyliśmy apkę ExCalc – Leasing Calculator przeznaczoną na smartfony, w całości wykonaną w technologiach webowych (KnockoutJS JQuery UI). API po stronie serwera (wciąż pisane w C#) serwowało dane dla aplikacji, która pod maską była aplikacją opartą o HTML5 i CSS i sterowaną w całości za pomocą kodu napisanego w JavaScripcie. Za pomocą narzędzie Cordova całość zapakowana została do aplikacji na Androida, iPhona oraz na inne platformy.

Teraz przygotowujemy się do kolejnego kroku, gdzie całość aplikacji webowej wykonana będzie za pomocą jednego z JavaScriptowych frameworków, takich jak AngularJSKnockoutReact, czy Blaze. To, co zrobiliśmy w ExCalcu przeniesiemy na wyższy poziom i stworzymy webową aplikację, która nie będzie dokonywała żadnych przeładowań. Sto procent funkcjonalności po stronie przeglądarki wykonamy za pomocą JavaScript (najpewniej z pomocą przyjdzie nam TypeScript lub CofeeScript). CSS wspomożemy Sassem lub LESSem. Interfejs użytkownika stworzymy dzięki jQueyUIKednoUIIgniteUI albo AngularUI. Cykl życia tak stworzonej aplikacji jest kompletnie inny niż tradycyjnej. Po pierwszym dostarczeniu HTMLi, CSSów i JSów (kod źródłowy w JavaScript) całość komunikacji opiera się o serwerowe API dostarczające (najczęściej w JSonie) samych danych do przeglądarki. Dopiero tam kod JavaScriptowy dokonuje ich prezentacji wykorzystując DOM (Document Object Model) i prezentując ją użytkownikowi końcowemu. Dzięki takiemu podejściu eliminujemy przeładowanie strony, ograniczamy obciążenie serwera i zapewniamy zdecydowanie szybsze działanie strony.

«
»
strzałka do góry