Miłośnicy Facebooka i entuzjaści tworzenia aplikacji mogą się wreszcie cieszyć: bardzo rozpowszechniony i niedawno ogłoszony projekt ramowy firmy został zaprezentowany wczoraj na F8 Developer Conference Facebooka. React Native jest radykalnym odejściem od tego, jak zwykle prowadzi się rozwój aplikacji mobilnych.

Kiedy ten projekt open source został po raz pierwszy ogłoszony, wzbudził entuzjastyczne reakcje twórców. React Native to nowe podejście, ponieważ pozwala programistom pisać kod, a następnie przeglądać wyniki w kilka sekund. Oczywiście jest to bardziej atrakcyjne dla niektórych osób niż konieczność pierwszej rekompilacji całej aplikacji, tak jak to miało miejsce tradycyjnie, w celu uzyskania wyników rozwoju.

Pomimo swojej hype jako radykalnej zmiany w rozwoju aplikacji, React Native ma pewne podobieństwa z konwencjonalnymi, najlepszymi praktykami. Na przykład nadal opiera się na JavaScript, podobnie jak inne techniki hybrydowe.

Jednak w przypadku, gdy ta struktura tworzenia aplikacji jest znacznie inna, jest to usunięcie wieloplatformowego opakowania. Zwykle programiści uzyskują dostęp do natywnych funkcji na różnych urządzeniach. Zamiast tego, React Native zachęca programistów do używania JSX, który jest wariantem Facebooka w języku JavaScript, do "podpięcia" do natywnych widgetów. Następnie programiści mogą uzyskać dostęp do aplikacji natywnie i obserwować to samo zachowanie, wygląd, wydajność i styl "prawdziwych" aplikacji natywnych.

Jednak jeśli uważasz, że React Native to pełnoprawna struktura tego typu aplikacji, pomyśl jeszcze raz. Facebook lubi rzucać w nas krzywą piłkę: firma lubi odsyłać do tej platformy jako narzędzia, na którym programiści mogą polegać, aby zobaczyć aplikacje stworzone w architekturze kontrolera Model View. Nic więc dziwnego, że Facebook jest już ciężko pracować, tworząc narzędzia towarzyszące, takie jak Przekaźnik i GraphQL .

Nowa filozofia projektowania

Celem React Native jest to, że Facebook chce, aby projektanci myśleli o tworzeniu aplikacji w zupełnie nowy sposób. React Native robi to, wprowadzając ramy, które naprawdę opierają się na idei "ucz się raz" i "pisz w dowolnym miejscu". Innymi słowy, React Native może upoważnić twórców aplikacji do zapoznania się z nimi, a następnie podjąć tę wiedzę w łatwy i skuteczny sposób rozwijać aplikacje na różnych platformach.

Teoretycznie programiści aplikacji mogą stworzyć aplikację na iOS, a następnie wykorzystać to, czego nauczyli się w tym procesie, aby zwinnie opracować i zbudować aplikację na Androida. Zamiast budować aplikację, a następnie dostosowywać ją do różnych systemów operacyjnych, React Native pozwala im na zapoznanie się z ramami i tworzenie aplikacji na różnych platformach od zera. Facebook uważa, że ​​takie podejście sprawi, że cały proces tworzenia aplikacji będzie prostszy i bardziej skuteczny. W końcu, gdy programiści mogą nauczyć się React Native jeden raz, wszyscy będą na tej samej stronie, kiedy przechodzą z jednego systemu operacyjnego do drugiego.

Zanim programiści Androida zaczęli być zbyt podekscytowani, niestety jest to ostrzeżenie: teraz obsługa Androida nie jest jeszcze dostępna. React Native może być używany tylko z iOS, ale Facebook pracuje nad wsparciem Androida podczas pisania; bądźcie czujni…

Początki React Native

Jeśli zastanawiasz się nad historią tego frameworka, to wraca do Technologia React na Facebooku , która jest biblioteką JavaScript przeznaczoną do tworzenia interfejsu użytkownika. Co jest dość niezwykłe w przypadku React, to fakt, że istnieje już od niecałych dwóch lat, chociaż w tym krótkim czasie stał się bardzo popularny. To, co wyróżnia tę technologię, to sposób, w jaki uwzględnia on logikę i prezentację w tym samym czasie, co jest kolejnym odważnym posunięciem ze strony Facebooka.

Technologia React opiera się na jednostkach kodu, które zachowują się jak klasy. Te komponenty następnie absorbują dane i tworzą HTML na podstawie wspomnianych danych. Co więcej, pojedyncze komponenty oferują nawet programistom określoną funkcjonalność, która pozwala na ich wspólne wykorzystanie w różnych projektach. Ma to ogólny efekt promowania ponownego użycia, jak również usprawnienia myślenia stojącego za logiką programowania.

Co mówi Facebook

Pomocne i pouczające jest przeczytanie, co ludzie na Facebooku mówią o uruchomieniu projektu. React Native project leader, Tom Occhino, napisał że ramy zapewniają projektantom bezprecedensową wolność. Podkreślając fakt, że jego składniki są nieprzerwane funkcje, które odzwierciedlają to, co deweloperzy patrzą na, Occhino podkreślił, jak programiści mogą pominąć zwykły krok czytania z podstawowej, renderowanym widoku realizacji przed napisaniem do niego.

W serwisie internetowym React Native Facebook zwrócił również uwagę, że projektanci są uprawnieni do korzystania z podstawowych komponentów platformy, takich jak kontroler nawigacyjny UI na iOS i pasek zakładek UI. W wyniku tego powstają aplikacje o jednolitym wyglądzie, które są spójne z całą platformą. Podnosi również poprzeczkę pod względem jakości. Projektanci mogą być zadowoleni, że komponenty są bezproblemowo dołączane do aplikacji za pośrednictwem ich komponentów typu React Native, takich jak Navigator IOS i Tab Bar IOS.

Początkowa reakcja na nowe ramy Facebooka była generalnie pozytywna i pomogło to reakcja dodatnia pochodzi od takich twórców jak Mozilla, James Long. Oczywiście teraz, gdy React Native jest powszechnie dostępny, tylko czas pokaże, jak został naprawdę przyjęty. W tym momencie reakcja została podzielona na dwa obozy: tych, którzy przyjmują tę wiadomość z szeroko otwartymi ramionami i tych, którzy są sceptyczni, a nawet krytyczni wobec tej ambitnej zmiany w rozwoju aplikacji z Facebooka.

Wielkim wyjściem z tego jest to, jak Facebook React Native chce znacząco zmienić branżę rozwoju JavaScript na lepsze lub gorsze. Kiedy weźmiesz tę wiadomość z Projekt NativeScript od Telerika, wygląda na to, że programiści JavaScript są na jakiś czas pełen wrażeń.

Słyszeliśmy, że to Facebook - i, tak, pamiętamy o tym, że muszą ogłosić swój własny róg, gdy ogłaszają swój nowy projekt - są bardzo entuzjastycznie nastawieni do tego, co to oznacza dla branży projektowej. Occhino podwoił się w szumie, mówiąc światu, jak "podekscytowany" jest fakt, że firma React Native jest dostępna dla wszystkich na GitHub i wydaje ją jako narzędzie open-source dla iOS.

Kontynuował, by uspokoić świat, że wkrótce pojawi się wsparcie dla systemu Android - jakkolwiek nikt nie zgadnie - i że Facebook planuje utrzymać go przy pomocy inicjatywy React for the Web. Wydaje się, że plan firmy polegał na jak najszybszym udostępnieniu wsparcia dla systemu iOS w celu zebrania jak największej liczby opinii od wczesnych użytkowników tego środowiska, a następnie skorzystania z tych informacji i dobrego wykorzystania do obsługi systemu Android w dalszej kolejności.

Co przyniesie przyszłość

Podobnie jak w przypadku wszystkich nowych wydawnictw projektowych, początkującym opiekunom zawsze przypomina się, że to, co dostają, jest dalekie od doskonałości. Więc kiedy eksperymentujesz z React Native, nie bądź zaskoczony, jeśli coś nie zostało jeszcze zaimplementowane tak, jak uważasz, że tak powinno być, lub jeśli coś działa niepoprawnie. W obu przypadkach Facebook Cię obejmuje, ponieważ zaprasza wszystkich wczesnych użytkowników, aby dać jak najwięcej informacji zwrotnych od samego początku.