Framework

Struktura oprogramowania, która ułatwia rozwój, oferując standaryzowane i wielokrotnego użytku funkcje.

Definicja

Framework to jak nasza prefabrykowana skrzynka narzędziowa w onRuntime. Zamiast budować wszystko od podstaw dla każdego projektu (wyobraź sobie budowanie domu, zaczynając od robienia własnych gwoździ!), używamy tych struktur, które dają nam dobry punkt wyjścia i solidne konwencje.

Wielkie pytanie: framework czy biblioteka?

Często dostajemy to pytanie od klientów, więc oto o co chodzi:

  • Biblioteka to jak pożyczanie konkretnego narzędzia do konkretnego zadania. Masz kontrolę i decydujesz, kiedy je użyć.
  • Framework to jak wejście do w pełni wyposażonego warsztatu z własnymi zasadami. Mówi ci, jak pracować.

Jest takie powiedzenie, które to dobrze podsumowuje: "Ty dzwonisz po bibliotekę, ale framework dzwoni do ciebie."

Frameworki, które uwielbiamy używać

Strona frontendowa

  • React: Technicznie to biblioteka, ale ekosystem wokół niej (React Router, Redux, itd.) sprawia, że jest prawie frameworkiem. To nasz numer 1 w wyborze interfejsów użytkownika.
  • Next.js: Nasz ulubiony do skomplikowanych stron internetowych! Użyliśmy go do przebudowy naszej własnej strony onRuntime.com.
  • React Native: Dla aplikacji mobilnych naszych klientów, to nasz wybór. Użyliśmy go dla Tonight Pass z świetnymi wynikami.

Strona backendowa

  • NestJS: Jesteśmy całkowicie jego fanami! Jest strukturalny, modularny i oszczędza nam mnóstwo czasu przy dużych aplikacjach.
  • Express: Lżejszy od NestJS, używamy go do prostych API lub MVP.
  • Prisma: Nie jest to do końca kompletny framework backendowy, ale nasze ulubione ORM do zarządzania bazami danych.

Full-stack

  • Next.js (jeszcze raz!): Używamy go coraz częściej jako rozwiązania full-stack dzięki trasom API.
  • Redwood.js: Przetestowaliśmy go w kilku projektach i jest obiecujący! Trochę jak Ruby on Rails, ale dla ekosystemu JS.

Dlaczego nie kodujemy wszystkiego od podstaw

  • Idziemy muuuch szybciej: Koniec z problemami, które zostały już tysiące razy rozwiązane przez innych
  • Czystszy kod: Konwencje frameworka zmuszają nas do dyscypliny
  • Bezpieczeństwo: Popularne frameworki są analizowane przez tysiące deweloperów śledzących luki
  • Łatwiejsze wprowadzenie: Kiedy integrujemy nowego deva do zespołu, jeśli już zna framework, jest operacyjny w mgnieniu oka

Kiedy decydujemy się użyć (lub nie) frameworka

W onRuntime kochamy frameworki, ale nie używamy ich ślepo. W przypadku ultrakonkretnych mikroserwisów czasami wolimy lżejsze podejście z kilkoma bibliotekami. Na przykład w naszej aplikacji Kartrak zdecydowaliśmy się na bardziej minimalistyczne podejście, ponieważ wydajność była kluczowa.

Ale szczerze mówiąc, w przypadku większości projektów klientów, gdzie czas wprowadzenia na rynek ma znaczenie, dobry framework oszczędza tak wiele czasu, że wybór jest oczywisty!