Android: pensi davvero di conoscerlo? #3 Le applicazioni

Meett31/ febbraio 16, 2017/ Android/ 0 comments

Android è il sistema operativo più diffuso al mondo, sarà forse per l’enorme quantità di applicazioni presenti sul Play Store?
Nonostante la semplicità che mostrano, dietro di esse si nascondono complicati algoritmi e codici impossibili che fanno impazzire migliaia di sviluppatori.

Oggi andremo ad analizzare ogni loro caratteristica.

I distributori di applicazioniScaricare applicazioni da Android market

Si, possiamo chiamarli distributori.
Sono i tantissimi store e siti web che consentono all’utente Android di scaricare le applicazioni che più desidera.

Ma cominciamo dall’originale: il Play Store.
Il Play Store è un’applicazione preinstallata sullo smartphone, creata da Google.

Nasce il 28 Agosto del 2008 come Android Market, ma è stato reso disponibile agli utenti solo nell’Ottobre dello stesso anno.
Negli anni successivi c’è stato un susseguirsi di aggiornamenti, sia grafici che funzionali e sono stati aggiunti i “sottomarket” principali tra cui: Play Film, Play Musica, Play Libri e Play Edicola.

Nel 6 Marzo del 2012 l’Android Market è stato ribattezzato Google Play Store e oggi vanta della più vasta libreria di app.

Nonostante le 1.500.000 applicazioni presenti, sono nati altri store dove è possibile scaricare le applicazioni. Esempi famosi sono Aptoide, Blackmart e 4shared.

Questi store nascono per la necessità di avere applicazioni a pagamento gratuitamente. Consentono, però, anche di scaricare versioni precedenti a quelle presenti sul Play Store o versioni modificate con tutti gli obiettivi raggiunti o tutti i potenziamenti sbloccati.

Così semplici? La struttura

Alla nascita un’applicazione non è nient’altro che un pacchetto compresso. Sì! Hai capito bene. Un pacchetto compresso. Proprio come un file .zip o .rar, solo che ha l’estensione .apk.

Applicazioni apkApk sta per Android Package e sostituisce il normale Jar. E’ stato creato perché l’applicazione, anche se scritta in Java, viene interpretata bensì non dalla Java Virtual Machine ma dalla Dalvik Virtual Machine, creata appositamente per Android.

Il file Apk contiene al suo interno:

  • La cartella META-INF contenente Manifest.mf, Cert.rsa e Cert.sf;
  • La cartella lib, cuore del codice sorgente categorizzato a secondo del processore del dispositivo;
  • La cartella res, la quale senza di essa non avremmo interfaccia in quanto contiene tutti i file ancora non compilati in resources.arsc;
  • La cartella assets che contiene le immagini e le varie risorse grafiche;
  • Il famoso AndroidManifest.xml, il segretario dell’applicazione, che mantiene in sé tutte le informazioni riguardanti l’applicativo;
  • Ovviamente tutte la classi Java compilate e comprensibile per la Dalvik VM, classes.dex;
  • Infine il file contenente la risorse precompilate, resources.arsc.

Ma quindi, come vengono fatte?

Le applicazioni, come ho già ripetuto più e più volte, sono scritte principalmente in Java ma possono essere scritte anche in altri linguaggi come il c# (vedi la possibilità di creare un progetto per Android su Visual Studio).Sviluppare applicazioni con Android Studio

Possono essere sviluppate alla vecchia maniera e cioè file per file e poi costruire la struttura e compilarle. Oggi però i più moderni calcolatori mettono a disposizione di noi poveri sviluppatori IDE molto evoluti. I principali sono Eclipse e Android Studio. Eclipse è il principale IDE utilizzato dai programmatori Java, ma dal lato Android è stato più che sorpassato da Android Studio. Facile capire il perchè. Android Studio, come dice il nome, è creato appositamente per Android e offre molte funzionalità, tra cui la possibilità di generare l’interfaccia con semplicità e testare le applicazioni sia in macchina virtuale da lui fornita che direttamente su un dispositivo fisico.

Benché questi due siano ambienti di sviluppo ben forniti, alcune applicazioni vengono create direttamente con dei motori grafici. Questi sono gli stessi che vengono utilizzati per i videogames su PC e Console. I più conosciuti sono Unity e Unreal Engine, ma ce ne sono anche altri come CryEngine e Frostbite Engine.

Così semplici eppure così complicate! E’ rimasto qualcosa?

Sì, complicate e semplici. La definizione perfetta. Alcune volte proprio le applicazioni più semplici nascondono cattive sorprese. Non tutte le applicazioni, infatti, vengono fatte per scopi socievoli. Alcune vengono create per intaccare i dati dell’utente e far guadagnare gli sviluppatori. Ce ne sono molti tipi, dai ransomware agli adware, dai malware dormienti alle applicazioni che si installano senza il consenso dell’utente. Se non conosci molto bene la differenza tra questi virus e sei curioso leggi questo articolo.

Lo scorso anno un semplice malware si è posto sotto i riflettori e si chiamava HummingWhale, evoluzione di HummingBad. HummingWhale era un malware che creava nella memoria del telefono una macchina virtuale, all’interno della quale scaricava automaticamente applicazioni piene zeppe di pubblicità. Questa però passava inosservata agli occhi dell’utente perché eseguiva tutte le operazioni sullo sfondo di quelle quotidiane del telefono. Poco dopo la sua scoperta, Google ha rimosso tutte le applicazioni infette e sembra che ora si stia dando da fare per rendere il Play Store molto più sicuro.

Conclusioni

Semplici codici che ci aiutano in molti modi e che pian piano si evolvono sempre di più. Le applicazioni sono oggi la più grande risorsa che abbiamo per raggiungere qualsiasi tipo di obiettivo. Bisogna però stare sempre attenti perché alcune volte si possono rivelare degli utilissimi mezzi per malintenzionati.

Spero di averti riportato informazioni il più utili possibile e se vuoi scoprire altro su Android e sul suo mondo continua a seguirci sulle pagine social.

About Meett31

Appassionato di computer fin dall'infanzia. Ama il sistema operativo Android, sviluppare siti web e creare applicazioni. Passa il tempo libero a smontare qualsiasi cosa abbia una vite e a trovare la giusta combinazione di colori per i suoi progetti.

Facci sapere cosa ne pensi con un commento!