Zadziorny ReactNative wprowadza letnie kolory do "krwawego Enterprise"
Zadziorny ReactNative wprowadza letnie kolory do "krwawego Enterprise"
W niniejszym artykule chciałbym porozmawiać na temat oprogramowania klasy Enerprise. Jako że moje artykuły sa zwykle poświęcone aplikacjom mobilnym, więc skupię się na oprogramowaniu dla MobileEnterprise.
10 lip 2018
1379
Other articles
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 2
Jak przygotować się do certyfikacji IIBA. Wyzwania i hacki
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 2
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 1
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 2
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1
Test Driven Development z użyciem JUnit 5. Część 6
Test Driven Development z użyciem JUnit 5. Część 5
Test Driven Development z użyciem JUnit 5. Część 4
Test Driven Development z uzyciem JUnit 5. Czesc 3
W niniejszym artykule chciałbym porozmawiać na temat oprogramowania klasy Enerprise. Jako że moje artykuły sa zwykle poświęcone aplikacjom mobilnym, więc skupię się na oprogramowaniu dla MobileEnterprise. Uważam, że najlepszym rozwiązaniem dla Enterprise na urządzenia mobilne jest ReactNative. Ogólnie rzecz biorąc, to wszystko na ten temat. Jeśli chcesz, możesz przestać czytać ten artykuł w tym momencie :)
Ale chwileczkę, dodam jeszcze, dlaczego ReactNative jest taki dobry.
Uniwersalne podejście
ReactNative jest oparty na ReactJS i JavaScript, co oznacza, że do projektowania można zaangażować programistów z doświadczeniem w ReactJS. Warto zauważyć, że gdy nauczysz się pisać kod na ReactNative pod iOS, z łatwością napiszesz aplikację pod Androida. W przypadku aplikacji natywnych, należy nauczyć się posługiwać Swift/Objective-C na iOS i Kotlin/Java na Androida. ReactNative to JS i kieruje się tymi samymi zasadami w budowaniu aplikacji, co ReactJS, z wyjątkiem pewnych szczegółów dotyczących platformy. Learn once, write everywhere (naucz się raz, pisz wszędzie).
Komponent architektury
W internecie roi się od artykułów na temat Model-View-Presenter, Model-View-ViewModel, Model-View-WhatEverPattern, VIPER, CleanArchitecture. Jednak ani iOS, ani Android nie dały możliwości oddzielenia kodu w zgodzie z jednym z wyżej wymienionych modeli; wszystkie te komponenty i ich wycinki trzeba było wykonywać przy użyciu bibliotek lub samodzielnie.
W ReactNative mamy specyficzne rozdzielenie na View Components i na stan, który pasuje do Redux. W rezultacie rodzielamy wszystko na osobne warstwy. Testowanie takiego kodu jest bardzo łatwe:
ReactNative prowokuje dobrze skonstruowany kod :) Programista operuje elementami, które są łatwe do napisania, przetestowania i użycia. No dobra, trochę oszukuję. W Androidzie pojawiło sie Architecture Components, lecz jest już rok 2017, więc trochę za późno...
Szybkość wytwarzania oprogramowania i pluginy
Podczas tworzenia aplikacji w ReactNative, programiści nie muszą długo czekać na redeploy, ponieważ renderowanie zmian następuje niemal natychmiast. To wspaniałe, że można stylować aplikację przy użyciu tabel CSS, co pozwala szybko stylować interfejs użytkownika.
Podczas programowania przy użyciu ReactNativ, można używać i rozszerzać aplikację za pomocą wtyczek, dodawać funkcjonalności napisane za pomocą narzędzi natywnych, na przykład mapy, a nie WebView, w pełni wyposażone w kompas, funkcje zooming, itd.
Szybkość pracy
Szybkość pracy jest wyższa, niż aplikacji napisanych przy użyciu Ionic lub Sencha, ponieważ nie pracuje się przez WebView. ReactNative wykorzystuje wtyczkę, która zapewnia natywne widgety dla każdej platformy. W rezultacie użytkownik pracuje z natywnymi elementami interfejsu.
Dlaczego Enterprise
W dzisiejszych czasach wiele firm na gwałt potrzebuje aplikacji mobilnych. ReactNative to jeden ze sposobów tworzenia aplikacji dla przedsiębiorstw umożliwiający budowanie aplikacji poprzez ponowne wykorzystanie kodu źródłowego między aplikacjami na Android i iOS. Szybkie tworzenie aplikacji bez oddzielnych poleceń pod każdą platformę jest oczywistą zaletą.
Do wyżej wymienionych plusów można dodać możliwość wykorzystania już opracowanych bibliotek JS, co sprawia, że ReactNative jest naprawdę dobrym rozwiązaniem. Wspaniale, jeśli można korzystać z jednej i tej samej biblioteki zarówno na Androida, jak i iOS.
Ivan, zaczekaj. Gdzie są te wszystkie jasne, letnie kolory? Kolory są w samym ReactNative - gdy zaczniesz tworzyć aplikacje w ReactNative, nigdy już nie będziesz chciał wrócić do natywnych narzędzi, oczywiście podczas wykonywania zadań w segmencie Enterprise, o grach 3D nie wspominając.
P.S. Oczywiście, ReactNative nie jest cudownym środkiem, lecz dla szerszego segmentu aplikacji dla biznesu może być doskonałym narzędziem do testowania hipotezy i tworzenia pierwszych wersji aplikacji w krótkim odstępie czasu.
Dziękuję i życzę radości z tworzenia!
Ivan Alyakskin
Software Consultant
Ale chwileczkę, dodam jeszcze, dlaczego ReactNative jest taki dobry.
Uniwersalne podejście
ReactNative jest oparty na ReactJS i JavaScript, co oznacza, że do projektowania można zaangażować programistów z doświadczeniem w ReactJS. Warto zauważyć, że gdy nauczysz się pisać kod na ReactNative pod iOS, z łatwością napiszesz aplikację pod Androida. W przypadku aplikacji natywnych, należy nauczyć się posługiwać Swift/Objective-C na iOS i Kotlin/Java na Androida. ReactNative to JS i kieruje się tymi samymi zasadami w budowaniu aplikacji, co ReactJS, z wyjątkiem pewnych szczegółów dotyczących platformy. Learn once, write everywhere (naucz się raz, pisz wszędzie).
Komponent architektury
W internecie roi się od artykułów na temat Model-View-Presenter, Model-View-ViewModel, Model-View-WhatEverPattern, VIPER, CleanArchitecture. Jednak ani iOS, ani Android nie dały możliwości oddzielenia kodu w zgodzie z jednym z wyżej wymienionych modeli; wszystkie te komponenty i ich wycinki trzeba było wykonywać przy użyciu bibliotek lub samodzielnie.
W ReactNative mamy specyficzne rozdzielenie na View Components i na stan, który pasuje do Redux. W rezultacie rodzielamy wszystko na osobne warstwy. Testowanie takiego kodu jest bardzo łatwe:
- Tutaj jest View - wystarczy przetestować
- Tutaj są reducers - po prostu funkcje; testowanie ich to sama przyjemność
- A na końcu model danych
ReactNative prowokuje dobrze skonstruowany kod :) Programista operuje elementami, które są łatwe do napisania, przetestowania i użycia. No dobra, trochę oszukuję. W Androidzie pojawiło sie Architecture Components, lecz jest już rok 2017, więc trochę za późno...
Szybkość wytwarzania oprogramowania i pluginy
Podczas tworzenia aplikacji w ReactNative, programiści nie muszą długo czekać na redeploy, ponieważ renderowanie zmian następuje niemal natychmiast. To wspaniałe, że można stylować aplikację przy użyciu tabel CSS, co pozwala szybko stylować interfejs użytkownika.
Podczas programowania przy użyciu ReactNativ, można używać i rozszerzać aplikację za pomocą wtyczek, dodawać funkcjonalności napisane za pomocą narzędzi natywnych, na przykład mapy, a nie WebView, w pełni wyposażone w kompas, funkcje zooming, itd.
Szybkość pracy
Szybkość pracy jest wyższa, niż aplikacji napisanych przy użyciu Ionic lub Sencha, ponieważ nie pracuje się przez WebView. ReactNative wykorzystuje wtyczkę, która zapewnia natywne widgety dla każdej platformy. W rezultacie użytkownik pracuje z natywnymi elementami interfejsu.
Dlaczego Enterprise
W dzisiejszych czasach wiele firm na gwałt potrzebuje aplikacji mobilnych. ReactNative to jeden ze sposobów tworzenia aplikacji dla przedsiębiorstw umożliwiający budowanie aplikacji poprzez ponowne wykorzystanie kodu źródłowego między aplikacjami na Android i iOS. Szybkie tworzenie aplikacji bez oddzielnych poleceń pod każdą platformę jest oczywistą zaletą.
Do wyżej wymienionych plusów można dodać możliwość wykorzystania już opracowanych bibliotek JS, co sprawia, że ReactNative jest naprawdę dobrym rozwiązaniem. Wspaniale, jeśli można korzystać z jednej i tej samej biblioteki zarówno na Androida, jak i iOS.
Ivan, zaczekaj. Gdzie są te wszystkie jasne, letnie kolory? Kolory są w samym ReactNative - gdy zaczniesz tworzyć aplikacje w ReactNative, nigdy już nie będziesz chciał wrócić do natywnych narzędzi, oczywiście podczas wykonywania zadań w segmencie Enterprise, o grach 3D nie wspominając.
P.S. Oczywiście, ReactNative nie jest cudownym środkiem, lecz dla szerszego segmentu aplikacji dla biznesu może być doskonałym narzędziem do testowania hipotezy i tworzenia pierwszych wersji aplikacji w krótkim odstępie czasu.
Dziękuję i życzę radości z tworzenia!
Ivan Alyakskin
Software Consultant