Programowanie międzyplatformowe


Problemy klienta

Z czym przychodzą do nas klienci

Firmy często zwracają się do firm zajmujących się tworzeniem aplikacji międzyplatformowych, gdy muszą ograniczyć duplikację między platformami mobilnymi, zsynchronizować wydania lub określić, jaki zakres funkcjonalności powinien być współdzielony między systemami iOS i Android.


Przegląd usług

Pełny cykl rozwoju aplikacji wieloplatformowych – od architektury po długoterminowe wsparcie

Nasze usługi w zakresie tworzenia aplikacji wieloplatformowych mogą obejmować pełen zakres tworzenie aplikacji mobilnych Cykl życia, obejmujący architekturę, wdrożenie, testowanie, wydania sklepowe, migrację i ciągły rozwój funkcji. Zakres jest definiowany dla każdego projektu i może obejmować od nowego produktu mobilnego po konsolidację istniejących aplikacji na iOS i Androida.

Rozwój nowych produktów

Projektujemy i tworzymy aplikacje na iOS i Androida w oparciu o wspólną bazę kodu, z modułami specyficznymi dla danej platformy dodawanymi w razie potrzeby. Zakres prac może obejmować architekturę aplikacji, obsługę danych, funkcjonalność offline, interfejsy użytkownika oraz integrację z istniejącymi usługami zaplecza.

Migracja istniejących aplikacji natywnych

Możemy dokonać przeglądu istniejących repozytoriów iOS i Android, ocenić zależności i funkcjonalność specyficzną dla danej platformy oraz zdefiniować strategię migracji przyrostowej. Wybrane funkcjonalności można przenieść do współdzielonej implementacji, a istniejące aplikacje będą nadal obsługiwane w trakcie okresu przejściowego.

Architektura i strategia współdzielenia kodu

Definiujemy, która logika biznesowa, przetwarzanie danych, komponenty interfejsu użytkownika i inne funkcje mogą być współdzielone, a które powinny pozostać specyficzne dla danej platformy. Decyzja podejmowana jest na podstawie wymagań dotyczących urządzenia, oczekiwań dotyczących wydajności, istniejących umiejętności inżynierskich, integracji oraz konwencji platformy.

Integracja na poziomie urządzenia

W przypadku gdy współdzielona infrastruktura nie zapewnia bezpośredniego dostępu do wymaganej funkcjonalności, można opracować moduły natywne lub specyficzne dla platformy, zapewniające dostęp do sprzętu, wykonywanie zadań w tle, dane biometryczne, zastrzeżone zestawy SDK i inne funkcje na poziomie urządzenia.

Wydania i prace w toku

Możemy przygotowywać kompilacje, wspierać zgłoszenia do App Store i Google Play oraz zapewniać ciągłą pracę inżynieryjną w miarę rozwoju wersji systemu operacyjnego, struktur, zależności i wymagań produktu.


Problem i rozwiązanie

Problem

Utrzymywanie oddzielnych aplikacji natywnych może dublować logikę biznesową, nakłady testowania, koordynację wydań i prace konserwacyjne na platformach iOS i Android. Wraz z rozwojem produktów, funkcjonalność może się różnić między platformami, co utrudnia utrzymanie synchronizacji wydań i spójnych doświadczeń użytkowników.

Podejście Solbega

Definiujemy, które części produktu powinny być współdzielone, a które powinny pozostać specyficzne dla danej platformy. Logika biznesowa, przetwarzanie danych, komponenty interfejsu użytkownika, nawigacja i inne funkcje mogą być współdzielone, jeśli jest to technicznie uzasadnione, podczas gdy dostęp do sprzętu i specyficzne dla danej platformy zachowania pozostają w modułach natywnych. Testowanie obejmuje obie platformy w całym procesie rozwoju, co pozwala na identyfikację różnic przed wydaniem. Nasze usługi rozwoju wieloplatformowego mogą również obejmować skoordynowane tworzenie, wydanie i wsparcie po uruchomieniu dla obu platform.


Przypadków użycia

Kiedy wybrać tworzenie aplikacji mobilnych na wiele platform

Firmy zamawiają usługi tworzenia wieloplatformowych aplikacji mobilnych w różnych sytuacjach.

Utrzymywanie oddzielnych zespołów ds. konkretnych platform może być trudne do uzasadnienia, gdy produkt mobilny ma ograniczony zakres funkcji lub częstotliwość wydań. Podejście oparte na wspólnej bazie kodu może ograniczyć powielanie prac inżynieryjnych i konserwacyjnych tam, gdzie wymagania produktu to uzasadniają.

Umowa, kampania, partnerstwo lub premiera produktu mogą wymagać, aby wersje na iOS i Androida były dostępne w tym samym oknie wydania. Rozwój międzyplatformowy może uprościć koordynację, gdy większość funkcjonalności jest współdzielona.

Funkcje mogą pojawiać się na jednej platformie znacznie wcześniej niż na drugiej, co powoduje różnice w doświadczeniu użytkownika i wsparciu. Konsolidacja większej liczby funkcji w ramach wspólnej implementacji może pomóc w zapewnieniu parytetu funkcji.

Usługi terenowe, logistyka, magazynowanie, sprzedaż detaliczna i inne wewnętrzne aplikacje mogą być dobrymi kandydatami, gdy większość złożoności wynika ze współdzielonych przepływów pracy, a logika biznesowa i funkcjonalność specyficzna dla platformy są stosunkowo ograniczone.

Firma może potrzebować działających aplikacji na obu platformach mobilnych, aby przetestować popyt przed zainwestowaniem w głębszą optymalizację pod kątem konkretnej platformy. Rozwój międzyplatformowy może zapewnić praktyczny sposób weryfikacji produktu z udziałem rzeczywistej grupy odbiorców.

Wewnętrzny zespół może nie mieć już możliwości utrzymywania dwóch niezależnych natywnych stosów, podczas gdy produkt wciąż wymaga stałego wsparcia i rozwoju.

Aplikacje do zarządzania treścią, rezerwacjami, zarządzaniem kontami, transakcjami i podobne często w dużym stopniu opierają się na danych po stronie serwera i współdzielonych przepływach pracy. Produkty te mogą być dobrymi kandydatami do współdzielonej implementacji mobilnej, gdy wymagania specyficzne dla danej platformy są ograniczone.


Szczegółowy zakres prac

Co obejmuje tworzenie aplikacji wieloplatformowych

Projekt rozwoju aplikacji wieloplatformowej może obejmować poniższe strumienie prac. Dokładny skład zależy od produktu, istniejących systemów, wybranej struktury i uzgodnionego zakresu dostaw.

Inżynieria warstwy współdzielonej

Warstwa współdzielona może obejmować architekturę, nawigację, zarządzanie stanem, logikę biznesową, działanie w trybie offline i synchronizację, obsługę błędów i pamięć lokalną. Elementy te można ponownie wykorzystać w systemach iOS i Android.


Dlaczego Solbeg

Dlaczego warto współpracować z Solbeg w zakresie rozwoju wieloplatformowego

Solbeg łączy doświadczenie w zakresie rozwiązań wieloplatformowych i natywnych rozwiązań mobilnych, aby dostarczać aplikacje, które łączą wydajność programowania z wymaganiami specyficznymi dla danej platformy. Nasze zespoły zajmują się doborem frameworków, projektowaniem UI/UX, inżynierią, kontrolą jakości, integracją i ciągłym rozwojem w ramach jednego zakresu dostaw.

Wybór ram nie jest ustalany na podstawie tego, co nam się przytrafia

Solbeg współpracuje zarówno z Flutter, jak i React Native. Dzięki temu wybór frameworka może być oparty na wymaganiach interfejsu, istniejących umiejętnościach inżynierskich, architekturze produktu, oczekiwaniach dotyczących wydajności oraz zestawach SDK innych firm lub możliwościach platformy, których potrzebuje produkt, a nie na pojedynczej dostępnej technologii.


Porównanie

Podejścia do rozwoju międzyplatformowego

Solbeg dysponuje zasobami inżynierskimi zarówno w zakresie Flutter, jak i React Native, dzięki czemu rekomendacje mogą opierać się na produkcie, a nie na pojedynczym dostępnym frameworku. Przy porównywaniu opcji szczególnie przydatne są trzy czynniki: wymagania dotyczące interfejsu, istniejący stos inżynieryjny klienta oraz zestawy SDK lub możliwości platformy, których potrzebuje produkt.

Flutter

Flutter doskonale sprawdzi się w przypadku produktów wymagających wysoce spójnego, dostosowanego interfejsu na różnych platformach, złożonych układów wizualnych lub wspólnego podejścia do renderowania dla systemów iOS i Android.

React Native

React Native może być dobrym wyborem dla organizacji specjalizujących się w językach JavaScript, TypeScript lub React oraz dla produktów, których aplikacje mobilne wykorzystują wspólne koncepcje, reguły walidacji, modele API lub praktyki inżynieryjne z istniejącym produktem internetowym.

Wspólne reguły, oddzielne interfejsy

To podejście może być odpowiednie dla produktów, które wymagają odrębnych natywnych interfejsów dla systemów iOS i Android, a jednocześnie współdzielą logikę domeny, sieć, pamięć masową, reguły synchronizacji lub kontrolę dostępu.



Przetwarzanie

Jak Solbeg dostarcza aplikacje wieloplatformowe

Typowa współpraca z firmą zajmującą się tworzeniem aplikacji wieloplatformowych może przebiegać w pięciu etapach, których szczegółowość i kolejność dostosowują się do projektu, istniejącego produktu i modelu dostarczania.

  1. odkrycie

    Gromadzimy wymagania funkcjonalne, punkty integracji, obsługiwane urządzenia, ograniczenia platformy i istotne wymagania biznesowe. Jeśli problem dotyczy istniejącego produktu, możemy również przeanalizować repozytoria, zależności, analizy i znane defekty.

  2. Definicja architektury i zakresu

    Określamy, co powinno pozostać współdzielone, a co powinno być specyficzne dla danej platformy, ustalamy początkowy zakres wydania, wybieramy podejście techniczne i przygotowujemy wycenę na podstawie tego zakresu.

  3. Konfiguracja i wdrażanie zespołu

    Inżynierowie otrzymują dostęp do repozytoriów, środowisk, plików projektowych, dokumentacji zaplecza oraz narzędzi do współpracy. Procesy rozwoju, kompilacji, testowania i komunikacji są przygotowywane przed rozpoczęciem wdrożenia.

  4. Iteracyjne dostarczanie i zapewnianie jakości

    Rozwój może przebiegać stopniowo, a instalowalne kompilacje na systemy iOS i Android są udostępniane do wglądu w miarę rozwoju produktu. Testowanie może odbywać się przez cały okres dystrybucji, co pozwala na identyfikację problemów związanych z parzystością, integracją i specyfiką platformy przed wydaniem.

  5. Wydanie i kontynuacja pracy

    Możemy przygotować zgłoszenia do sklepu, wesprzeć proces recenzji, monitorować stabilność po wprowadzeniu produktu na rynek i kontynuować prace rozwojowe w oparciu o analizę produktu, ustalenia techniczne i plan działania klienta.


FAQ

Często zadawane pytania dotyczące rozwoju międzyplatformowego

Bierzemy pod uwagę wymagania dotyczące interfejsu, technologie inżynieryjne już wykorzystywane przez zespół klienta, oczekiwania dotyczące wydajności, funkcjonalność specyficzną dla danej platformy oraz pakiety SDK innych firm, które muszą zostać zintegrowane. Rekomendacja może zostać udokumentowana na etapie definiowania zakresu, aby klient mógł przeanalizować techniczne kompromisy przed rozpoczęciem implementacji.

Wydajność zależy od obciążenia aplikacji, złożoności interfejsu użytkownika, frameworka, integracji i wymagań specyficznych dla danej platformy. Wiele aplikacji biznesowych może osiągnąć odpowiednią wydajność dzięki architekturze wieloplatformowej, natomiast funkcje wymagające dużej mocy obliczeniowej, wrażliwe na opóźnienia, wymagające dużego obciążenia sprzętowego lub ściśle zależne od platformy mogą skorzystać z implementacji natywnej.

Tak. W zależności od istniejącej architektury, konsolidację można zaplanować stopniowo, zamiast wymagać jednorazowego, całkowitego przepisania. Możemy zidentyfikować, które komponenty są silnie zależne od interfejsów API platformy, a które funkcjonalności biznesowe lub warstwy danych można przenieść do wspólnej implementacji. Podejście do migracji można zaprojektować tak, aby zapewnić ciągłe wsparcie produktu podczas przejścia.

Możliwości te mogą być obsługiwane za pośrednictwem bibliotek frameworka lub implementowane za pomocą modułów natywnych, w przypadku których wymagany jest bezpośredni dostęp do platformy. Własne pakiety SDK, specjalistyczny sprzęt lub funkcjonalności nieobjęte wybranym frameworkiem można oszacować osobno podczas definiowania architektury i zakresu.

Tak, jeśli jest to częścią wymagań projektowych. Wzory nawigacji, elementy sterujące, typografia, gesty i inne konwencje różnią się między systemami iOS i Android i można je odpowiednio dostosować. Jeśli produkt wymaga celowo identycznego wyglądu na obu platformach, można to również zdefiniować na etapie projektowania produktu i interfejsu.

Trwałość frameworka i stabilność ekosystemu to czynniki brane pod uwagę podczas planowania architektury. Solbeg może zmniejszyć ryzyko zależności poprzez oddzielenie współdzielonej logiki biznesowej, integracji specyficznych dla platformy oraz komponentów zależnych od frameworka, o ile wybrana architektura obsługuje taką separację. Utrzymanie frameworka i zależności powinno być również uwzględnione w długoterminowym planie technicznym produktu.

Porównaj, jak każdy dostawca definiuje granicę między kodem współdzielonym a kodem specyficznym dla platformy, jak obsługiwane są aktualizacje frameworka i systemu operacyjnego po premierze, co obejmuje testowanie pokrycia urządzeń i systemów operacyjnych, jak dostarczane są natywne integracje oraz kto zarządza zgłoszeniami do sklepów. Warto również zrozumieć uzasadnienie wcześniejszych decyzji dotyczących architektury, zamiast porównywać wyłącznie listy frameworków. Obowiązki związane ze wsparciem, własnością i konserwacją powinny zostać wyjaśnione przed rozpoczęciem współpracy.


Nasi Klienci

Używamy pliki cookies w celu optymalizacji witryny i zwiększenia komfortu jej użytkowania.

zgadzam się