Tworzenie aplikacji na Androida – jakich użyć narzędzi?

Urządzenia z systemem Android są na tyle powszechne, że tworzenie aplikacji na Androida jest popularne nawet wśród osób niezajmujących się na co dzień programowaniem. Jakie narzędzia cieszą się powodzeniem i kto ich może używać? Czy do stworzenia aplikacji mobilnych konieczna jest szeroka wiedza programistyczna?

Proste środowiska umożliwiające tworzenie aplikacji na Androida

Czy każdy, kogo interesuje tworzenie aplikacji na Androida, może to robić? Twórcy systemu Android, czyli konsorcjum współtworzone przez Google, założyli, że tak, opracowując środowisko App Inventor. To oprogramowanie dedykowane do modułowego projektowania i programowania aplikacji Android obecnie rozwijane jest przez MIT. Umożliwia intuicyjne programowanie aplikacji mobilnych dzięki interfejsowi w stylu “przeciągnij i upuść”. Stworzenie prostego panelu użytkownika i uzupełnienie go o funkcjonalności z wykorzystaniem dostępnych elementów odbywa się w oknie przeglądarki Chrome lub Firefox. Liczne tutoriale, szerokie aktywne fora użytkowników oraz stale rozwijana bogata dokumentacja pozwala na tworzenie aplikacji bez konieczności zgłębiania kodu źródłowego. Wystarczy wykorzystać aplikacje webowe MIT APP Invertor logując się kontem Google, a po ukończeniu projektu z właściwą konfiguracją można stworzoną aplikację dodać do sklepu Google Play.

Zaawansowane tworzenie aplikacji na Androida – SDK i środowiska programistyczne

Jednak często innowacyjne tworzenie aplikacji na Androida wymaga wykorzystania zaawansowanych zdolności programistycznych oraz dedykowanych, zintegrowanych środowisk. Jednym z oficjalnie polecanych języków programowania, wykorzystywanym w niejednym software house, jest Kotlin. Bazuje na maszynie wirtualnej Java. Semantyką i syntaktyką jest zbliżony do najpopularniejszego języka programowania, dzięki czemu każdy programista Java bez problemów może się na niego przestawić. Ale również na przykład .NET developer, dzięki współczesnym zaawansowanym funkcjonalnościom środowiska programistycznego Visual Studio ma możliwość tworzenia aplikacji mobilnych. Prawie każdy większy SDK udostępnia odpowiednie narzędzia, często jako dodatek lub wtyczka. Przeczytaj też: Tworzenie aplikacji mobilnych – jak one powstają?

Główne etapy obejmujące tworzenie aplikacji na Androida – narzędzia wspierające pracę

Programowanie aplikacji mobilnych o zaawansowanej funkcjonalności to bardzo często praca zespołowa wielu specjalistów z różnych dziedzin. Obejmuje ona projektowanie aplikacji zgodne z określonymi wcześniej i na bieżąco weryfikowanymi wymaganiami, etap implementacji, testowanie a na koniec wdrożenie. W każdym z kroków pomogą nie tylko dedykowane środowiska programistyczne, ale również repozytoria kodu źródłowego czy nawet systemy klasy ERP do planowania zasobów w przypadku większego projektu. Każde profesjonalne wytwarzanie oprogramowania wiąże się z równolegle tworzoną dokumentacją. Wiele środowisk posiada wspomniane elementy, umożliwiające optymalną kooperację i spójność tworzonych projektów. Dzięki temu tworzenie aplikacji mobilnych kończy się sukcesem – zgodną z wymaganiami działającą aplikacją oddaną na czas do użytkowania.

Złośliwe oprogramowanie na androidzie

Coś w telefonie nie działa jak powinno? Może warto sprawdzić czy nie zachorował na malware?

Ads Blocker jako przykład malware

Złośliwe oprogramowanie na telefonach komórkowych, zwłaszcza opartych o Androida, jest coraz sprytniejsze. Przykładowo, aplikacja o nazwie Ads Blocker była reklamowana jako przydatne narzędzie do ograniczenia wyświetlania niepożądanych reklam, zasłaniających ekran akurat teraz gdy potrzebujemy do niego dostęp W rzeczywistości program nie tylko niczego nie blokował ale sam wyświetlał kolejne reklamy.

To tylko jedna z plag dotykających użytkowników Androida, i tak już przemęczonych wyświetlaniem reklam. Najczęściej bezsensownych, bo zawartych w bezpłatnych aplikacjach i nakłaniających ich do zakupu zupełnie niezwiązanego z nimi oprogramowania, które jest im do niczego niepotrzebne. Czemu są one ciągle tak popularne? Bo złośliwe oprogramowanie symuluje fałszywe kliknięcie reklamy i zwiększa w ten sposób zyski z ich „oglądania”.

Badacze twierdzą, że adware takie jak Ads Blocker jest najczęstszym typem złośliwego oprogramowania na urządzeniach z systemem Android. Jednak inni przedstawiciele gatunku malware potrafią robić gorsze rzeczy niż sprawić, że telefon będzie frustrujący - na przykład ukraść dane osobowe.

Złośliwe oprogramowanie coraz częściej skutecznie dezorientuje użytkownika co do swojej prawdziwej funkcji. Niedawno Malwarebytes poinformowało, że odkryto blisko 200.000 instalacji malware w urządzeniach ich użytkowników w samym tylko maju 2020 roku. Jak więc poznać, że mamy złośliwe oprogramowanie w telefonie i jak go zatrzymać?

Dwa rodzaje działania malware

Malware działa zasadniczo na jeden z dwóch sposobów. Przede wszystkim próbuje zachęcić Cię do tego abyś udzielił danej aplikacji takich uprawnień, które pozwolą na wykradzenie danych osobowych albo innych cennych informacji lub też wreszcie wykonywanie innych, niepożądanych działać. I tak właśnie działa wspomniany Ads Blocker – dzięki temu, że udaje blockera reklam zakres uprawnień, o które prosi, nie wzbudza właściwie podejrzeń. Niestety – wraz z tymi uprawnieniami Ads Blocker zyskuje także możliwość wyświetlania kolejnych reklam.

Drugi rodzaj malware jest bardziej zaawansowany - wykorzystuje luki w zabezpieczeniach telefonów. To ogranicza potrzebę proszenia się użytkownika o klikanie „OK” przy kolejnych monitach o zwiększenie uprawnień. Takie złośliwe oprogramowanie jest też przez to zdecydowanie trudniejsze do zauważenia.

Oznaki choroby

Podstawowe oznaki, że Twój komputer jest zainfekowany malware, to:

Widzisz zwiększoną ilość reklam, niezależnie od tego jakiej aplikacji aktualnie używasz. Instalujesz nową aplikację a jej ikona momentalnie znika z ekranu startowego. Bateria rozładowuje się szybciej niż zazwyczaj. Widzisz, że masz zainstalowane aplikacje, których nie rozpoznajesz.

Zupełnie innym typem malware jest ransomware. Tutaj od razu zauważysz, że zostałeś zainfekowany ale na tym dobre informacje się kończa. Ransomware szyfruje Twoje pliki i żąda okupu (najczęściej w formie którejś z kryptowalut) za ich odszyfrowanie. Większość androidowego malware potrafi szyfrować tylko pliki na pamięci zewnętrznej (np. karcie SD) ale to marne pocieszenie skoro tam właśnie trzymamy zdecydowaną najwięcej plików.

Część szkodliwego oprogramowania jest tak skonstruowana, że nie pomaga nawet reset urządzenia do ustawień fabrycznych. Jak to możliwe? Potrafi to na przykład xHelper, który chroni się przed usunięciem z telefonu za pomocą rootkita. Z jego użyciem malware zdobywa uprawnienia roota. Te z kolei są mu potrzebne do zmiany ustawień partycji systemowej. Zasadniczo bowiem zapisywanie plików na tej partycji jest niemożliwe. Zezwolenie na takie zapisywanie pozwala xHelper na przeniesienie swojej kopii do katalogu ukrytego na tej partycji.

Wreszcie nie za całość złośliwego "zachowania" odpowiada jeden program. Popularną praktyką jest też instalowanie tzw. droppera, który służy tylko temu aby pobrać kod innego trojana i wykonać go na telefonie w sprzyjającym momencie. Może to być np. środek nocy gdy uwagi użytkownika nie wzbudzi mignięcie ekranu czy znikający po czasie monit systemowy.

Leczenie

Środki przeciwdziałania? Aktualizacja systemu operacyjnego na bieżąco a jeśli tego nie robiliśmy – od razu gdy podejrzewamy zagrożenie. Zmiana systemu na nowszy zazwyczaj łata najnowsze luki wykorzystywane przez malware i wyłącza je po dokonaniu aktualizacji. Zwracaj uwagę na to jakich uprawnień udzielasz. Czy gra na pewno potrzebuje dostępu do wysyłania SMS? Aplikacje antywirusowe mają z kolei zwolenników i przeciwników – istotnie spowalniają one telefon a ich skuteczność jest dyskusyjna. Bez wątpienia natomiast warto skanować co jakiś czas telefon z użyciem Malwarebytes, Nortona, Lookout czy Bitdefendera.

Część malware rozpowszechnia się z udziałem aplikacji spoza oficjalnego sklepu, np. Google Play. Należy więc unikać instalowania aplikacji z innych źródeł a taka pokusa istnieje np. przy aplikacjach płatnych, które są oferowane przez rozmaitej maści serwisy hostujące pliki. Przykładem malware dystrybuowanego przede wszystkim w ten sposób jest SpyDealer.

Najpopularniejsze języki programowania – rodzaje i przykłady

Reading Time: 3 minutes

Od tego roku we wszystkich polskich szkołach rozpocznie się nauka programowania. Wy z pewnością czasy szkolne macie już za sobą, jednak zapewne wielu z Was wciąż zastanawia się, którego z języków programowania warto się nauczyć.

Oto nasza subiektywna lista 10 najbardziej popularnych języków programowania:

1. Język programowania Java

Java to język programowania używany przez około 9 milionów programistów na całym świecie. Mimo, że ma już ponad 20 lat, jego popularność wciąż jest ogromna. Działa na ponad 7 miliardach urządzeń, zarówno na systemach Windows, jak i Linux. Ponadto, język ten jest używany do rozwijania wszelkich natywnych aplikacji na Androida. Dużym atutem Javy jest zachowywanie wstecznej kompatybilności w nowych wersjach JRE i JDK.

2. Javascript, jako jeden z popularniejszych języków programowania

Javascript to kolejny, bardzo popularny język programowania, należący do grupy języków skryptowych. Głównym celem jego powstania było uatrakcyjnienie sposobu prezentacji stron, a także wzbogacenie ich o możliwość interakcji z użytkownikiem. Na frontendzie jest używany jako rozszerzenie HTMLa, ale coraz częściej pojawia się również na backendzie np. w takim framework-u jak JavaScript jest obsługiwany właściwie przez każdą przeglądarkę internetową i pojawia się na większości stron. Wszystko to powoduje, że zapotrzebowanie na programistów tego języka jest bardzo duże.

3. PHP

PHP to kolejny, a zarazem jeden z pierwszych powszechnie używanych języków skryptowych, służący do rozszerzania możliwości stron internetowych. Powstał jako rozbudowanie popularnego kiedyś języka skryptowego Perl i nadal jest z nim ściśle związany. Składnia PHP, mimo że jest bardzo podobna do popularnych języków programowania, została bardzo uproszczona, dzięki czemu osoby, które się nim posługują, nie muszą zwracać uwagi na poprawność typów zmiennych, alokację, zwalnianie pamięci itp.

4. Język programowania SQL

SQL to jeden z najbardziej popularnych strukturalnych języków zapytań. Służy do tworzenia, modyfikacji oraz zarządzania bazami danych. Jest to język deklaratywny, co oznacza, że zamiast pisać, jak coś ma być zrobione, deklarujemy to, czego oczekujemy. Po prostu podajemy jakie dane chcemy uzyskać albo jakie modyfikacje nas interesują, a silnik bazy danych zajmuje się właściwą realizacją. SQL cechuje duży uniwersalizm, ponieważ można z niego korzystać niezależnie od sprzętu czy systemu operacyjnego. Jest stosunkowo prosty, w związku z czym łatwo się go nauczyć.

5. Scala

Scala nazywana jest “językiem przyszłości”, ponieważ pozwala pisać aplikacje stosunkowo łatwo i szybko. Łączy zarówno cechy języków funkcyjnych, jak i obiektowych. To język dynamiczny, czyli taki, który skoncentrowany jest nie na sposobie dojścia do wyniku, lecz na samym wyniku. Dużą zaletą Scali jest możliwość wykorzystywania przez nią klas napisanych w Javie. Również sam kod napisany w Scali może być wywoływany w kodzie Javy, jednak integracja w tym kierunku wymaga zachowania pewnych reguł.

6. Python

Python to język programowania wysokiego poziomu. Jego nazwa pochodzi od słynnej grupy komediowej Monty Pythona. Mimo iż jest językiem dość rozbudowanym, łatwo się go nauczyć. Cechuje go minimalistyczna składnia rdzenia z podstawowymi poleceniami i prostą semantyką. Python bardzo przypomina język angielski, w związku z czym często polecany jest początkującym programistom. Spróbuj nauczyć się Pythona i sam zobaczysz, że “Nikt nie spodziewał się hiszpańskiej inkwizycji”: https://youtu.be/SxJASsVRRpQ

Jarosław Kułak
Jarosław Kułak

Leave a Comment