Articles

Co to jest Web Framework, i dlaczego powinienem go używać?

← Home

„Framework” jest słowem używanym często w odniesieniu do kodu. Więc, czym w ogóle jest framework? Kiedy mówimy o frameworkach, zazwyczaj dzielą się one na trzy różne kategorie — frameworki frontendowe, backendowe i CSS lub frameworki interfejsu użytkownika. Ale nawet kiedy już wiesz czym są frameworki, którego z nich powinieneś się nauczyć lub używać i dlaczego? W tym poście omówię czym jest framework, jakie frameworki istnieją i jak podejmować decyzje o tym, jakiego rodzaju frameworka powinieneś używać w swoich projektach!

Czym są frameworki

Jeśli spojrzymy na kilka różnych aplikacji internetowych, możemy zauważyć, że istnieje wiele zduplikowanych funkcji. Wiele z nich ma uwierzytelnianie użytkownika, strony, które się renderują, łączą się z bazami danych, mają profile, na które można spojrzeć, wszystkie mają stylizowane kanały informacyjne itd. Gdybym chciał, mógłbym napisać całą tę logikę sam za każdym razem, gdy chcę zbudować nową aplikację; jednak istnieje również wiele narzędzi, które mogą to zrobić za nas zamiast tego.

W dodatku, wiele czasu, gdy budujemy aplikacje, chcemy sformatować nasz kod w pewien sposób, który pomoże nam stać się bardziej wydajnymi i pomoże innym programistom zrozumieć nasz kod. Szkielety internetowe pomagają nam osiągnąć strukturę w naszych aplikacjach, a także dają nam dodatkowe funkcje, które możemy dodać do nich bez zbyt wiele dodatkowej pracy. Frameworki dają nam miejsce do rozpoczęcia pracy, dzięki czemu możemy skupić się na funkcjach, a nie na szczegółach konfiguracji.

Kod jest czytany o wiele więcej razy niż jest pisany, a jest to tak ważne, gdy pracujesz z innymi programistami, że wiedzą, gdzie jest napisany kod do pewnych zadań, aby mogli go użyć w swoim własnym kodzie. Frameworki mają również konwencje dotyczące sposobu pisania i struktury kodu, które standaryzują sposób, w jaki programiści piszą swój kod.

Większość stron internetowych ma bardzo podobną (żeby nie powiedzieć identyczną) strukturę. Celem frameworków jest dostarczenie wspólnej struktury tak, aby programiści nie musieli przerabiać jej od zera i mogli ponownie wykorzystać dostarczony kod. W ten sposób frameworki pozwalają nam wyciąć wiele z pracy i zaoszczędzić mnóstwo czasu.

Podsumowując: nie ma potrzeby wymyślać koła na nowo.

z Awwwards.

Pod maską, frameworki są po prostu bibliotekami kodu (czyli kodem innych ludzi), a te popularne są open source! Więc możesz spojrzeć na kod swojej biblioteki online!

Backend vs Frontend

  • Frontend aplikacji internetowej jest częścią, którą widzisz i z którą wchodzisz w interakcję. Składa się z projektu strony internetowej i interakcji na stronie. W kategoriach języków programowania, to jest prawie zawsze składa się z CSS, HTML i JavaScript strony.

  • The backend składa się z serwera, bazy danych i kodu, który współdziała z nimi. To również składa się z kodu, który daje dynamiczne dane do frontendu witryny. Może być to obsługiwane w większości języków programowania. Te, które będziemy omawiać głównie dzisiaj to Python, Ruby i Node JavaScript, ale istnieje niezliczona ilość innych.

What I Wish I Knew Before Learning to Code Ebook Cover

Chcesz więcej porad na temat nauki kodowania?

Pobierz mój darmowy Ebook!

Szkielety interfejsów użytkownika

Szkielety interfejsów użytkownika pomagają tworzyć stylizowane i profesjonalnie wyglądające aplikacje internetowe. Większość z nich zawiera pewnego rodzaju system siatki, dzięki któremu można wyrównać elementy, mają schematy kolorów, więc są obsługiwane dla Ciebie, i stylizują komponenty HTML za pomocą CSS, tak aby wyglądały czysto i profesjonalnie. Są one w domenie frontend; jednak zazwyczaj, gdy odnosimy się do frameworków frontend, mówimy o frameworkach JavaScript.

Niektóre frameworki interfejsu użytkownika obejmują:

  • Bootstrap
    • Bardzo dobrze znany i zbudowany przez Twittera
    • Łatwy do nauczenia się i wygląda profesjonalnie
    • Może być łatwy do zauważenia „Bootstrap Sites”
    • Może być trudny do dostosowania komponentów
  • Materialize
    • Czysto wyglądający
    • .

    • Trochę bardziej „zabawny” niż Bootstrap
    • Dużo opcji stylizacji i kolorów
    • Podąża za przewodnikiem stylu Google Material
  • Foundation
    • Mnóstwo przykładów
    • Profesjonalny wygląd
  • Semantyczne UI
    • Dużo wbudowanych-in
    • Built- inw motywach, więc można go dostosować
  • Grommet
    • Bardzo skupia się na dostępności
    • Wygląda naprawdę czysto
    • Nie jest tak używany jak niektóre inne
    • Wykonany dla React JS (inny framework, na który spojrzymy później)

Wybór frameworka UI

Wybór frameworka interfejsu użytkownika głównie sprowadza się do osobistych preferencji w wyglądzie i celów witryny. Różne style mogą odwoływać się do różnych branż lub mogą przekazywać różne wiadomości użytkownikom.

Frontend Frameworks

Frontend frameworki są, w większości przypadków, napisane w JavaScript i są dla organizacji funkcjonalności, interaktywności twojej strony. Niektóre z nich obejmują:

  • Vue
    • Łatwy do nauczenia
    • Bardzo szybki
    • Wszystkie narzędzia z nim związane są dobrze opakowane
    • Bierze części z Angulara i Reacta i optymalizuje je
    • mniej szeroko przyjęty niż niektóre inne
    • Elastyczny –>zapewnia, że można go używać na wiele sposobów
    • . możesz używać go na wiele sposobów
  • AngularJS
    • Zbudowany przez Google
    • Dobrze wspierany
    • Ogromna liczba funkcji
    • Poprawia skalowalność aplikacji
    • Trudny do debugowania
    • Duża learning curve
  • Angular 2+
    • Built by Google
    • Well supported
    • Encourages reusability
    • Improves application scalability
    • Large learning curve
  • . React
    • Zbudowany przez Facebook
    • Połączenie kodu frontendowego w komponenty
    • Organizuje kod i dane, aby kod był bardziej wielokrotnego użytku
    • Duża krzywa uczenia się
  • Ember
    • Daje dużą ilość funkcjonalności po wyjęciu z pudełka
    • Opinionated (musisz używać jego formatowania)
    • Steep learning curve

Choosing a Frontend Frameworks

Świat frameworków frontendowych ewoluuje szczególnie szybko, Wygląda na to, że co kilka miesięcy pojawia się nowy framework frontendowy. Naucz się tego, co ma dla ciebie sens i nie przejmuj się zbytnio tym, co jest obecnie „najgorętsze”.

Niektórzy twierdzą, że React i Vue są bibliotekami, a nie frameworkami, ale wiele osób uważa je za frameworki, więc je uwzględniłem!

Backend Frameworks

Backend frameworki są o wiele bardziej zróżnicowane. Są pisane w różnych językach programowania i posiadają szeroką gamę funkcji. Poniżej, jak powyższa lista, jest bardzo niekompletna lista niektórych frameworków do pisania backendów aplikacji.

  • Spring MVC
    • Java (trudniejszy język do nauki)
    • Bardzo szybki
    • Mniej opiniotwórczy
  • Django
    • Python (łatwiejszy język do nauki)
    • Środek pomiędzy byciem bardzo opiniotwórczym a mniej ustrukturyzowanym
    • Daje ci wiele funkcjonalności po wyjęciu z pudełka (jak uwierzytelnianie użytkownika, połączenia z bazą danych i renderowanie widoków)
    • Może być trudny do zintegrowania z wymyślnym front-endem.
    • Obsługa danych w Pythonie jest niesamowita
  • Flask
    • Python (łatwiejszy język do nauczenia)
    • Mniej opiniotwórczy i bardziej konfigurowalny niż Django
    • Daje mniej funkcjonalności po wyjęciu z pudełka (musisz zbudować więcej)
  • Dzięki temu, że jest w pełni funkcjonalny, może być bardziej przyjazny dla użytkownika.
  • Ruby on Rails
    • Ruby (łatwiejszy język do nauczenia)
    • Bardzo opiniotwórczy
    • Ma świetne narzędzia, takie jak rusztowania, dzięki którym możesz budować rzeczy szybko
    • Daje ci wiele funkcjonalności po wyjęciu z pudełka (jak uwierzytelnianie użytkowników, połączenia z bazą danych, i renderowanie widoków)
    • Potok aktywów pomaga w rozwoju front-end
    • Ruby zajmuje więcej czasu na uruchamianie programów niż niektóre inne języki programowania
  • Meteor
    • JavaScript (łatwiejszy język do nauczenia)
    • Daje ci wiele funkcjonalności po wyjęciu z pudełka (jak uwierzytelnianie użytkownika, połączenia z bazą danych, i renderowanie widoków)
    • Integruje się bardzo dobrze z nowoczesnymi front-endami
  • Express
    • JavaScript (łatwiejszy język do nauki)
    • Bardzo konfigurowalny
    • Bardzo lekki
    • Mniej wbudowanychin features
    • Node is very fast
  • Choosing a Backend Framework

    Usually, wybierasz backendowy framework na podstawie języka programowania, w którym jest napisany. Weź również pod uwagę jakie funkcje chcesz dodać — jeśli chcesz uwierzytelnić (lub zalogować użytkownika) dla swojej strony internetowej, na przykład, napisanie jej w Django, gdzie uwierzytelnianie jest wbudowane, będzie o wiele łatwiejsze niż napisanie jej we Flasku, gdzie potrzebowałbyś dodatkowej usługi.

    Learn More

    Jeśli chcesz użyć lub nauczyć się frameworka, tutaj jest kilka aplikacji zbudowanych z różnych frameworków, więc możesz ocenić, który z nich ma dla ciebie największy sens. Istnieje o wiele więcej frameworków o różnych rozmiarach i popularności, ale ten artykuł daje krótki przegląd niektórych popularnych z nich i gdzie zacząć. Nie ma dobrej odpowiedzi na to, czego uczyć się najpierw! Istnieją plusy i minusy wszystkiego, więc zważyć, co jest najważniejsze dla Ciebie i iść stamtąd. Frameworki są bardzo pomocne i sprawiają, że pisanie kodu jest o wiele szybsze w większości przypadków, ale posiadanie silnych podstaw programistycznych przed tym jest również bardzo ważne – więc upewnij się, że znasz dobrze język, w którym napisany jest twój framework. Frameworki są bardzo pomocne przy pisaniu stron internetowych, ponieważ wymuszają strukturę, którą inni programiści rozumieją i dają ci wspólną funkcjonalność, więc nie musisz wymyślać koła na nowo!

    Gdzie zacząć naukę…

    • Django Girls Tutorial – Nauczyłem się mojego pierwszego frameworka dzięki ich samouczkowi online!
    • Code Academy
    • TodoMVC
    • CodeNewbie Podcast

    A jeśli potrzebujesz pomysłu na aplikację…

    • Awesome App Ideas
    • 15+ APP IDEAS TO BUILD TO LEVEL UP YOUR CODING SKILLS

    Bądź pierwszym, który dowie się o moich postach!