Programiści tacy jak Samer Buna, Parashuram N, Neehar Venugopal, Cameron Westland i Jay Phelps omawiali ostatnio z naszym zespołem nowe rozwiązania w JavaScript.

Zaprezentowane filmy dadzą Ci wyobrażenie o tym, co dzieje się z GraphQL, Redux-Observable, React Fibre, TC39 Import Proposal oraz wprowadzenie do nowego terminu „Extensible React”.

GraphQL i ReactJS

Samer Buna o wartości GraphQL, subskrypcjach GraphQL, ReactJS

Samer Buna mówi o GraphQL i daje nam wyobrażenie o tym, jak wspaniale jest pracować z językiem zapytań i jak doskonale jest on dopasowany do React. Język bardzo przejrzyście opisuje dokładne wymagania dotyczące danych i optymalizuje proces przesyłania danych pomiędzy aplikacjami front-endowymi a serwerem. Ogólnie rzecz biorąc, jest to lepszy język i zamiennik niż API REST.

Samer wprowadza także subskrypcje GraphQL, które oferują komunikację w czasie rzeczywistym, Samer mówi także o pojawiających się aplikacjach, które pozwalają na natychmiastowe pobranie graficznego API z chmury. Jeśli ktoś chce przechowywać swoje dane w chmurze, dostępne są teraz aplikacje, za pomocą których można definiować modele i uzyskać wymagany natychmiastowy graficzny interfejs API. Rozwój ten usuwa bariery wejścia dla początkujących programistów, ponieważ nie muszą już pisać kompletnych aplikacji serwerowych, aby używać GraphQL w swoich aplikacjach front-end, zamiast tego mogą po prostu wygenerować API w chmurze.

React okazuje się świetnym frameworkiem do pracy, ponieważ jest zarówno wyspecjalizowany, jak i elastyczny. W przeciwieństwie do Angulara czy Embera nie ma gotowych decyzji projektowych ani nie oferuje kompletnych rozwiązań, które mogłyby ograniczyć programistom eksperymentowanie.

Samer zaleca, aby gdy programiści nabiorą pewności co do tajników React, następnymi krokami powinno być zapoznanie się z Node. Argumentuje, że ponieważ ekosystem React i wiele nowych narzędzi opiera się na węzłach, programiści React mogą zyskać dużą wiedzę dzięki zrozumieniu narzędzi dostępnych w społeczności.

Centrum mobilne, wydajność przeglądarki i narzędzia React Fibre firmy Microsoft

Parashuram N opisuje pracę nad Mobile Center, wydajność przeglądarki i narzędzia React Fibre w firmie Microsoft

W firmie Microsoft Parashuram N pracuje nad wieloma projektami jako menedżer programu. Jednym z przykładów jest rozszerzenie Visual Studio Code (VS Code) stworzone dla React, które umożliwia autorom debugowanie aplikacji bezpośrednio z poziomu kodu VS. Prowadzone są eksperymenty, aby otworzyć możliwość testowania aplikacji reaktywnych w chmurze.

Mobile Center to kolejny projekt, który wyszedł od Microsoftu. Jest to system działający równolegle z VS Code, dzięki czemu użytkownicy mogą wybrać, czy chcą używać jednego, czy też połączyć oba. Mobile Center pozwala programistom wybrać repozytoria Github, z którymi chcą pracować, następnie są one podpisywane, budowane, testowane w chmurze i dystrybuowane do użytkowników końcowych.

Bycie twórcą stron internetowych wiąże się z wieloma korzyściami, a jedną z nich jest możliwość natychmiastowego wprowadzenia zmian u użytkowników. W procesie prezentowania zmian lub nowych funkcji nie ma opóźnień, a zmęczenie JavaScriptem zwykle nie stanowi problemu. Osoby wdrażające kod mogą to robić w sposób ciągły i bez żadnych niepowodzeń. Praktyki programistyczne i technologie, takie jak LiveReload, wymiana modułu podczas pracy i synchronizacja przeglądarki, również ułatwiają zarządzanie tworzeniem stron internetowych. Wszystkie te korzyści są unikalne dla świata tworzenia stron internetowych i są powodem, dla którego React tak dobrze pasuje do sieci.

Chociaż aplikacje są naprawdę natywne i dostosowane do sieci, przejście na natywną technologię reagowania w przestrzeni programowania mobilnego jest dość łatwe. Powodem jest to, że pomysły można natychmiast wdrożyć u klientów za pomocą takich narzędzi jak Code Push, a szereg narzędzi, takich jak funkcja debugowania podróży w czasie w ChakraCore, jest dostępnych, aby pomóc w tym procesie.

Pojawiło się również wiele projektów związanych z wydajnością, takich jak przeglądarka-perf, która umożliwia automatyzację wydajności sieci lub systemów monitorowania; oraz aplikacja tv monster śledząca wydajność biblioteki React.js. Aplikacja automatycznie zbiera dane dotyczące wydajności wszystkich frameworków i wszystkich wersji React. Działa w przeglądarce Chrome i wielu przeglądarkach mobilnych. Tym, co odróżnia te testy od istniejących testów wydajnościowych Reacta, jest to, że są przeprowadzane z perspektywy przeglądarki, a nie specyficzne dla JavaScript.

Parashuram omawia także filozofię firmy Microsoft, RxJS i budowanie narzędzi programistycznych dla Redux Observable na VS Code.

Propozycja importu TC39 i pakiet internetowy 2

Propozycja importu TC39, pakiet internetowy 2 i społeczność React na Wschodzie z Neeharem Venugopalem

W dzisiejszych czasach głównym celem Neehara jako inżyniera oprogramowania jest dostarczanie programistom rozwiązań, które pomogą zwiększyć efektywność tworzenia aplikacji. Jest jednym z autorów propozycji importu, która pomaga autorom wysyłać mniej kodu i podkreślać te najważniejsze, aby zoptymalizować wydajność (szczególnie na urządzeniach mobilnych).

Propozycja importu jest dostępna w pakiecie Webpack 2 i znajduje się w propozycji TC39 na etapie 3, co oznacza, że ​​nie pojawiła się w przeglądarkach. Jednak poszczególne osoby zgadzają się, że to działa, więc zostanie wdrożone wkrótce.

Inspiracją do rozpoczęcia propozycji importu były rozmowy na temat urządzeń mobilnych dla CSS i urządzeń mobilnych dla UI/UX. Ponieważ nie omówiono jeszcze kwestii urządzeń mobilnych dla JavaScript, ale szybkość i wydajność aplikacji mobilnych wymagały poprawy, temat w końcu zaczął się pojawiać. Pojawiło się pytanie „w jaki sposób mogę wysłać minimalną ilość kodu JavaScript wymaganego do wyświetlenia użytkownikowi tego, co jest na ekranie”. Wprowadzono również import dynamiczny, aby w pakiecie internetowym mogło wystąpić leniwe ładowanie i dzielenie kodu.

Neehar mówi także o społeczności React na Wschodzie. Mimo że są daleko, programiści z tego obszaru nadal czują się bardzo włączeni do społeczności ze względu na duże zaangażowanie wszystkich programistów, różnorodność i komunikację między członkami zespołu. Na Zachodzie można jednak poprawić skupienie się na wydajności. W przeciwieństwie do VueJS, React nie jest tak powszechnie stosowany ze względu na problemy z wydajnością.

Rozszerzalny React

Cameron Westland prezentuje „Extensible React”

Cameron Westland jest architektem oprogramowania w Autodesk, obecnie pracuje nad nową wersją internetową działającą w React. Wprowadzono termin „Extensible React”, który można zdefiniować jako „deklaratywne podejście do tworzenia podłączanych aplikacji internetowych”.

Rozszerzalność jest często używana w aplikacjach. Jednak jeśli chodzi o tworzenie rozszerzalnych aplikacji, nie ma zbyt wielu rozmów. Cameron i jego zespół w Autodesk starają się wywołać szerszą dyskusję na ten temat, udzielając odpowiedzi na pytania takie jak: „Jeśli dana osoba ma pasek narzędzi i chce dodać ikonę do paska narzędzi za pomocą rozszerzenia, jak by to zrobiła, gdyby aplikacja jest zbudowana w React?”. Jednym z przykładów rozwiązania jest klient poczty elektronicznej znany jako Annihilus. Jest zbudowany w React, oferuje rozszerzenia i pozwala użytkownikom dodawać niestandardowe części do swojego klienta poczty e-mail bez nocy.

Jedną z największych zalet Reacta jest wpływ, jaki wywiera na ekosystem poza własną społecznością. Na przykład przed Reactem wiele frameworków interfejsu użytkownika było całościowych. Przestrzegali konwencji i nie byli zorientowani na komponenty. Po React wiele frameworków zaczęło dostosowywać i przepisywać swoje aplikacje, aby były bardziej podobne do React. Ten efekt fali z pewnością będzie widoczny po wprowadzeniu nowych zmian w React Fibre. Oprócz tego społeczność React jest również otwarta i zachęcająca. Nie ma jednej osoby, która decyduje, czym będzie i czym powinien być React. Ma silną dynamikę zespołową, a wiele pomysłów opracowanych przez autorów frameworka jest napędzanych przez społeczność.

Włókno obserwowalne i reagujące na Redux

Jay Phelps o Redux-Observable, React Fibre i ReactJS

Społeczność React jest opisywana jako jedna z najbardziej otwartych na akceptowanie nowych pomysłów. Doprowadziło to do radykalnego przemyślenia na nowo i było wówczas nawet uważane za antywzorzec. React był w stanie na nowo przemyśleć sposób działania i stworzyć nowe najlepsze praktyki. Te nowe normy zostały od tego czasu udostępnione i przyjęte przez inne frameworki, takie jak Angular i Ember.

Jay omawia kilka projektów open source, które odgrywają wiodącą rolę w ekosystemie React. Należą do nich redux-observable, React Fibre i Jest.

Jay podziela wizję redux-observable, czyli RxJ, to oprogramowanie pośredniczące do komponowania lub anulowania asynchronicznych efektów ubocznych przy użyciu firmy Epic jako współautora tej biblioteki. Jay i Ben Lesh zainspirowali się innymi pomysłami społeczności, takimi jak redux-thunk i redux-saga.

Jay dzieli się swoim spojrzeniem na React Fibre i tym, jak programiści mogą się doczekać możliwości nadawania priorytetu pewnym elementom, takim jak dane wejściowe lub animacje, podczas renderowania.

Jest to platforma do testów jednostkowych, która tworzy migawki lub kod dla prostego systemu testowego. To przykład projektu takiego jak React, który pierwotnie nie został zaakceptowany, ale został wymyślony na nowo i obecnie odnosi sukcesy. Dziś Jest jest emulowany w innych frameworkach testowych, ponieważ był bardzo pomocny.

Nie przegap swojej szansy, aby bardziej zaangażować się w społeczność, wnosząc swój wkład! Bibliotekę React znajdziesz tutaj.

Ten artykuł został napisany wspólnie przez „Trinh Kien” i „Tracy Lee”