Wieloplatformowość tylko dla wybranych, czy aby na pewno?

Obecnie producent oprogramowania, który chce dotrzeć do większej rzeszy odbiorców musi się z mierzyć z faktem iż na dzień dzisiejszy nie można podać jednej królującej na rynku pod względem popularności platformy operacyjnej. statystyki pokazują że rynek środowisk software-owy cechuje się niespotykaną jak dotąd różnorodnością. Wobec tego czy jeśli chcemy dotrzeć z naszym oprogramowaniem do jak największej ilości ludzi to czy skazani jesteśmy na armie programistów?

Wieloplatformowość tylko dla wybranych, czy aby na pewno?
Michał Mnich

Obecnie dane dotyczące udziału w rynku systemów operacyjnych przedstawia się następująco:

Wśród desktopów:

Systemy operacyjne udział w rynku desktop.
Systemy operacyjne udział w rynku desktop.© https://www.netmarketshare.com/

Natomiast jeśli chodzi o systemy mobile:

Systemy operacyjne udział w rynku mobilnym
Systemy operacyjne udział w rynku mobilnym© https://www.netmarketshare.com/

Co z tego możemy wywnioskować? Otóż że jeżeli chcemy by nasz produkt był dostępny dla każdego musielibyśmy posiadać wszechstronnego programistę płynnie poruszającego się w co najmniej kilku językach naraz lub zespół, który przepisze to samo oprogramowanie na każdy z systemów operacyjnych. Obie z powyższych strategi są stosunkowo popularne w firmach zajmujących się wytwarzaniem oprogramowania niestety takie kopiowanie programów niesie za sobą uciążliwe konsekwencje. Oczywiście najbardziej uciążliwą jest czas stracony na powielanie tej samej idei w różnego rodzaju językach oraz wielokrotne testowanie jej. Następnie każda wersja takiego oprogramowania wymaga osobnego wsparcia co także angażuje dodatkowe moce przerobowe oraz podnosi koszty.

Podsumowując małe firmy bądź freelancerzy mają bardzo ograniczone możliwości w byciu wszechstronnym na rynku.

Powiecie pewnie taki los, że bycie multi-platformowym to domena wielkich otóż nie!

Wcale tak nie musi być. Jeżeli mówimy o środowiskach desktopowych to sytuacja jest dość prosta piszemy w Javie bądź w C++ z uwzględnieniem specyfiki systemów do tego grona niedługo dołączy także .Net, który ma zamiar wkroczyć do systemów o architekturze UNIX (np. Mac os, Linux). Jak pisanie takich programów wygląda technicznie to temat na osobny artykuł na razie postaram się wam przedstawić sama ideę i technologie ją wpierające.

Przedstawiłem pewne rozwiązanie problemu, które można z powodzeniem stosować do desktopu ale co z urządzeniami mobilnymi? Tutaj sytuacja jest o wiele bardziej skomplikowana oczywiście można zostać kimś w stylu mnicha tybetańskiego i samemu studiując specyfikacje poszczególnych systemów pisać miesiącami w krzyżówce C i Asemblera multiplatformowego pacmana działającego także na pralce ale poco? Pojawił się szereg wieloplatformowych silników dla developerów oprogramowania mobilnego. Osobiście przetestowałem parę i przedstawię wam te które spodobały mi się najbardziej.

Zaczniemy od narzędzia które gdyby było darmowe mogłoby się stać przyjacielem każdego programisty .Net

  1. Xamarin.

Jest to platforma pozwalająca na tworzenie aplikacji mobilnych w języku C# wspaniale współpracująca z VisualStudio. Nie wymaga skomplikowanej instalacji po prostu ściągamy wtyczkę z internetu i działamy. Mnie w ramach testów w ciągu paru godzin udało się napisać bardzo prostą grę polegającą na odbijaniu piłki od ściany. Jeśli chcecie się pobawić możecie ją ściągnąć z githuba LINK. Ogólnie polecam ale trzeba się wykosztować.

  1. Unity

Jeśli lubicie tworzyć gry komputerowe to powinien zainteresować was ten silnik gier. Programuje się w języku C#. Co istotne z punktu widzenia tego artykułu Unity pozwala na wdrożenie naszej gry na praktycznie dowolne środowisko mobilne jak i desktopowe.

  1. Sencha

Jeśli jesteście początkującymi programistami lub nie potrzebujecie tworzyć skomplikowanych aplikacji to będzie dla was idealne narzędzie. Sencha pozwala pisać aplikacje przy użyciu HTML5, CSS oraz JavaScript, które są następnie są kompilowane do postaci aplikacji na IOS lub Androida.

Inne interesujące środowiska godne uwagi to Corona i QT wymagają już większej wiedzy programistycznej ale są jak najbardziej godne uwagi. QT używa C++.

Podsumowując obecnie każdy programista, czy to freelancer, czy członek wielkiej korporacji jeśli chce dotrzeć ze swoim produktem do jak największego grona klientów powinien poważnie pomyśleć o rozwiązaniach Cross-platformowych.

Źródło artykułu:WP Gadżetomania
Wybrane dla Ciebie
Komentarze (3)
© Gadżetomania
·

Pobieranie, zwielokrotnianie, przechowywanie lub jakiekolwiek inne wykorzystywanie treści dostępnych w niniejszym serwisie - bez względu na ich charakter i sposób wyrażenia (w szczególności lecz nie wyłącznie: słowne, słowno-muzyczne, muzyczne, audiowizualne, audialne, tekstowe, graficzne i zawarte w nich dane i informacje, bazy danych i zawarte w nich dane) oraz formę (np. literackie, publicystyczne, naukowe, kartograficzne, programy komputerowe, plastyczne, fotograficzne) wymaga uprzedniej i jednoznacznej zgody Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, będącej właścicielem niniejszego serwisu, bez względu na sposób ich eksploracji i wykorzystaną metodę (manualną lub zautomatyzowaną technikę, w tym z użyciem programów uczenia maszynowego lub sztucznej inteligencji). Powyższe zastrzeżenie nie dotyczy wykorzystywania jedynie w celu ułatwienia ich wyszukiwania przez wyszukiwarki internetowe oraz korzystania w ramach stosunków umownych lub dozwolonego użytku określonego przez właściwe przepisy prawa.Szczegółowa treść dotycząca niniejszego zastrzeżenia znajduje się  tutaj.