Konferencje
Mobile Trends

Jak programuje się w 2023 roku – Trendy w oczach programistów

Aplikacje mobilne służą dzisiaj nie tylko do komunikacji z bliskimi czy przeglądania feedu. Pomagają nam w zarządzaniu finansami, zdrowiem, czasem czy pracą. Wszystko to sprawia, że ich rozwój jest obecnie jednym z najważniejszych trendów w dziedzinie IT. Właśnie dlatego, porozmawialiśmy z ich twórcami o trendach w programowaniu aplikacji mobilnych. 

Dosyć szeroko omawia się dla gremium perspektywę marketingu czy sprzedaży na zjawiska nazywane trendami rynkowymi. Postanowiliśmy jednak sięgnąć opinii gdzieś indziej. Sięgnęliśmy do źródła. Chcesz wiedzieć jak automatyzacja pomaga programistom? Interesują Cię nowinki w kodowaniu? Zostań z nami.

Czy automatyzacja dosięgnęła także kodowanie?

Artur Kurasiński w swoim newsletterze o dźwięcznej i wdzięcznej nazwie “Technofobia” pisze, że Generative AI z powodzeniem tworzy już kod. Codex od OpenAi jest nawet do tego specjalnie wyszkolony. Z Codexa korzysta też CoPilot. To duże wsparcie w pracy programistów. Sztuczna Inteligencja nie jest jeszcze w stanie ich zastąpić, ale może zwiększyć szybkość i efektywność procesu programowania. GitHub Copilot szkolony był na publicznych repozytoriach GitHuba. Dzięki czemu, po rozpoznaniu problemu, mógł posłużyć się kodem, napisanym już dla danego problemu. Wzrost popularności ChatGPT z końca zeszłego roku, pokazał, że istnieje ogromne zainteresowanie programistów narzędziami pozwalającymi na automatyczne kodowanie. Jednak sporo firm zastrzega programistom korzystanie z modelu. Niektóre firmy nie chcą uczyć sztucznej inteligencji swoich rozwiązań. Inni nie chcą robić sobie problemów prawnych. 

– GPT ma już spory wpływ na biznes, zwłaszcza w obszarach contentowych. Wyplywa też dość funkcjonalne kody, ale zachowałbym przy nich czujność. W kontekście kodowania, firmy mogą mieć wątpliwości do korzystania z kodu wygenerowanego przez tego typu modele. Prawa autorskie do takiego kodu są niejasne, co stanowi ryzyko w związku z jego użyciem. Sam ChatGPT twierdzi, że prawa autorskie do jego „dzieł” należą do jego operatorów, ale sposób działania modelu skłania nas do myślenia, że kod może być pochodną z open-source, chociażby z Github. W związku z tym, może być obciążony nieznaną nam licencją, np. „zaraźliwą” GPL – mówi Jakub Król, CEO w IT.focus.

Czy wszystkie aplikacje będą “super”?

Gartner mówi także o rozwijających się superaplikacjach, z których codziennie, do 2027 roku, ma korzystać więcej niż połowa z nas. Superaplikacje, nazywane też megaaplikacjami to określenie na rozwiązania, które łączą w sobie wiele różnych funkcjonalności czy nawet samym aplikacji. Ideą tej propozycji jest dostępność wielu usług w panelu jednego produktu cyfrowego. Dla użytkowników to czysta wygoda, a dla twórcy tego rozwiązania możliwość przywiązania użytkownika do konkretnej aplikacji na dłuższy czas. 

– Tworzenie aplikacji o dużych wymaganiach funkcjonalnych, wydajnościowych i bezpieczeństwa, takich jak superaplikacje, często wymaga zaangażowania zespołu o różnych specjalizacjach i doświadczeniu. Ale to nie wszystko. Równie ważnym byłoby zapewnienie odpowiednich narzędzi, umożliwiających programistom skuteczną i wydajną pracę. Kodowanie superaplikacji, podobnie jak w przypadku każdego innego projektu programistycznego, jest skomplikowane i wymaga dużej wiedzy i umiejętności. Jednakże nie różni się to bardziej od innych projektów. Czy będziemy mieć ich więcej? Jeśli biznes zobaczy w tym wartość, to tak! –  mówi Marcin Lenkowski, Expert Backend Developer w Escola.  

Ekspert podkreśla, że poza samym programowaniem i faktycznym tworzeniem oprogramowania, niezmiennie ważna jest komunikacja, w której pomaga Event Storming. Kluczowe jest zrozumienie tego, jakie są cele wszystkich zaangażowanych w projekt osób.

Czy czekają nas bezpieczniejsze aplikacje?

Synopsys Inc raportuje, że co najmniej 80% aplikacji ma luki w bezpieczeństwie, a aplikacje bankowe, płatnicze i budżetowe są szczególnie narażone na ataki. Zidentyfikowano, że 63% aplikacji zawierało komponenty open source z co najmniej jedną znaną luką w zabezpieczeniach, a średnio każda aplikacja zawierała 39 luk. Co więcej, aż 73% z tych luk nie zostało naprawionych, mimo dostępnej wiedzy na temat ich istnienia i sposobów ich naprawy. Wskazuje to na częsty brak należytej ostrożności biznesu. Programiści często nie mają czasu lub środków, by wyłapać wszystkie błędy. Co więcej, częstym problemem są wycieki informacji. 

– Bezpieczeństwo aplikacji to proces ciągły, który wymaga regularnych testów i aktualizacji zabezpieczeń. Odpowiednie dokumentowanie wyników testów i komunikacja z zespołem programistycznym są tutaj kluczowe. Z doświadczenia wiem, że sporo luk wynika po prostu z pośpiechu. Czasem warto przesunąć termin, gdy na szali jest bezpieczeństwo użytkownika. Jednak z dnia na dzień, rosną możliwości wykrywania luk ich redukcji, co wpływa na widoczny wzrost bezpieczeństwa aplikacji – mówi Marcin Baradziej, QA Specialist w Escola.

Czy low-code i no-code w końcu opanują świat programistów?

Według Gartnera światowy rynek Low-Code w 2023 roku osiągnie wartość 26,9 mld dolarów. To wzrost o prawie 20% w stosunku do 2022 roku. Widzimy więc, że rynek coraz żywiej spogląda w stronę tego obszaru. Prawdopodobnie dlatego, że to kolejny element automatyzacji. No-code i low-code to podejście do tworzenia aplikacji bez konieczności pisania kodu w konkretnych językach programowania. Zamiast tego, narzędzia te pozwalają na tworzenie aplikacji poprzez prosty zestaw czynności (drag-and-drop) oraz składanie gotowych komponentów i bloków funkcjonalnych. Do tej pory narzędzia te były dosyć ograniczone. To powód wykorzystywania ich w dość niszowych projektach. Jak zauważa Maciej Olanicki na łamach bulldogjob.pl, ten stan szybko ulega zmianie. Możliwości zestawów do tworzenia tego rodzaju aplikacji rosną. Zdaniem Dominika Piętonia, narzędzia low- i no-code mogą przydać się szczególnie designerom. Znając założenia projektu i mając konkretne dane z badań, rozwiązania tego typu pomagają prototypować pomysły. Te mogą być od razu sprawdzane przez biznes lub użytkowników i rozwijane przez programistów. Specjaliści UX bez żadnego języka programowania mogą już tworzyć proste, ale funkcjonalne aplikacje end to end, które mogą sprawiać wrażenie, jakby były realizowane przez cały zespół. Nawet Biedronka skorzystała z tej technologii, co wiemy dzięki Michałowi Szklarskiemu z Jeronimo Martins, który na MTC zdradził case study wdrożenia aplikacji Biedronki w oparciu o platformę OutSystems.

 – Low-Code/No-Code to fascynujący obszar, który zyskuje na popularności wśród klientów. Te narzędzia stają się coraz bardziej dostępne. Są idealne dla osób bez specjalistycznej wiedzy technicznej. W prosty sposób można stworzyć przyzwoitą aplikację. Jednak może nie być w stanie sprostać bardziej złożonym wymaganiom, które wymagają customowego rozwiązania lub specjalistycznej wiedzy programistycznej. Mimo to, jestem przekonany, że Low-Code/No-Code już dzisiaj ma wiele możliwości. A w przyszłości może mocno przyspieszyć cały proces tworzenia cyfrowych produktów – mówi Dominik Piętoń, UX/UI Designer w Escola.

Będzie więcej apek opartych o blockchain?

Blockchain to technologia, która w ostatnich latach zyskała ogromną popularność ze względu na swoje zastosowania w dziedzinie kryptowalut. Jednak jej perspektywy wykraczają daleko poza to jedno zastosowanie. Blockchain ma potencjał, aby zmienić wiele dziedzin naszego życia, w tym finanse, ubezpieczenia, łańcuchy dostaw, ochronę danych i wiele innych. Zdecentralizowane aplikacje zdobywają coraz większą popularność. Według mfiprojects.com, w obiegu znajduje się ponad 70 milionów portfeli blockchain, z czego portfele mobilne cieszą się największą popularnością. Obserwujemy także rozwój konwerterów walut opartych na technologii blockchain, które wykorzystują ją do śledzenia zasobów cyfrowych, weryfikacji tożsamości oraz zarządzania programami lojalnościowymi. 

— Jednym z głównych atutów blockchain jest fakt, że to technologia rozproszona. Nie ma centralnej instancji, która kontrolowałaby cały system. Dzięki temu zapewnia wysoki poziom bezpieczeństwa, ponieważ każda transakcja musi zostać zatwierdzona przez wiele węzłów w sieci, co utrudnia manipulację danymi. Jednak blockchain ma również swoje ograniczenia. Wdrożenie blockchaina wymaga skomplikowanej infrastruktury oraz specjalistycznej wiedzy, co może być kosztowne i czasochłonne. Wykorzystanie tej technologii jest zasadne tylko wtedy, gdy mamy do czynienia z dużą ilością transakcji, które wymagają wysokiego poziomu bezpieczeństwa. W mniejszych projektach czy aplikacjach blockchain może okazać się zbyt skomplikowany i kosztowny – mówi Krystian Habrych, Frontend Developer w Escola..

Czy na naszych oczach rośnie znaczenie podejścia headless?

Headless to podejście do projektowania aplikacji internetowych, w którym interfejs użytkownika jest całkowicie oddzielony od logiki biznesowej i bazy danych. Ta rozdzielność pozwala na większą elastyczność i skalowalność aplikacji. To także łatwość we wdrażaniu nowych funkcjonalności. Zainwestowanie w headless może być korzystne dla firm, które chcą szybko reagować na zmieniające się wymagania klientów i rynku. Nic dziwnego, że technologia ta zyskuje na znaczeniu. Dzięki niej można łatwo wprowadzać zmiany w interfejsie użytkownika bez ingerencji w logikę biznesową aplikacji. Ponadto, headless pozwala na użycie różnych technologii frontendowych, co zwiększa możliwości personalizacji interfejsu.

Headless umożliwia łatwiejsze, niezależne i dużo bardziej elastyczne wdrożenia rozwiązań biznesowych. Pozwala też błyskawiczne łącznie funkcji z różnych rozwiązań headlessowych w jedną spójną aplikację odpowiadającą potrzebom klienta. W standardowym podejściu, wszystkie mechanizmy z użytych rozwiązań trzeba by wdrożyć samodzielnie w jednym monolitycznym systemie. W przypadku Headless, możemy łączyć gotowe usługi na zasadach wręcz low codeowych. Headless pozwala też na niezależny rozwój aplikacji dla różnych kanałów dystrybucji i urządzeń, nie ma żadnego problemu by do istniejącego sklepu internetowego stworzyć dodatkowo aplikację mobilną, albo nawet aplikację na automat POS. Zauważamy coraz większe zainteresowanie tym podejściem u dużych klientów e-commersowych, dlatego przewiduję, że trend będzie kontynuowany, a wiele istniejących rozwiązań będzie powoli migrować w stronę rozwiązań Headless –  mówi Artur Mędrygał, Lead Frontend Developer oraz CoFounder w Heseya.

Może Cię zainteresować: Jak headless podnosi jakość sklepu internetowego

Podsumowanie

W kontekście biznesu, GPT ma znaczne wpływy. W przypadku kodowania, sprawa nie jest już tak oczywista. Co prawda istnieją systemy mogące generować kody na postawione problemy. Struktura takiego kodu może i jest jasna, ale sposób jego pochodzenia i licencje, na których operuje mogą nie być już tak łatwe do weryfikacji. Dlatego korzystanie z kodu wygenerowanego przez modele SI mogą budzić wątpliwości, jeśli pochodzą od zewnętrznych dostawców. Głównie z powodu niejasnych praw autorskich. Firmy mogą też nie chcieć dzielić się swoimi strategiami ze sztuczną inteligencją, do której dostęp mają konkurenci. Elementem automatyzacji jest też Low-Code/No-Code. To coraz popularniejszy obszar, pozwalający na szybkie tworzenie prototypów aplikacji czy prostych produktów. Jednak może nie sprostać złożonym wymaganiom.

Coraz więcej mówi się też o superaplikacjach. Tych może być więcej. O ile biznes zauważy w nich wartość. Nie mniej ważne będzie bezpieczeństwo. Poziom świadomości zagrożeń jest wciąż podnoszony. Testerzy aplikacji przekonują, że to proces ciągły, wymagający regularnych testów i aktualizacji, ale technologia usprawnia ten aspekt. Blockchain zapewnia wysoki poziom bezpieczeństwa dzięki technologii rozproszonej, ale wymaga skomplikowanej infrastruktury oraz specjalistycznej wiedzy, więc nie wszędzie będzie dobrym rozwiązaniem. Okazuje się, że coraz więcej do powiedzenia ma też MACH, szczególnie headless. Możemy więc spodziewać się coraz więcej implementacji na tym polu.

Udostępnij
Mobile Trends
Zobacz także