As application development continues to evolve, the demand for teams to rapidly deliver software that can scale and evolve to meet customer needs has never been higher. Kluczem do tego są frameworki front-end.
Te frameworki są miejscem, w którym wykonywana jest praca nad układem, logiką i aplikacją. Te systemy oparte na przeglądarkach wymagają JavaScript, CSS, HTML i innych standardowych technologii internetowych.
Jak więc wybrać, który framework jest dla Ciebie najlepszy? Oto pięć najlepszych frameworków używanych przez zespoły programistów, opartych na mojej opinii i doświadczeniach, oraz to, co musisz o nich wiedzieć.
Top front-end frameworks
Przeglądarki internetowe konkurują o najlepsze wsparcie dla otwartych standardów, takich jak HTML, CSS i JavaScript. Jest znacznie mniej pracy potrzebnej do przetestowania, czy technologie działają w różnych przeglądarkach internetowych. Pięć frameworków, które powinieneś rozważyć to:
- Angular
- React
- Vue
- Ember
- Svelte
Przeglądy, które następują są oparte na moim doświadczeniu i doświadczeniu moich zespołów. (Zachęcam do pozostawienia wszelkich przemyśleń opartych na własnych doświadczeniach w komentarzach poniżej.)
Angular
Angular ma prawdopodobnie najbardziej rozbudowaną historię spośród wszystkich na tej liście. Początkowo opracowany przez Google w 2010 roku, został następnie wydany jako projekt open-source. Framework konsekwentnie otrzymuje aktualizacje z ważnymi wydaniami zazwyczaj dostarczanymi co sześć do dziewięciu miesięcy. Obecnym głównym wydaniem jest wersja 9.1.
Pros
Istnieje silne wsparcie deweloperskie dla Angulara. Dokumentacja na stronie wspierającej rozwój Angular jest doskonała, a jako deweloper znajdziesz wiele świetnych filmów na YouTube, które pomogą Ci zacząć.
Ale Angular wciąż ewoluuje i spełnia potrzeby twórców stron internetowych. W tym celu framework wspiera język TypeScript (superset JavaScriptu), progresywną architekturę aplikacji internetowych dla rozwiązań wieloformatowych oraz architekturę M-V-C (model view controller).
Angular jest również krytycznym komponentem stosu programistycznego MEAN, składającego się z MongoDB, ExpressJS, Angulara i NodeJS.
Konsekwencje
Wiek Angulara może stanowić problem. W 2010 roku deweloperzy nie budowali mobilnych aplikacji internetowych, więc przez kilka lat dodatki były wpychane do Angulara, aby je dostosować. W 2016 roku Angular został przepisany z TypeScript i wydany jako Angular 4. Oryginalna wersja, AngularJS, została przemianowana na Angular.
Niestety, poprzednie wersje Angular nie są kompatybilne z nową wersją TypeScript w Angular 4. To ważne, aby wiedzieć, jeśli jakakolwiek część twojej organizacji używa Angulara i myślisz o pójściu w tym kierunku ze względu na kompatybilność.
Podsumowanie
Angular rozwinął się i dostosował do nowoczesnych potrzeb programistycznych. Jeśli pójdziesz tą drogą, użyj nowszych wersji Angular 4 i nowszych do budowania aplikacji Angular. I pamiętaj, aby śledzić blog Angulara, aby być na bieżąco z najnowszymi ulepszeniami frameworka.
React
Wiele grup programistów wybierze Angulara lub Reacta jako podstawę dla swoich aplikacji internetowych. Logika ma sens, a oba są dojrzałe. Oba dostarczają aplikacje, które mogą uruchamiać masywne aplikacje internetowe, i oba mają silne społeczności, w których deweloperzy mogą dzielić się informacjami.
Ale tam, gdzie Angular poszedł z TypeScript, React szeroko wykorzystuje JavaScript. Facebook, wraz z indywidualnymi współpracownikami i innymi firmami, utrzymuje React.
Pros
Kilka bardzo dużych firm – w tym Facebook, Netflix, Dropbox, Airbnb i Reddit – używa Reacta jako swojego front-endowego frameworka. Strony te otrzymują miliony odsłon dziennie. React udowodnił, że jest w stanie skalować się i spełniać potrzeby najbardziej wymagających aplikacji internetowych.
Dodatkowo, umiejętności zdobyte w React mają zastosowanie w ReactNative, frameworku, którego programiści mogą używać do tworzenia natywnych aplikacji działających na mobilnych systemach operacyjnych iOS i Android.
Konsekwencje
React nie jest łatwy do nauczenia. Cała architektura jest zbudowana w JavaScript, więc musisz być doświadczonym programistą, aby rozpocząć pracę z Reactem.
Podsumowanie
Krzywa uczenia się z React jest stroma, ale rezultatem jest modularna architektura, która może wspierać najbardziej wymagające strony internetowe. Facebook i społeczność open-source nadal inwestują w rozwój Reacta, co gwarantuje, że inwestycja w Reacta będzie procentować przez wiele lat w przyszłości.
Vue
Punktem sprzedaży Vue jest rozmiar frameworka. Przy zaledwie 20KB, jest to jeden z najlżejszych frameworków na liście. Inspiracja dla Vue pochodziła z pracy, którą oryginalny deweloper ukończył nad Angular. W 2014 roku, Vue został wydany jako odchudzona alternatywa dla Angulara i od tego czasu cieszy się kultowym zainteresowaniem.
Pros
Podobnie jak Angular, rozpoczęcie pracy z Vue nie jest trudne. Możesz wykorzystać swoje umiejętności w zakresie HTML, CSS i JavaScript. Możesz także budować szablony i komponenty w Vue, podobnie jak w przypadku ReactJS.
Konsekwencje
Wielu programistów ocenia Vue jako framework trzeciego wyboru, za Angularem i Reactem. W związku z tym, społeczność wspierająca Vue jest znacznie mniejsza, a rozwój frameworka nie jest tak solidny jak innych, bardziej popularnych frameworków.
Podsumowanie
Vue jest doskonałym alternatywnym frameworkiem do nauki i wykorzystania w miarę potrzeb. Jest to konkurencyjny framework i potencjalnie może być mądrą alternatywą dla Angulara.
4. Ember
Ember jest jednym z młodszych frameworków na tej liście. Wydany w 2011 roku, skupia się na pomocy w budowaniu złożonych aplikacji internetowych. Oferuje on:
- Większą produktywność zaraz po wyjęciu z pudełka w porównaniu do innych na tej liście
- Stabilność bez stagnacji
- Wsparcie dla HTML5
Dzięki tym zasadom i ciągłemu rozwojowi, Ember jest obecnie używany w wielu dużych i popularnych aplikacjach, takich jak Apple Music, LinkedIn i Square.
Pros
Modułowa architektura i setki wtyczek czynią Ember frameworkiem, który daje ci wiele już na starcie. Ponadto, rozwiązania zbudowane za pomocą Embera mogą być przekształcane w natywne aplikacje, takie jak Apple Music.
Cons
Ember wykorzystuje moduły do rozszerzania frameworka. Wyzwaniem dla programisty jest wiedza, których modułów powinien używać. Poza tym, istnieje krzywa uczenia się wymagana do rozpoczęcia pracy z Ember.
Podsumowanie
Ember szybko ewoluuje w dojrzałą i stabilną alternatywę do budowania aplikacji webowych i natywnych w porównaniu do React.Native i Angular.
Svelte
Svelte jest frameworkiem anty-framework. Istnieją problemy z niektórymi frameworkami, takie jak duża baza kodowa wymagana do uruchomienia skryptów. Svelte, wydany w 2016 roku, napędza kampanię mającą na celu zmniejszenie wyzwań związanych z niektórymi tradycyjnymi frameworkami.
Na przykład, prosta aplikacja To Do MVP napisana przy użyciu Svelte będzie ważyć 3,6KB, podczas gdy ta sama aplikacja napisana dla Reacta osiąga 45KB-10 razy więcej.
Svelte może tworzyć malutkie aplikacje ze względu na model budowania aplikacji. Inne frameworki, w tym te wymienione powyżej, polegają na przeglądarce internetowej, która wykonuje większość pracy.
W Svelte piszesz komponenty za pomocą CSS, HTML i JavaScript, a następnie Svelte kompiluje kod do modułów JavaScript. W rezultacie przeglądarka nie musi wykonywać tak wiele pracy. Co z kolei oznacza, że możesz pisać bardziej złożone aplikacje.
Pros
Moduły JavaScript są skutecznym sposobem na przyspieszenie dowolnej aplikacji JavaScript. Podejście, jakie oferuje Svelte, ma na celu zwiększenie wydajności Twoich aplikacji.
Cons
Wielu programistów stron internetowych nie pracowało z modułami JavaScript. Całe podejście, które oferuje Svelte, jest bardzo różne, a ponieważ Svelte jest nowym dzieckiem w bloku, społeczność deweloperów wciąż rośnie.
Podsumowanie
Svelte oferuje interesujące podejście do tworzenia aplikacji internetowych. Praca z modułami JavaScript ma swoje zalety, a model oferowany przez Svelte jest jednym z tych, z którymi deweloperzy powinni eksperymentować. Z tym, że Svelte jest ubogi w dokumentację. Więc, na najbliższą przyszłość, traktuj Svelte jako eksperymentalny.
Wyjdź poza aplikacje webowe
Skupiamy się na aplikacjach webowych, ale to nie jest już świat, w którym żyjemy. Back-endowe frameworki i akceleratory również odgrywają ogromną rolę w tworzeniu aplikacji w dzisiejszych czasach. (Są to tematy wykraczające poza zakres tego artykułu, ale należy o nich wspomnieć.)
Ważne akceleratory obejmują chmurę, narzędzia open-source, metodologie DevOps i bezpieczeństwo. Jednak pod wieloma względami najbardziej krytycznym akceleratorem jest Twój sposób myślenia. Jako nowoczesny programista, musisz przyjąć postawę ciągłego uczenia się, aby nieustannie ulepszać model dostarczania rozwiązań, aby sprostać stale rosnącym wymaganiom klientów.
Musisz być w stanie skutecznie dostarczać rozwiązania, które mogą skalować się na wszystkich platformach, z których korzystają Twoi klienci. Połączona moc front-endu, back-endu i akceleratorów da Ci przewagę, której potrzebujesz.