Integracja aplikacji, najogólniej ujmując, jest procesem dostarczania zasobów lub możliwości z jednej aplikacji do drugiej. W miarę ewolucji świata aplikacji, integracja aplikacji jest oczekiwana w wielu kontekstach. Na przykład, jeśli kiedykolwiek używałeś poświadczeń Facebooka do zalogowania się do innej aplikacji, skorzystałeś z integracji aplikacji. Deweloper drugiej aplikacji oszczędził Ci kłopotów z dostarczaniem danych osobowych, integrując proces uwierzytelniania z Facebookiem.
Tworzenie aplikacji może nie tylko przynieść korzyści deweloperowi wykorzystującemu integrację aplikacji, ale można również utworzyć aplikację w taki sposób, aby można ją było zintegrować z innymi aplikacjami. Może to prowadzić do możliwości uzyskania przychodu lub zwiększenia zasięgu Twojej aplikacji lub platformy.
Integracja aplikacji: Podstawy
Prawie każda nowa aplikacja jest zazwyczaj połączeniem trzech ogólnych typów kodu: kodu źródłowego dostarczonego przez system operacyjny, kodu napisanego przez programistę, który jest specyficzny tylko dla tworzonej aplikacji, oraz kodu napisanego przez inne strony, które programista wykorzystuje w nowej aplikacji.
Kod zintegrowany z innych źródeł jest określany na różne sposoby, takie jak frameworki, biblioteki lub pakiety SDK (Software Development Kits). Chociaż istnieją różnice między tymi typami kodu, na potrzeby tego artykułu będziemy traktować je tak samo i używać terminu framework.
Framework to partia kodu, który żyje samodzielnie i jest kompilowany osobno. Jest napisany w konkretnym celu i zazwyczaj ma wąski zakres. Nowa aplikacja może nie integrować żadnych zewnętrznych struktur lub może wykorzystywać wiele. Opracowując projekt, twórca aplikacji rozważa, ile kodu musi napisać sam i ile będzie w stanie zintegrować.
Doświadczeni twórcy wiedzą jakie frameworki dostępne są aktualnie na rynku. Wiedzą, jak korzystać z istniejących frameworków w sposób, który przyniesie korzyść budowanej aplikacji – i kiedy tego nie robić. I wiedzą, jak zbudować swoją aplikację, aby jej części mogły stać się także częścią dla innych, jeśli jest taka potrzeba
Integracja aplikacji: Dostawcy frameworków
Wiele frameworków jest dostarczanych przez Apple i Google. Na przykład dla rzeczy takich jak przyciski, pola i obrazy. Kodują i zachowują podstawowe zachowanie tych elementów interfejsu, zapewniając ogromną funkcjonalność programistom zewnętrznym. Frameworki pozwalają programistom skupić się na rozwiązywaniu problemów biznesowych, a nie na określaniu szczegółów, które już zostały określone, np. na ile czasu między dwoma kolejnymi dotknięciami stanowi podwójne dotknięcie. Korzystanie z tych istniejących ram pomaga również zapewnić spójne zachowanie w różnych aplikacjach.
Frameworki mogą być również dystrybuowane przez osoby trzecie. Niektóre z tych frameworków mogą być edytowane przez innych programistów i nazywane są kodem „open source”. Kod źródłowy to oprogramowanie, którego większość użytkowników nigdy nie widzi. To sprawia, że aplikacja działa tak, jak działa. Oprogramowanie Open Source to oprogramowanie z kodem, który każdy może sprawdzać, modyfikować i ulepszać. Innymi słowy, gdy framework jest dystrybuowany jako open source, programiści mogą zmienić kod źródłowy, aby odpowiadał ich potrzebom. Niektóre frameworki są jednak rozpowszechniane bez kodu źródłowego. Ten typ dystrybucji umożliwia programistom zewnętrznym korzystanie z ich funkcji, ale nie może ich zmieniać. W tym przypadku kod źródłowy jest chroniony i niedostępny.
Integracja aplikacji: Funkcjonalność frameworków
Czasami frameworki zapewniają funkcjonalność, ale nie zawierają interfejsu użytkownika. Jeśli to konieczne, od niezależnego programisty zależy zapewnienie interfejsu. Na przykład aplikacja może wymagać od bieżącej lokalizacji użytkownika przedstawienia listy pobliskich sklepów detalicznych. Inna aplikacja może wykorzystywać te informacje o lokalizacji do gromadzenia ich i przekazywać informacje o tym, jak zatłoczony jest dany obszar. Frameworki udostępniają tylko informacje o lokalizacji, ale aplikacja określa, w jaki sposób wykorzystać te informacje w sposób cenny dla użytkowników.
Innym razem struktura zapewnia funkcjonalność i interfejs użytkownika. Mapy są tego doskonałym przykładem. Mapy Google i Mapy Apple zapewniają ogromną funkcjonalność, często wymagającą niewielkiej dodatkowej pracy dla programistów zewnętrznych. Deweloper może przydzielić obszar ekranu (lub cały ekran) do mapy, dodać trochę informacji o konfiguracji, takich jak to, czy bieżąca lokalizacja użytkownika powinna być wyświetlana, czy opcjonalnie podać listę pinezek, które mają być wyświetlane. Struktura map obsługuje prawie wszystkie ciężkie operacje, a deweloper nie musi pisać dodatkowego kodu.
Integracja aplikacji: Korzyści dla Twojej aplikacji
Jak już wspomniano, Apple i Google zapewniają ogromne frameworki, które sprawiają, że programiści mogą tworzyć aplikacje mobilne bez wysokich kosztów, które byłyby wymagane do „klepania kodu” każdego elementu. Podobnie wiele znanych aplikacji zorientowanych społecznie, które programiści mogą wykorzystać do ułatwienia połączeń między aplikacjami. Obejmuje to wszystko, od sieci relacji (np. LinkedIn, Tinder), po sieci udostępniania multimediów (np. YouTube, Flickr), sieci blogów lub publikowania (np. Reddit, Medium).
Istnieje również wiele innych firm oferujących mniejsze funkcje, podobne do frameworków, które można osadzić w aplikacji. Analityka użytkowania jest jedną z takich funkcji. Amazon, Google, Mixpanel i inne oferują frameworki, które będą rejestrować aktywność użytkowników w aplikacji i dostarczać te dane na serwer, na którym możesz przeglądać raporty i ulepszać swoją aplikację na podstawie wyników, które widzisz.
Ważne jest, aby pamiętać, że wykorzystanie istniejących danych nie zawsze jest możliwe. Na przykład, wyobraź sobie, że chcesz stworzyć kolejną świetną aplikację do współdzielenia jazdy. Mógłbyś skorzystać z algorytmów planowania trasy Uber lub Lyft. Pozwoliłoby to zaoszczędzić znaczne koszty rozwoju, ale nie jest możliwe, ponieważ firmy te nie oferują tej funkcji we frameworku. Ten kod jest dla nich przewagą konkurencyjną, więc utrzymują go jako prywatny.
Czasami nie jest rozsądnie korzystać z dostępnych danych. Należy upewnić się, że pochodzą one z wiarygodnego źródła, które będzie nadal obsługiwane tak długo, jak Twoja aplikacja istnieje. Kiedy framework jest dostarczany przez firmę lub niezależnego programistę, który traci zainteresowanie produktem, możesz zostać z wyzwaniem zastąpienia go lub usunięcia, gdy nie jest już kompatybilny ze zaktualizowanymi bazowymi platformami Apple i Google. To, co w krótkim okresie wydawało się szybkim i niedrogim rozwiązaniem, może stać się kosztowną propozycją, jeśli zostaniesz zmuszony do zastąpienia go później.
Integracja aplikacji: Budowanie aplikacji w celu użyczenia danych
A co, jeśli Twoja firma chce, aby programiści umieścili w swoich aplikacjach funkcje Twojej aplikacji? Jeśli utworzysz aplikację społecznościową, prawdopodobnie zainteresuje Cię jak najłatwiejsze publikowanie treści w aplikacji, bez względu na to, jak się tam dostanie. Możesz stworzyć strukturę ułatwiającą zewnętrznym programistom dodawanie funkcji publikowania swojej platformy do swojej aplikacji. Następnie, gdy inni programiści używają Twojej platformy do publikowania, płacą ci za każdym razem, gdy z niej korzystają. Jak wspomniano powyżej, możesz zapewnić tę funkcjonalność z dowolnym interfejsem użytkownika lub bez niego.
Istnieje wiele możliwości dla aplikacji biznesowych. Na przykład fakturowanie medyczne jest skomplikowane – wszystkie diagnozy i procedury mają powiązane kody numeryczne, które pojawiają się na rachunku medycznym pacjenta. Niektórych procedur nie można obciążać innymi procedurami. Niektóre procedury mogą być rozliczane tylko pod pewnymi warunkami. Jeśli byłeś firmą z doświadczeniem w zakresie rozliczeń medycznych zawartą w systemach oprogramowania, możesz spakować tę wiedzę w ramach, które udostępnisz innym firmom, aby włączyć je do swoich aplikacji. Uruchomienie na rynku medycznym może skupić się na rozwiązaniu unikalnego problemu w branży, ale nadal zapewniać klientom usługi rozliczeniowe, wykorzystując ramy rozliczeniowe. Dzięki temu oszczędza się czas i koszty niezbędne do opracowania własnej ekspertyzy rozliczeniowej.
Integracja aplikacji: Podsumowanie
Jeśli chcesz dodać funkcje do swojej aplikacji, integracja aplikacji może zaoszczędzić czas i pieniądze. Jeśli jesteś w stanie udostępnić framework innym osobom, taka integracja aplikacji może być dla Ciebie szansą na zwiększenie przychodów lub pomóc w poszerzeniu zasięgu Twojej aplikacji lub platformy. Skontaktuj się z nami, jeśli chcesz dowiedzieć się więcej.