Technologie

Poznaj nasz stack technologiczny

Technologia Web i mobilna zmienia się codziennie

To, co było "modne" i powszechne na przykład 2 lata temu albo nie istnieje, albo zostało całkowicie przebudowane w nowej wersji. Obserwujemy ten ruch na codzień, a najważniejsze informacje rejestrujemy w naszym techfeedzie (dostępnym już wkrótce również dla Ciebie). Poniższe punkty mają charakter ogólny, aby dać obraz tego, czego można się (po nas) spodziewać.

Narzędzia

  • kontrola wersji

    kody źródłowe wszystkich projektów trzymamy i rozwijamy w prywatnych repozytoriach Git

  • Visual Studio Code

    programujemy w aktualnie najlepszym naszym zdaniem edytorze kodu

  • Mac OS

    wszyscy korzystamy z komputerów Apple

  • Brew

    jeżeli czegoś nie ma na brew, to znaczy, że nie istnieje

Środowiska

Frontend

Czyli to, co widzi i najczęściej ocenia użytkownik.

Aplikacje Web

  • kluczowe języki

    Javascript, HTML, CSS

  • frameworki

    Angular i Vue.js - frameworki frontendowe, wykorzystywane do tworzenia naszych aplikacji SPA

  • single page application

    single page application, czyli aplikacja, która raz załadowana działa w obrębie jednej sesji użytkownika bez przeładowania, jedynie doczytując i wysyłając w tle dane do serwer

  • server side rendering

    SSR - server side rendering, czyli aplikacja, która każdy wysyła żądania o każdy widok do serwer

  • progressive web app

    PWA - progressive web app - zyskujące na popularności aplikacje, które dla docelowego użytkownika traktowane są jak aplikacje mobilne, a nie wymagają instalacji przez App Store - aplikacje te różnią się od "prawdziwych" aplikacji mobilnych pewnymi ograniczeniami funkcjonalności, które w wielu przypadkach i tak nie są wykorzystywane

Mobile Apps

  • aplikacje natywne

    dla każdej platformy piszesz niezależny kod, aplikacje wyglądają różnie i są osobno rozwijane, najczęściej przez dwa niezależne zespoły

  • aplikacje hybrydowe

    piszesz raz, kompilujesz zarówno na iOS, jak i na Androida - w teorii brzmi świetnie, w praktyce działa bardzo dobrze, ale wymaga doświadczenia i odpowiedniego zaplanowania funkcjonalności aplikacji

  • Ionic framework

    kompletne SDK do budowy aplikacji mobilnych, wykorzystuje AngularJS i Apache Cordova. Najnowsze wydanie zostało przebudowane tak, aby umożliwić developerom wybór dowolnego interfejsu użytkownika, np. Angular, React lub Vue.js.

  • React Native

    framework do budowania hybrydowych aplikacji mobilnych o wysokiej wydajności - stworzony przez Facebook.

  •  

Backend

Czyli to, czego nie widać, ale jest bardzo ważne.

Architektura

  • Monolit

    realizowany w architekturze MVC oprogramowanie, gdzie cała logika i wszystkie dane są zawarte w jednej aplikacji

  • Mikroserwisy

    oprogramowanie rozproszone, które składa się z wielu komunikujących się ze sobą mikroserwisów, które mają określone zadanie - większość znanych portali internetowych wykorzystuje ten sposób organizacji oprogramowania, np. z uwagi np. na skalowalność

  • RESTful

    API dla frontendu, które realizuje tzw. CRUD, czyli umożliwia pobieranie, tworzenie, modyfikowanie oraz usuwanie danych

  • GraphQL

    nowoczesne rozwiązanie stworzone przez Facebooka, które z powodzeniem może zastąpić standardowe API typu RESTful

Bazy danych

  • MySQL, Maria DB, PostgreSQL

    bazy relacyjne - najczęściej stosowane bazy danych

  • MongoDB

    baza nierelacyjna NoSQL - zyskuje na popularności

  • Redis, Memcached

    bardzo szybki cache

  • MQTT, Rabbit

    kolejki wiadomości do komunikacji pomiędzy serwisami