Szukasz najlepszych specjalistów od oprogramowania? Znajdziesz ich w kilka kliknięć.

Jak stworzyć pierwszy pakiet npm dla React Native w TypeScript?

26 sie 20202 min czytania

Vitalii Danylov

Senior frontend developer w Ideamotive.

Jak stworzyć pierwszy pakiet npm dla React Native w TypeScript?

Zdecydowałeś się stworzyć własny pakiet npm dla React Native i go opublikować...

 

Świetnie!  

 

Chętnie Cię w tym wesprę. W dzisiejszym artykule przeprowadzę Cię przez kilka najlepszych gotowych pakietów, które pozwalają stworzyć własny pakiet. 

 

Zanim jednak zaczniemy, zróbmy listę krok po kroku wszystkich zadań, o które musisz zadbać przy tworzeniu pakietu w TypeScripcie.

  • Konfiguracja początkowa 
  • Struktura projektu
  • Zależności
  • Konfiguracja TypeScriptu
  • Linkowanie mostka (bridge)
  • Linting
  • Formatowanie (utrzymanie czytelności kodu)
  • .gitignore i .npmignore
  • Testy (jest, react-native-testing-library)
  • Dokumentacja przykładu
  • Dokumentacja pakietu
  • Publikacja 

Sporo tego, prawda? 😉

 

Na szczęście są rozwiązania, które biorą na siebie wszystkie te zadania i dodają skonfigurowany TypeScript do pakietu, automatyzując cały proces. 

1. react-native-module-template 


Przyjrzyjmy się szybko temu pakietowi:

  1. Wsparcie dla TypeScriptu
  2. Skonfigurowany mostek
  3. Najnowsza wersja React Native
  4. Pakiet ma dobrze zorganizowaną i przejrzystą konfigurację, którą dopasujesz do własnych celów i nawyków programistycznych.
  5. Style i linting: konfigurowalny linting i prettier oparte na gts (pakiet TypeScript od Google).
  6. Gotowe testy - z łatwością dodasz test dzięki skonfigurowanemu Jestowi
  7. Gotowy folder z przykładem - prosty dodatek

Krótko mówiąc: łatwa konfiguracja do szybkiego tworzenia modułów React Native zgodnie z nowoczesnymi standardami i najnowszymi wersjami bibliotek.

 

Gorąco polecam!

2. react-native-community/bob: 👷‍♂️ Proste CLI do generowania i budowania bibliotek React Native

Ten pakiet pozwala wygenerować moduł albo zainstalować moduły w istniejących projektach.

Główne możliwości, które oferuje:

  • proste przykładowe moduły dla Androida i iOS, na których możesz budować;
  • Kotlin skonfigurowany do budowania modułu na Androida;
  • wsparcie C++ dla modułów natywnych na Androidzie i iOS;
  • Expo dla bibliotek bez kodu natywnego oraz wsparcie dla weba;
  • przykładowa aplikacja React Native do ręcznego testowania modułów;
  • ESLint, Prettier, TypeScript, Husky i Release It wstępnie skonfigurowane;
  • Bob wstępnie skonfigurowany do kompilowania plików;
  • CircleCI wstępnie skonfigurowane do uruchamiania testów na CI.

Dodatkowo pakiet obejmuje następujące cele:

  • zwykły build CommonJS;
  • build ES modules dla bundlerów takich jak webpack;
  • definicje Flow (kopiuje pliki .js do plików .flow);
  • definicje TypeScriptu (używa tsc do generowania plików deklaracji);
  • pliki AAR dla Androida.

Jak widać, konfiguracja jest naprawdę obszerna i rozbudowana. Co więcej, pakiet obsługuje także biblioteki natywne i weba.

3. brodybits/react-native-module-init

To narzędzie pomoże Ci tworzyć natywne moduły i widoki React Native. Zawiera interaktywne CLI, które pozwoli Ci podać wszystkie informacje o module:


 

Jest też mniej narzucające niż react-native-community/bob, co znaczy, że masz więcej swobody i nie jesteś prowadzony za rękę przez twórców.

4. brodybits/create-react-native-module

Ten pakiet pozwala stworzyć moduł React Native albo natywny komponent widoku z użyciem CLI.

 

Opiera się na poprzednim narzędziu tego samego autora. Wspiera tworzenie boilerplate’u zgodnie ze wszystkimi nowoczesnymi dobrymi praktykami. Jeśli Twoim celem jest stworzenie modułu natywnego dla React Native, będziesz potrzebować narzędzia, które pozwoli zebrać cały kod natywny dla platform iOS i Android w jednym miejscu. 

 

I to jest właśnie odpowiedni instrument.

Podsumowanie i czas na wybór

Wszystkie opisane wyżej pakiety mają ten sam cel, ale dostarczają różnych narzędzi i implementacji, z których każdy programista skorzysta przy innych problemach.

 

Osobiście w swoich projektach wolę react-native-module-template , bo pokrywa wszystkie moje potrzeby i trzyma się najnowszych standardów. 

 

Z jakich narzędzi TY korzystasz, by ogarnąć wszystkie zadania przy tworzeniu modułu, takie jak linkowanie mostka i integracja TS? Wolisz rozwiązania ręczne i własne skrypty, czy raczej narzędzia takie jak opisane wyżej pakiety?

 

Daj znać!

 

PS A jeśli szukasz więcej wiedzy o React Native, koniecznie zajrzyj do naszego obszernego przewodnika po React Native.

Vitalii Danylov

Vitalii to doświadczony frontend i mobile developer (ze szczególną <3 dla React Native), który lubi poznawać nowe technologie, testować nowe narzędzia i odkrywać nowe podejścia.

Zobacz wszystkie wpisy autora
React Native 2022

Wybór React Native do Twojego stosu technologicznego w 2022

Kompletny przewodnik dla CEO i product ownerów

Czytaj teraz
Newsletter 9-1
Newsletter Ideamotive
Twój dwutygodniowy przegląd najgorętszych newsów technologicznych

Szukasz świetnych projektów do pracy jako programista React Native?

Dołącz do Ideamotive Talent. Pracuj przy międzynarodowych projektach, zarabiaj i rozwijaj karierę na własnych zasadach.