Aplikacja React Native dla usługi podróżniczej 'Mapster'
Celem było stworzenie projektu umożliwiającego kompleksowe tworzenie wycieczek, które mogą składać się z wynajmu samochodu, zakwaterowania, rezerwacji biletów lotniczych, taksówek, wycieczek, transferów po stronie klienta. Stworzyliśmy również możliwość umieszczenia wszystkich tych usług po stronie naszych partnerów. Projekt zawiera globalny panel administracyjny, który obejmuje wszystkie wymienione funkcje.
Najtrudniejszym zadaniem było stworzenie architektury projektu składającej się z 9 różnych usług, które są połączone w jedną złożoną system. Musieliśmy stworzyć najbardziej odpowiednią bibliotekę interfejsu użytkownika, utworzyć komponenty interfejsu użytkownika i stworzyć wiele identycznych usług w krótkim czasie. Pierwotnym celem było stworzenie wszystkich tych 9 usług w ciągu 3 miesięcy. Wszystkie miały być wielowalutowe, wielojęzyczne, złożone systemy cenowe dla różnych rodzajów produktów. W zasadzie wszystkie te usługi to platformy handlowe, ale z dużo bardziej złożonym i większym funkcjonalnością do dodawania produktów. Na zwykłych platformach handlowych produkty są dodawane i sprzedawane według określonego szablonu. W naszym przypadku wszystkie te produkty znacznie się od siebie różnią i nie mogą być dopasowane do określonego szablonu.
Obecnie istnieją 2 najpopularniejsze frameworki do tworzenia aplikacji na wiele platform: React Native i Flutter. Istniała również możliwość tworzenia aplikacji natywnych dla każdego systemu operacyjnego mobilnego osobno, używając języków programowania Kotlin i Swift, ale zdecydowaliśmy się zrezygnować z tego pomysłu na rzecz rozwoju na wiele platform, ponieważ taki rozwój spełniał wszystkie potrzeby wynikające z tworzenia projektu. Ponadto taki rozwój zajmuje znacznie mniej czasu niż natywny, co również pasowało do naszych planów stworzenia wersji MVP projektu w ciągu 3 miesięcy. Wtedy musieliśmy wybrać między React Native i Flutter, i początkowo wybraliśmy Flutter i zrealizowaliśmy wersję MVP za jego pomocą. Następnie rozwijaliśmy i skalowaliśmy tę wersję, ale optymalizacja aplikacji znacząco się pogorszyła. Przeprowadziliśmy własne badania, podczas których stworzyliśmy identyczną aplikację w React Native i uzyskaliśmy znaczący wzrost prędkości ładowania aplikacji od 4 do 10 razy, dlatego kontynuowaliśmy rozwój aplikacji stworzonej w React Native. Zauważyliśmy również, że aplikacja w React Native zajmuje znacznie mniej miejsca w pamięci w porównaniu z Flutter. Udało nam się zmniejszyć rozmiar aplikacji z około 250 MB do 20 MB.
#Django
#Docker
#Flutter
#Mobile_App
#Python
#React_Native
#Responsive_Design
#UX/UI
#Vue
#Web_Development
Najtrudniejszym zadaniem było stworzenie architektury projektu składającej się z 9 różnych usług, które są połączone w jedną złożoną system. Musieliśmy stworzyć najbardziej odpowiednią bibliotekę interfejsu użytkownika, utworzyć komponenty interfejsu użytkownika i stworzyć wiele identycznych usług w krótkim czasie. Pierwotnym celem było stworzenie wszystkich tych 9 usług w ciągu 3 miesięcy. Wszystkie miały być wielowalutowe, wielojęzyczne, złożone systemy cenowe dla różnych rodzajów produktów. W zasadzie wszystkie te usługi to platformy handlowe, ale z dużo bardziej złożonym i większym funkcjonalnością do dodawania produktów. Na zwykłych platformach handlowych produkty są dodawane i sprzedawane według określonego szablonu. W naszym przypadku wszystkie te produkty znacznie się od siebie różnią i nie mogą być dopasowane do określonego szablonu.
Obecnie istnieją 2 najpopularniejsze frameworki do tworzenia aplikacji na wiele platform: React Native i Flutter. Istniała również możliwość tworzenia aplikacji natywnych dla każdego systemu operacyjnego mobilnego osobno, używając języków programowania Kotlin i Swift, ale zdecydowaliśmy się zrezygnować z tego pomysłu na rzecz rozwoju na wiele platform, ponieważ taki rozwój spełniał wszystkie potrzeby wynikające z tworzenia projektu. Ponadto taki rozwój zajmuje znacznie mniej czasu niż natywny, co również pasowało do naszych planów stworzenia wersji MVP projektu w ciągu 3 miesięcy. Wtedy musieliśmy wybrać między React Native i Flutter, i początkowo wybraliśmy Flutter i zrealizowaliśmy wersję MVP za jego pomocą. Następnie rozwijaliśmy i skalowaliśmy tę wersję, ale optymalizacja aplikacji znacząco się pogorszyła. Przeprowadziliśmy własne badania, podczas których stworzyliśmy identyczną aplikację w React Native i uzyskaliśmy znaczący wzrost prędkości ładowania aplikacji od 4 do 10 razy, dlatego kontynuowaliśmy rozwój aplikacji stworzonej w React Native. Zauważyliśmy również, że aplikacja w React Native zajmuje znacznie mniej miejsca w pamięci w porównaniu z Flutter. Udało nam się zmniejszyć rozmiar aplikacji z około 250 MB do 20 MB.
#Django
#Docker
#Flutter
#Mobile_App
#Python
#React_Native
#Responsive_Design
#UX/UI
#Vue
#Web_Development