Jakim zmianom uległa technika projektowania aplikacji? Spytaj eksperta ITMAGINATION
Pierwsza aplikacja pojawiła się w latach 70., a od tamtego czasu aplikacje i programy komputerowe przebyły długą i zawiłą drogę, by uzyskać obecnie znaną nam formę.
Chmura, aplikacje mobilne, metodyczne odchodzenie od aplikacji desktopowych – to tylko niektóre z najnowszych trendów, które stopniowo nadają kształt i ewoluują technikę projektowania aplikacji.
Wszystko zaczęło się w latach 80.
Pierwszym gotowym komputerem osobistym wypuszczonym na rynek był Apple II. Był on dedykowany zwykłemu użytkownikowi niemającemu nic wspólnego z branżą IT. Wraz z pojawieniem się pierwszych komputerów na rynku pojawiła się potrzeba tworzenia aplikacji dla ich użytkowników. Stąd też lata 80. przyjmuje się jako złoty czas powstania i rozwijania techniki projektowania aplikacji desktopowych z tekstowym interface’em.
Wówczas aplikacje instalowane były bezpośrednio na komputerach bezpośrednio z fizycznych nośników. Początkowo prym wiodło projektowanie strukturalne w języku C, a następnie projektowanie obiektowe w C++. Rozwój tego języka ukuł podwaliny podejścia i metodologii projektowania aplikacji, torując drogę nowym i lepszym rozwiązaniom.
Złote lata 90. przynoszą interface’y graficzne
Wraz z nadejściem lat 90. komputery PC były na tyle powszechne, że rozpoczęła się intensywna popularyzacja desktopowych aplikacji. Co ważne, powoli odchodzono od tekstowych interface’ów na rzecz graficznych, bardziej przyjaznych użytkownikowi. W tym samym czasie rozpoczął się rozwój sieci WAN, co miało całkowicie zrewolucjonizować architekturę aplikacji.
Rozwój Internetu umożliwił udostępnianie plików znajdujących się na fizycznych pozostałym internautom. Dodatkowo powstały DNS-y, które zaczęły tłumaczyć adresy domen na ludzki język. Sieć stawała się coraz przyjaźniejsza i bardziej funkcjonalna.
Dzięki rozwojowi Internetu możliwe było projektowanie aplikacji na jednym PC-cie i udostępnianie ich szerokiemu gremium za sprawą protokołu HTML, który uzyskał specyfikację w 1991 roku. Właśnie dzięki niemu powstawały pierwsze statyczne strony WWW. W 2011 roku ustandaryzowany został język CSS, który wzbogacił witryny o elementy graficzne.
Nowe milenium przyniosło nowe możliwości
Wraz z nadejściem lat 2000. rozkwitały aplikacje oparte na językach PHP i ASP.NET. Powoli kształtował się popularny do dziś język JavaScript, który umożliwił projektowanie interakcji w aplikacjach webowych. Na początku nowego tysiąclecia powstawało wiele frameworków opartych o JS, a wraz z rozwojem aplikacji internetowych stopniowo na znaczeniu zaczęły maleć trudniejsze do utrzymania, aktualizowania i wdrażania aplikacje desktopowe. Rozwijać zaczęły się technologie PWA, RWD i SPA, które rozszerzały funkcjonalności i interakcje z witrynami internetowymi i sprawiały, że stawały się one coraz atrakcyjniejsze dla użytkownika końcowego.
Aplikacje mobilne zalewają rynek
W taki sposób powoli zaczęły powstawać aplikacje mobilne. Ich intensywny rozwój przypada na rok 2007, gdy rynek mobilny zalewały tysiące smartfonów. Zaczęło pojawiać się coraz więcej nieskomplikowanych aplikacji i gier na urządzenia mobilne.
Projekt aplikacji tego typu zakładał początkowo umieszczenie ich na serwerach i jedynie wyświetlanie wyników na ekranach smartfonów – jest to tzw. metoda cienkiego klienta. Szybko odżegnano się od niej za sprawą konieczności utrzymywania stałego bardzo dobrego połączenia z siecią. Z tego też względu aplikacje mobilne zaczęto projektować w metodologii grubego klienta – urządzenie samodzielnie przetwarzało większość operacji.
Kolejnym problemem stała się duża różnorodność mobilnych systemów operacyjnych. Na rynku królowały wówczas Windows Phone, iOS i Android. Konieczne było tworzenie aplikacji natywnych dla każdego z systemów lub korzystanie z narzędzi umożliwiających tworzenie wieloplatformowych app-ek. Tak powstały Flutter czy Xamarin oparte na technologii .NET.
Na znaczeniu zyskuje chmura
Lata 2008 – 2009 to era powstawania usług opartych o chmurę. Początkowo z chmurą kojarzyły się głównie wirtualne serwery, jednakże wraz z jej rozwojem zaczęły powstawać inne usługi, a nawet całe systemy informatyczne oferujące rozbudowane funkcjonalności przedsiębiorstwom i klientom indywidualnym.
Zaczęto wyróżniać trzy rodzaje usług w chmurze: IAAS (ang. Infrastructure as a Service), PAAS (ang. Platform as a Service) i SAAS (ang. Software as a Service). Obecnie również popularna staje się architektura FAAS (ang. Function as a Service).
Rozwiązania w chmurze stają się coraz atrakcyjniejsze dla użytkowników końcowych, głównie za sprawą znacznej elastyczności, sporej oszczędności (np. przez brak konieczności utrzymywania własnego hardware), a także możliwości estymowania zasobów, którymi dysponuje użytkownik.
Eksperci ITMAGINATION zgodnie uważają, że przyszłość projektowania aplikacji należy właśnie do rozwiązań chmurowych.
Trendy, które obecnie zmieniają oblicze aplikacji
Obecnie, tj. w latach 2016 - 2019 rozwój technologii wykorzystywanych w projektowaniu aplikacji przybiera na sile, o czym przekonujemy się niemal z miesiąca na miesiąc. Internet Rzeczy (IoT) przestaje być jedynie mglistą wizją, a pierwsze skuteczne rozwiązania z zakresu inteligentnego domu, inteligentnych pojazdów, inteligentnych miast czy inteligentnego handlu możemy obserwować już dziś.
Obserwować możemy również rozwój technologii przyśpieszania ładowania stron mobilnych AMG (ang. Accelerated Mobile Pages) i zarządzania wydajnością aplikacji mobilnych MAPM (ang. Mobile Application Performance Management). Deweloperzy coraz silniej stawiają na tempo, łatwość oraz unifikację zarządzania treściami i danymi z poziomu urządzeń mobilnych.
Na znaczeniu zyskują również technologie rozszerzonej rzeczywistości AR (ang. Augmented Reality) i wirtualnej rzeczywistości VR (ang. Virtual Reality). Wykazują one ogromny potencjał nie tylko w pierwszych produkowanych obecnie grach VR i AR, ale również na rynku deweloperskim, w medycynie i inżynierii.
Co czek nas w przyszłości?
Według ITMAGINATION przyszłość technologii i metodologii projektowania aplikacji w dużej mierze kształtowana będzie za sprawą uczenia maszynowego i rozwoju sztucznej inteligencji, które umożliwią stworzenie nowych modeli konwersacyjnych (ang. collaborative models). Na znaczeniu zyskają interfejsy tworzone z wykorzystaniem AR i VR, a także technologia blockchain usprawniająca komunikację, poprawiająca bezpieczeństwo czy mogąca stać się nowym medium transmisji pieniędzy.
Na zacierającą się stopniowo granicę między światem cyfrowym i fizycznym wpływ może mieć również edge computing, czyli technologia oparta na przetwarzaniu danych w chmurze możliwie jak najbliżej źródła danych.
Przymierzasz się do zakupu sprzętu elektronicznego? Sprawdź rabaty na stronie Media Expert promocje.