Front-end, Back-end, Mobile – Stosowane Technologie

Dzień dowiesz się z jakich technologii korzystają programiści front-endu, back-endu oraz programiści mobile.

ostatnim artykule opowiadałem o 3 popularnych ścieżkach programistycznych. O front-endzie, back-endzie oraz o ścieżce mobile. Teraz omówię technologie najczęściej w nich używane.

Front-end – Stosowane Technologie

Podstawowymi 3 językami „Must Have”, używanymi przez front-end web developerów, są: HTMLCSS oraz JavaScript.

Warto także wspomnieć o framework’ach często stosowanych we front-endzie. Są nimi AngularReact oraz Vue. Pozwalają one na lepszą organizację kodu oraz całkowite odseparowanie interfejsu użytkownika od back-endu co przy większych stronach internetowych jest niezwykle istotne. A teraz garść szczegółów.

HTML (ang. HyperText Markup Language) — język znaczników (nie mylić z językiem programowania), wykorzystywany do tworzenia stron internetowych. Prawdę mówiąc, wykorzystuje go, każda strona w sieci. Możemy o nim pomyśleć jako o instrukcji dla przeglądarki, mówiącej jak ma wyświetlić treści.

Dokumenty HTML to zbiór znaczników nazywanych tagami. Tagi to polecenia dla przeglądarki opisujące sposób wyświetlenia strony, formatowanie, albo dane dla robotów sieciowych. Nie są one wyświetlane na stronie. Wpływają jedynie na sposób w jaki strona wyświetli się u użytkownika.

W ramach ciekawostki. Sama znajomość HTML’a też jest pewną ścieżką kariery. Osoba, która zajmuje się głównie HTML’em i powiązanymi technologiami nazywana jest WebMasterem.

CSS (ang. Cascading Style Sheet) czyli kaskadowe arkusze stylów. Jest to język służący do opisu prezentacji treści na stronach WWW. Arkusz stylów to nic innego jak lista wytycznych, która mówi w jaki sposób dane treści mają być wyświetlone na stronie internetowej. W ten sposób możemy określić wielkość, krój, kolor czcionek, marginesy, odstępy między wierszami, kolor tła, czy pozycję na stronie. CSS daje nam znacznie więcej możliwości niż HTML.

JavaScript – to język skryptowy, który powstał pod koniec lat 90. Często spotykana jest opinia, że w JavaScripcie brak jakichkolwiek wzorców i dobrych praktyk programistycznych. Było to prawdziwe do czasu gdy opublikowany został ES6 (ECMAScript 2015), który zmienił sporo w tym względzie. Współczesny JavaScript nie tylko wymusza stosowanie dobrych praktyk, ale też daje do tego narzędzia. Dlatego współcześnie ucząc się JavaScriptu czy szukając odpowiedniej dokumentacji, w oknie przeglądarki wpisuj raczej ES6 niż JavaScript.

Równolegle do standaryzacji języka, pojawiały się języki, które miały ułatwić pisanie w JavaScripcie i zwiększyć czytelność jego kodu. Najpopularniejsze przykłady to CoffeeScript TypeScript.

Angular – to JavaScriptowy framework oparty o TypeScript. Jest on rozwijany przez Google’a. Framework umożliwia wdrożenie wzorca MVC (Model-View-Controller), przez co rozwój i testowanie aplikacji z jego użyciem staje się mniej problematyczne. Angular jest lekki i obsługuje wszystkie główne przeglądarki.

React – Framework (wiele osób uważa go za bibliotekę, ale przez ogromny ekosystem, który się wokół niego zbudował, możemy nazwać uznać go za framework), który służy do budowania interfejsów użytkownika specjalnie dla aplikacji jednostronicowych i obsługi warstwy widoku dla aplikacji internetowych i mobilnych. React pozwala także tworzyć komponenty interfejsu użytkownika wielokrotnego użytku. Kożysta z JSX, czyli nakładki na JavaScript umożliwiającej m.in. zawieranie kodu HTML bezpośrednio w JavaScriptowym kodzie.

Vue – Jest to framework do budowy nowoczesnych interfejsów stron internetowych. Skupia się tylko na warstwie wyświetlania. Zapewnia komponentom reagującym na dane, prosty i elastyczny interfejs API.

Back-end – Stosowane Technologie

Omówimy teraz języki wykorzystywane do tworzenia back-endu aplikacji. Jest ich na prawdę sporo i z tego powodu wymienię jedynie te najczęściej spotykane. Wyróżnię też frameworki, które stosowane są najczęściej przez developerów tych języków.

Java – jest to język obiektowy w dużej mierze bazujący na C i C++. Ponadto dzięki wykorzystaniu maszyny wirtualnej (ang. Java Virtual Machine) napisany kod jest niezależny od platformy. Technologią używaną do tworzenia back-endu w tym języku jest framework Spring.

Ruby – Jest bardzo popularnym językiem programowania między innymi z uwagi na jego prostotę. Jednym z katalizatorów jego sukcesu było stworzenie framework’a Ruby on Rails.

C# – Został opracowany przez Microsoft specjalnie na potrzeby .NET Framework. Zaczął jako język bardzo przypominający Javę. Mimo że z biegiem czasu te dwa języki zaczęły się od siebie różnić to według mnie nadal jest sporo podobieństw. Technologiami pomocnymi do tworzenia back-endu w tym języku są: ASP.NET, Entity Framework, Service Fabric.

Python – Kod napisany przy pomocy Pythona może być wyjątkowo krótki, a zarazem stosunkowo prosty i czytelny. W pythonie możemy pisać obiektowo, proceduralnie albo nawet funkcyjnie. Jest to język interpretowany co oznacza że nie jest on kompilowany. Technologiami pomocnymi do tworzenia back-endu w tym języku są Django, Web2Py lub CubicWeb.

PHP – Obecnie może pochwalić się największą ilością stron zrobioną przy jego pomocy. Ciekawostką jest to, że jako jeden z niewielu języków programowania został specjalnie zaprojektowany do tworzenia stron internetowych, a nie tylko do tego zaadaptowany. Co ciekawe PHP na początku wcale nie miał stać się językiem programowania. Był tylko zestawem dynamicznych narzędzi do budowania prostych stron internetowych. Technologiami używanymi do tworzenia back-endu w tym języku są Symfony lub Laravel.

Inne technologie back-endowe – Scala, Clojure, NodeJS.

PS. Ciekawe zestawienie najpopularniejszych języków programowania (Back-end) w 2019 znajdziecie na portalu No Fluff Jobs pod tym linkiem: zestawienie języków.

Mobile – Stosowane Technologie

Obecnie na rynku mamy dwie wiodące platformy mobilne. Są nimi Android oraz iOS i w tej sekcji skupimy się właśnie na nich.

Platforma – iOS

Na początku warto zaznaczyć, że iOS jest produktem Apple i działa tylko na urządzeniach tej firmy. Apple dostarcza swoim programistom zestaw narzędzi i bibliotek natywnych do tworzenia aplikacji iOS.
By tworzyć aplikacje mobilne na tą platformę, musisz pracować na macu i systemie MacOS.
Obecnie aplikacje iOS są tworzone przy użyciu języka Swift. Niegdyś służył do tego język Objective-C (jeszcze spotykany, ale sukcesywnie wypierany).

Platforma – Android

Android to mobilny system operacyjny, wspierany przez Google, mający obecnie największą część rynku mobilnego. Niestety rynek Androida nie jest ujednolicony. Powodem jest wiele urządzeń tworzonych przez wielu producentów, korzystających z różnych wersji Androida. Sprawia to nie rzadko wiele problemów podczas developmentu. W przeciwieństwie do iOS, Android jest systemem otwartym. Podobnie jak jak Apple, Google dostarcza wiele narzędzi natywnych do programowania pod ten system.
Obecnie androidowe aplikacje są tworzone przy użyciu języka Kotlin. Jeszcze do niedawna natywną platformą programistyczną dla Androida był język Java (obecnie rzadziej używany i odchodzący w „cień”).

Technologie między-platformowe

W tej chwili głównymi graczami na rynku technologii między-platformowych są Flutter React Native. Temat jest bardzo rozległy i z tego powodu powstanie oddzielny wpis na temat tych technologii. Puki co, jeżeli masz ochotę wgłębić się w temat Flutter’a i React Native’a zapraszam do tego artykułu.

Zakończenie

Tak więc w tym artykule przybliżyłem Ci nieco temat technologii używanych we front-endzie, back-endzie i mobile. Mam szczerą nadzieję, że ten wpis dał Ci wartość. Jeżeli masz jakiekolwiek pytania, pisz śmiało.