Narzędzia usprawniające przepływ pracy programistów podczas tworzenia aplikacji hybrydowych Apache Cordova są stale ulepszane od czasu wprowadzenia interfejsu wiersza poleceń Cordova (CLI) kilka lat temu. Interfejs CLI znacznie poprawił, zautomatyzował i ustandaryzował typowe zadania programistyczne, które wcześniej polegały na ręcznych procesach tworzenia lub modyfikowania plików konfiguracyjnych lub bezpośredniej manipulacji kodem natywnym.
Ponieważ Cordova jest oprogramowaniem typu open source, inni mogą swobodnie budować na nim i rozpowszechniać własne narzędzia dostosowane do określonej struktury JavaScript (na przykład Ionic robi to) lub do określonych przypadków użycia (CLI PhoneGap firmy Adobe dodaje możliwość interakcji z ich chmurą Usługa PhoneGap Build).
Microsoft pracuje nad ścisłą integracją ekosystemu Cordova z linią produktów Visual Studio, w tym darmowym i międzyplatformowym Edytorem Visual Studio Code. W ramach tej inicjatywy firma Microsoft korzysta z otwartego źródła TACO (Tools for Apache CORdova), alternatywnego interfejsu CLI, którego celem jest dalsza poprawa produktywności programistów, niezależnie od tego, jaki wybierzesz framework JavaScript lub lokalną platformę programistyczną.
TACO jest w pełni kompatybilny ze zwykłym CLI Cordova i możesz bez problemu używać poleceń „taco” i „cordova” w tym samym projekcie. Przyjrzyjmy się, jakich korzyści programiści korzystający z systemu Mac OS mogą spodziewać się po dodaniu TACO do swoich zestawów narzędzi.
Instalacja
Zakładając, że mamy już zainstalowany Node.js, uzyskanie TACO jest proste:
sudo npm install -g taco-cli
Po zakończeniu możemy sprawdzić, czy TACO CLI zainstalował się poprawnie za pomocą:
taco -version
Który w momencie pisania powinien wyprowadzić:
1.2.1
Tworzenie aplikacji
Przejdźmy dalej i użyjmy TACO CLI, aby utworzyć aplikację Cordova o nazwie „TACOApp” w folderze „TACOApp” i z identyfikatorem aplikacji „com.moduscreate.tacoapp”:
taco create TACOApp com.moduscreate.tacoapp TACOApp
Spowoduje to pobranie Cordova w razie potrzeby (aktualna wersja w momencie pisania to 5.4.1) i utworzenie pustej aplikacji w „TACOApp”.
Patrząc na to, co dla nas powstało, widzimy:
ls -lF TACOApp -rw-rw-rw- 1 simon staff 6259 Apr 29 20:49 config.xml drwxr-xr-x 3 simon staff 102 Apr 29 20:49 hooks/ drwxr-xr-x 4 simon staff 136 Apr 29 20:49 merges/ -rw-r--r-- 1 simon staff 2 Apr 29 20:49 package.json drwxr-xr-x 2 simon staff 68 Apr 29 20:49 platforms/ drwxr-xr-x 2 simon staff 68 Apr 29 20:49 plugins/ drwxr-xr-x 5 simon staff 170 Apr 29 20:49 res/ -rw-r--r-- 1 simon staff 50 Apr 29 20:49 taco.json drwxr-xr-x 6 simon staff 204 Apr 29 20:49 www/
Wygląda to tak, jak oczekiwalibyśmy od zwykłej aplikacji Cordova utworzonej przy użyciu Cordova CLI, z dodatkiem folderu o nazwie „res” i pliku o nazwie „taco.json”.
„res” zawiera pewne standardowe zasoby wspierające aplikację Hello World, którą tworzy dla nas CLI — ikony, ekrany powitalne i pliki konfiguracyjne specyficzne dla platformy.
Plik „taco.json” informuje TACO, która wersja Cordova CLI i który „zestaw” (znany zestaw numerów wersji wtyczek, które dobrze ze sobą współpracują) zostały użyte podczas tworzenia aplikacji. Więcej informacji na temat zestawów TACO znajduje się w „dokumentacji”.
Dodawanie platform
Aby nasza aplikacja działała na danej rodzinie urządzeń, musimy dodać jedną lub więcej platform Cordova. Dodajmy Androida i iOS i zobaczmy, co TACO robi inaczej tutaj:
taco platform add android
Spowoduje to utworzenie i skonfigurowanie platformy Cordova Android dla naszego projektu, a kiedy to zrobimy, możemy spodziewać się wyników podobnych do:
Success! Platform(s) android added to the project.
Korzystając ze zwykłego przepływu pracy Cordova CLI, musielibyśmy teraz zainstalować zestawy SDK i narzędzia Androida na odpowiednich poziomach dla wersji Androida, na które kierujemy, lub zrobiliśmy to osobno przed rozpoczęciem naszego projektu aplikacji.
TACO CLI różni się tutaj od „waniliowej” Cordova. Zawiera przydatne dodatkowe polecenie, które może uzyskać dla nas pakiety SDK i wymagania specyficzne dla platformy.
taco install-reqs android
Spowoduje to zainstalowanie wymaganych narzędzi i zestawów SDK, które nie są jeszcze obecne na komputerze lokalnym, dzięki czemu aplikacja będzie gotowa do skompilowania.
Podobnie możemy dodać obsługę platformy iOS do naszej nowej aplikacji za pomocą:
taco platform add ios taco install-reqs ios
Podobnie jak w przypadku normalnego projektu Cordova CLI, nasz folder projektu zawiera teraz:
platforms/android platforms/ios
Dodawanie wtyczek
Wtyczki działają zgodnie z oczekiwaniami.
taco plugin add cordova-plugin-camera
doda wtyczkę aparatu dla wszystkich zainstalowanych platform, w wersji ustawionej przez zestaw TACO, z którego korzysta aplikacja. Zestaw to zestaw wtyczek, o których wiadomo, że dobrze współpracują z daną wersją Cordova. Więcej dokumentacji na ten temat znajduje się tutaj. Jeśli na pewno chcesz mieć najnowszą wersję wtyczki, po prostu użyj:
taco plugin add cordova-plugin-camera@latest
Budowanie aplikacji lokalnie
Aby zbudować aplikację, po prostu mówimy TACO, którą platformę chcemy zbudować, w taki sam sposób, jak przy użyciu zwykłego CLI Cordova:
taco build android taco build ios
Działają one dokładnie tak, jak w przypadku zwykłego projektu Cordova CLI.
Uruchamianie aplikacji
Po zbudowaniu naszej aplikacji będziemy chcieli ją uruchomić i debugować, zarówno na prawdziwym urządzeniu, jak i przy użyciu emulatorów. TACO ma tutaj również dodatkową funkcjonalność w porównaniu z waniliowym CLI Cordova.
Emulatory i urządzenia
TACO pozwala nam uruchomić naszą aplikację w emulatorze, ponownie używając tego samego polecenia, które każdy zaznajomiony z Cordova CLI rozpozna:
taco emulate ios taco emulate android
Aplikacja szablonowa, którą generuje TACO, różni się wizualnie od tej, którą dostarcza zwykły Cordova CLI, ale ma tę samą logikę wykrywania zdarzeń „urządzenie gotowe”. Schemat TACO wygląda tak:
TACO pozwala również programistom uruchamiać swoje aplikacje na urządzeniach podłączonych do ich komputera lub na skonfigurowanym zdalnym serwerze kompilacji Mac dla programistów Windows, którzy chcą uruchomić aplikację na iOS.
Zakładając, że jesteśmy na Macu i mamy podłączone urządzenie iOS,
taco run ios
uruchomi aplikację na podłączonym urządzeniu i uruchomi ją.
Przeładuj na żywo
TACO pozwala nam uruchomić naszą aplikację (na urządzeniu lub w emulatorze) w sposób, który pozwala nam zmieniać zasoby HTML / JS / CSS / obrazu bez konieczności wykonywania kolejnego cyklu kompilacji i emulacji.
Zarówno polecenia run, jak i emulate obsługują przeładowanie na żywo (przy użyciu BrowserSync). Oto przykład użycia go z symulatorem iOS:
taco emulate ios --livereload
Następnie możemy edytować źródło aplikacji, która zostanie ponownie załadowana, gdy zapiszemy nasze zmiany.
Synchronizacja urządzenia
Inną funkcją, którą TACO oferuje w porównaniu z waniliowym interfejsem Cordova CLI, jest możliwość uruchamiania aplikacji na wielu urządzeniach i odzwierciedlania zdarzeń z jednego w drugim.
Jest to bardzo przydatne podczas demonstracji lub testowania na różnych platformach. Oto przykład, w którym po lewej stronie mamy iPhone'a z naszą aplikacją, a po prawej telefon z Androidem Moto X również ją uruchamia. Są to oba urządzenia fizyczne. Ich wyniki są rejestrowane za pomocą QuickTime dla iPhone'a i doskonałego Vysora dla Androida.
Oba urządzenia muszą być podłączone do komputera Mac, a włączenie tego zachowania jest tak proste, jak:
taco run -device --devicesync
Funkcja Live Reload jest również dostępna podczas działania synchronizacji urządzenia, dzięki czemu możesz zmieniać pliki aplikacji i widzieć zmiany na obu platformach jednocześnie. Synchronizacja urządzeń może również współpracować z emulatorem dla jednej lub obu platform, a nie z urządzeniami fizycznymi.
Wniosek
Firma Microsoft oferuje kilka przydatnych ulepszeń dla programistów pracujących z Cordova. Niezależnie od tego, czy chodzi o nowy projekt, czy o usprawnienie przepływu pracy w aplikacji w toku, programiści powinni przyjrzeć się bliżej TACO CLI.
Funkcje przeładowania na żywo i synchronizacji urządzeń to ogromny wzrost produktywności. Istnieje również możliwość korzystania ze zdalnego serwera kompilacji, który pozwala programistom pracującym na komputerach z systemem Windows uczestniczyć w tworzeniu aplikacji, które muszą działać na iOS. W tym krótkim spojrzeniu na TACO nie omówiliśmy wszystkich jego funkcji ani integracji z wieloplatformowym edytorem Visual Studio Code. Aby uzyskać więcej informacji, zalecamy zapoznanie się z oficjalną dokumentacją.
Jakich narzędzi używasz, aby pracować wydajnie podczas tworzenia aplikacji Cordova? Chcielibyśmy usłyszeć od Ciebie. Jeśli znasz kogoś, kto uznałby ten artykuł za pouczający, podziel się nim! I śledź mnie na Twitter lub Modus Create: Front End Development.