Zadzwoń do nas
+48 530 088 176

Technologie Aplikacji Webowych - jak wybrać odpowiednią do stworzenia swojej aplikacji?

Nasze usługi Wróć do Know-How

Przy zapytaniu o projekt aplikacji wielu klientów nie zatrzymuje się przy wyborze technologii tworzenia aplikacji internetowych, w której ma być stworzone oprogramowanie. Jeżeli pominięcie tego aspektu wynika ze świadomego powierzenia tej decyzji firmie programistycznej (lub bierze je na siebie agencja interaktywna), która będzie odpowiedzialna za oprogramowanie i efekty jakie użytkownik widzi - oraz do której mamy zaufanie - to nic w tym złego :) Jednak decydując się na współpracę z nową firmą warto poświęcić swój czas na rekonesans dotyczący możliwości i potrzeb końcowego użytkownika. Szczególnie istotne jest to w sytuacji, gdy budżet projektu jest wysoki, a skala duża. Najważniejszymi aspektami poniższego wpisu będą dla Nas technologie webowe, które mamy do wyboru, odpowiedź na pytanie ”co to jest framework?” oraz „na jakie technologie front-endu i ich funkcjonalności warto zwrócić uwagę?”. Poniżej znajdziesz tekst, który ułatwi dokonanie odpowiedniego wyboru oraz pomoże w zweryfikowaniu potencjalnych propozycji z którą przychodzi softwarehouse lub agencja interaktywna, z którą będziesz współpracować.

Co to jest framework (np. frameworki javascript)?

Zanim przejdziemy do kwestii podziału technologii webowych, odpowiedzmy sobie na pytanie „CO TO JEST FRAMEWORK?” Oczywiście można tutaj posłużyć się ogólną definicją, natomiast bardzo często tego typu opis nie jest zrozumiały – w naszą intencją jest to, aby zrozumieć czym właściwie jest Framework. Zatem upraszczając, framework to gotowy szkielet, zestaw funkcji, który ułatwia prace programistyczne, których efekty pokazuje przeglądarka internetowa w postaci aplikacji webowych lub jako systemy zarządzania treścią. Można to porównać do gotowego zestawu narzędzi. Są to np. z góry ustalone zasady w procesie tworzenia routingu (przekierowania konkretnych linków do działów na stronie), generacji obrazków (np. miniaturek) oraz wszelkiego rodzaju skrypty, przygotowane wcześniej z myślą, że przydadzą się w tworzeniu projektu.

Pojawia się zatem pytanie, czy za każdym razem potrzebujemy framework'a? Posłużmy się prostym porównaniem zrozumiałym dla użytkownika: pełen zestaw narzędzi z pewnością jest bardziej uniwersalny niż np. sam młotek. Musimy jednak pamiętać, że czasami mamy takie zadania, że w zupełności jedno narzędzie wystarczy nam do ich realizacji. Dokładnie tak trzeba postrzegać frameworki :)

Według nas idealnym rozwiązaniem są frameworki autorskie, tworzone w danej technologii pod konkretnego klienta. Są one wykonane i rozwijane w odniesieniu do bieżących potrzeb użytkowników, wytycznych oraz trendów. Zapewniają możliwość optymalnego dopasowania systemu / strony www / aplikacji webowych do potrzeb klienta. Autorski framework daje klientowi pewność, że firma informatyczna „od wnętrza zna” każdą warstwę swojego oprogramowania.

Co to jest framework? - Pixlab.pl
Technologie front-endowe i technologie back-endowe. - Pixlab.pl

Technologie webowe – czyli „Przód i Tył”. Technologie front-endowe i technologie back-endowe.

W pierwszej kolejności podzielmy aplikacje na jej składowe. Mamy dwie części, z których składa się aplikacja:

  • front-end aplikacji (client-side) - czyli pierwsza warstwa aplikacji webowej
  • back-end aplikacji(server-side) - czyli podstawa tworząca oprogramowanie webowe
  • Front-end zazwyczaj bazuje na HTML (strukturze), CSS (wyglądzie) oraz JS (logice). Tego typu połączenie HTML+CSS+JS jest klasycznym zestawem, a wszystkie jego elementy można podejrzeć z poziomu dowolnej przeglądarki.

Przykładowe technologie front-endowe:

  • HyperText Markup Language - HTML składa się w uproszczeniu z treści tekstowych, ubranych w odpowiednie znacznik kodu.
  • Cascading Style Sheets - CSS (kaskadowe arkusze stylów) składa się w uproszczeniu z instrukcji, które "kolorują" HTML na stronach internetowych.
  • JavaScript - JS składa się w uproszczeniu z mechanik dynamicznej zawartości. Asynchroniczny javascript odpowiada również za doczytywanie informacji z bazy danych po stronie klienta.

Back-end to natomiast część działająca po stronie serwera, tutaj często stosuje się np. język programowania PHP. W tej technologii po wejściu na dany adres/link, komputer / przeglądarka odpytuje o odpowiedni skrypt znajdujący się na serwerze przez tzw. interpreter, a następnie generuje wynik kodu. W wielkim skrócie: skrypt zwraca nam końcowe dane, czyli po prostu „4” - tego typu pełni kodu nie jesteśmy w stanie podejrzeć od strony klienta, dlatego też zawiera on wszelkiego rodzaju procesy, skrypty, logikę biznesową, która nie powinna być widoczna. Nie jesteśmy w stanie stwierdzić czy programista / programiści dodali do siebie liczby 2+2, a może 1+3, gdyż widzimy tylko końcowe dane równania.

Przykładowe technologie back-endowe (języki programowania):

  • PHP
  • Python
  • Java
  • C++
  • JavaScript (JS)
    – tak, ten język również może działać na potrzeby back-endu :)

Jak wybrać odpowiednią technologię dla web developmentu? - czyli projektowanie aplikacji internetowych.

Wybierając technologię należy zastanowić się nad kilkoma kluczowymi aspektami, takimi jak:

  • Obciążenie – Czy realizujemy projekt dostępny dla każdego, czy też będzie to wewnętrzne oprogramowanie wykorzystywane jedynie w ramach naszej firmy. Być może technologia zaproponowana przez firmę, nie będzie najlepsza w czasie generacji strony i nie jest odpowiednia dla aplikacji webowych (wewnętrznych). Jednak z drugiej strony, idealnie nadaje się na serwis ogólnodostępny z połączeniem go z warstwą CACHE (np. Varnish) wraz z CDN (Sieć dostarczania zawartości, ang. content delivery network). Czas generacji nie będzie już taki istotny skoro i tak wszyscy użytkownicy mają zobaczyć to samo.
  • Wymagania – Czy projekt musimy koniecznie bazować na jakimś konkretnym języku programowania? A jeśli tak, to czy wynika to z tego, że ma znaczącą przewagę nad innymi językami, np. z uwagi na szybkość działania? Np. dla rozwiązań ML (Machine Learning) bazowanie na PHP nie jest dobrym pomysłem, bo szybkość działania i wsparcie będzie nieporównywalnie mniejsze niż już dla PYTHONA. Co tu dużo mówić, angażowanie PHP do ML to porwanie się z motyką na słońce.
  • Budżet – Czy mamy już określony budżet? Na niektórych językach oprogramowania potrafi tworzyć tylko garstka wybranych specjalistów, stąd też ostateczne koszty mogą być wyższe. Warto zatem zastanowić się czy konkretna technologia jest nam niezbędna, zważywszy, że może generować dodatkowe koszty.
  • Bezpieczeństwo – Czy wybrane przez Ciebie Technologie posiadają jakieś problemy z bezpieczeństwem? Może w jakiś przypadkach będą one mało wydajne? Czy można znaleźć dla nich aktualne wsparcie?

Odpowiadając na powyższe zagadnienia, softwarehouse powinien dobrać odpowiednie narzędzia do projektu i potrzeb firmy. Do prostej strony wizytówkowej spokojnie wystarczy połączenie HTML+CSS+JS na froncie, z ewentualnym dodatkiem PHP na backendzie – o ile będzie on do czegoś potrzebny. Natomiast w przypadku zaawansowanych serwisów, które w założeniu mają obsługiwać wielu użytkowników jednocześnie, liczba wykorzystywanych technologii rośnie, chociażby o wspomniane warstwy CACHE, ale także o inne języki oprogramowania, które mogą wspierać konkretne procesy.

Jak wybrać odpowiednią technologię dla web developmentu? - czyli projektowanie aplikacji internetowych. - Pixlab.pl
Wsparcie technologii aplikacji internetowych - Pixlab.pl

Wsparcie technologii aplikacji internetowych.

Mogłoby się wydawać, że branża IT, która charakteryzuje się naciskiem na technologie powinna być odporna na wszelkiego rodzaju trendy, tak bardzo dominujące w innych dziedzinach naszego życia. Niestety także tutaj często stajemy się ofiarami 'chwilowej' popularności, np. danego frameworka, oprogramowania. Dlatego tak ważne jest aby technologie webowe wybrane do konkretnego projektu, były dobrze przemyślane i dobrane przez odpowiednich profesjonalistów. Decydując się na np. frameworki javascipt musimy mieć pewność, że są to sprawdzone rozwiązania, zapewniające bezpieczeństwo i szybkość, jednocześnie licząc na długoterminowe wsparcie (określane jako LTS = long term support). Zawsze sugerujemy naszym klientom, aby technologie webowe w aplikacji bazowały na najnowszych i stabilnych wersjach rozwijanego od wielu lat oprogramowania, a nie na modnych nowościach bądź wczesnych wersjach testowych. Dlaczego to tak ważne? Tworząc oprogramowanie zakładamy, że będzie ono wciąż rozwijane i chcemy uniknąć konieczności przebudowy kody w momencie, kiedy wykorzystane technologie przestaną być wspierane przez swoich autorów.

 Na jakie wsparcie można zatem liczyć? Bazując na przykładzie Ubuntu (używanego jako podstawowe środowisko uruchomieniowe po stronie serwera) – jednego z popularniejszych dystrybucji systemu LINUX - w ramach ich planu który, użytkownicy widzą na stronie dystrybucji, wersje oznaczane jako LTS  mają gwarantowane wsparcie 5 letnie. Oznacza to, że wersje z 2022 roku będą wspierane i aktualizowane wyłącznie do 2027 r. Oczywiście po tym czasie nie nastąpi nagłe wyłączenie, gdyż jest to tylko okres gwarantowany, identyczny jak w gwarancjach np. zegarków, gdzie producent nie twierdzi, że po 2 letnim czasie gwarancyjnym zegarek po prostu przestanie działać.

W naszych projektach, stawiamy na sprawdzone rozwiązania, które są nowoczesne, odporne na brak odpowiednich zabezpieczeń w przyszłości, ale co najważniejsze są niezawodne i zostały przez nas dobrze sprawdzone w 'boju'. Dodatkowo cały rdzeń oprogramowania bazuje na naszych doświadczeniach i autorskich rozwiązaniach. Dzięki temu wszelkie aktualizacje nie są dla nas wyzwaniem, a serwisy, które powstały prawie dwie dekady temu do dnia dzisiejszego wciąż są używane i działają bez zastrzeżeń.

Technologie i aplikacje webowe - do brzegu…

W naszej firmie wychodzimy z założenia, że Klient powinien skupić się na swoim biznesie, a naszym zadaniem jest dzielenie się naszym doświadczeniem oraz dobranie odpowiednich technologii. Inne wymagania będziemy mieli przy tworzeniu aplikacji mobilnych, a inne kiedy w grę będzie wchodzić aplikacja webowa - istotne są więc bieżące potrzeby. Stąd też wspieramy wszystkie projekty, które realizowaliśmy od początku naszej firmy. Jeżeli masz problem z dobraniem technologii lub wiesz, że w już trwającym projekcie spotkałeś się ze złym doborem technologii, skontaktuj się z nami – chętnie podpowiemy czym kierować się przy wyborze technologii webowej, jakie plusy i minusy mają poszczególne frameworki, jakie oprogramowanie rekomendujemy do wykorzystania (również wśród popularnych frameworków) oraz na jakie trudności możesz trafić przy jego implementacji.

Staramy się mówić po ludzku :)

Technologie i aplikacje webowe - Pixlab.pl

Skorzystaj z naszej wiedzy

Opowiemy Ci, jak powyższa wiedza działa w firmach podobnych do Twojej

Bądźmy w kontakcie!

Masz pytanie lub chcesz porozmawiać o projekcie?
Pixlab Sp. z o.o.
ul. Kosynierów 120/A16, 84-230 Rumia

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.