Author Archives: Fabio

About Fabio

Esperienza nella progettazione e sviluppo di Applicazioni mobili. Integro le conoscenze acquisite in ambito accademico con un continuo studio di nuove tecnologie che mi permettano di creare applicazioni sempre più affidabili sicure ed efficienti. Venite a trovarmi sul blog Fabiosoft Google+

iOS 16 makes your app launch super fast!

      Nessun commento su iOS 16 makes your app launch super fast!
iOS16

WWDC22 state of the union prometteva molte migliorie per migliorare i tempi di avvio dell’applicazione. with apps like Lyft or Airbnb launching almost twice as fast thanks to improvement in the dynamic linker. Questo miglioramento deriva dalla velocizzazione dei controlli di protocollo. iOS 16 migliora il tempo di caricamento di… Read more »

iOS14 Widgets con WidgetKit

      Nessun commento su iOS14 Widgets con WidgetKit
widget fitness

Al keynote di WWDC20, Apple ha annunciato iOS 14 con nuove straordinarie funzionalità, tra le tante troviamo i Widget nella schermata principale. Oggi scopriremo come aggiungere widget alla tua app! Innanzitutto, dovrai scaricare alcuni software beta. Tieni presente che si tratta di beta sviluppatore e avrai bisogno di un account… Read more »

Usare lo Speech to Text di Siri nelle applicazioni iOS10

Al WWDC 2016, Apple ha introdotto il framework Speech, una API utile per il riconoscimento vocale. Infatti, lo Speech Kit è il framework che Siri utilizza per il riconoscimento vocale. Ci sono una manciata di framework di riconoscimento vocale oggi disponibili, ma sono o molto costosi o semplicemente non adatti. In questo tutorial, vi mostrerò come… Read more »

Navigation bar che scompare come in Safari da iOS8 in poi

Hai mai notato come bene la UINavigation di Safari mobile si condensi allo scrorrere della pagina, e come ad un certo punto scompaia? In iOS8, Apple ha implementato questo tipo di interazione (assieme ad altre) molto semplice e dispobile a tutti. Visto che Apple lo ha mostrato in un video… Read more »

Perchè usare JSON: 3 motivi sul perchè ha rivoluzionato API e Applicazioni

Quindi perchè usare JSON e cos’è? JSON sta per JavaScript Object Notation e ci sono molti motivi percui dovresti usarne gli oggetti per rappresentare i dati e traferirli tra client e server Esaminiamo tre punti cardine: Dati puliti La programmazione ad oggetti è esplosa durante gli anni e potremmo passare… Read more »

Scrittura di moduli (driver) sotto Linux

      Nessun commento su Scrittura di moduli (driver) sotto Linux

Introduzione Uno dei molti vantaggi del Sistema Operativo Linux è che il suo “interno” è aperto a tutti. Il kernel Linux è un corpo grande e complesso di codice. I drivers di periferica, sono distinte “scatole nere” che fanno sì che un particolare pezzo di hardware risponda ad un interfaccia… Read more »

Come creare un bot per Telegram: Hello World

      Nessun commento su Come creare un bot per Telegram: Hello World

Vediamo velocemente come creare un Bot per Telegram scritto in Java, usando JTeleBot. Struttura file: pom.xml [code lang=”xml”] <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>hello-word-bot</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>io.github.nixtabyte.telegram</groupId> <artifactId>jtelebot-core</artifactId> <version>0.1.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> </project> [/code] log4j.properties: [code lang=”plain”] log4j.rootLogger=INFO, CONSOLE… Read more »

GIT: archivio compresso zip/tar della tua repository

In genere creo tutti i miei progetti con un repository GIT dietro. Quando, però, si tratta poi di linkare o rilasciare il progetto vorrei un archivio compresso ZIP in modo che tutto sia il più leggero e piccolo possibile. GIT fornisce diversi metodi per raggiungere tale scopo. Se si dispone di un repo GIT… Read more »

Sito Web XAMPP: Risolvere Accesso Negato Errore 403

A volte XAMPP ha qualche difficoltà a comportarsi bene, a seconda del sistema operativo. Ecco alcuni dei “soliti” conflitti che ho trovato e alcuni modi per risolvere i problemi. Innanzitutto verificare che nulla stia utilizzando la porta 80. XAMPP richiede la porta 80 per lavorare e alcuni software web potrebbero essere utilizzarla. È solo… Read more »

Come creare una app “Hello World” con WatchKit

Apps WatchKit sono divise in due parti: Un’estensione WatchKit che gira su iPhone e una serie di risorse di interfaccia utente che vengono installate su Apple Watch. Se la vostra applicazione è lanciata su Apple Watch, l’estensione WatchKit su iPhone viene eseguita in background per aggiornare l’interfaccia utente e rispondere all’interazione… Read more »

Ridimensiona / scala un’ immagine – Utilizzando una Categoria di Objective-C

Visto quanto sia comune il ridimensionamento di una immagine in un’applicazione, mi sorprende che questo metodo non sia stato incluso nella classe UIImage. Procediamo e prendiamoci cura di questa omissione aggiungendo un semplice metodo che fornirà un mezzo per ridimensionare l’immagine. Useremo una “categoria” del linguaggio objective-c per aggiungere un metodo alla classe UIImage…. Read more »

Collezione di Macro per iOS

      Nessun commento su Collezione di Macro per iOS

Di seguito elenco alcune macro utili durante lo sviluppo di applicazioni in Objective-C per iOS.   [code lang=”obj-c”]// Gradi a Radianti #define degreesToRadians(x) (M_PI * x / 180.0)[/code] [code lang=”obj-c”]// Invalidazione Timer #define UA_invalidateTimer(t) [t invalidate]; t = nil;[/code] [code lang=”obj-c”] // Info Dispositivo #define UA_isIPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) #define… Read more »

Come utilizzare Auto Layout in XCode 6 per iOS 7 e iOS8 Parte 1

Il Layout automatico è disponibile su Storyboard per iOS e OS X da XCode 5. Ma, io solitamente non adottavo la tecnologia Auto Layout per i progetti che ho sviluppato, perché ci sono (c’erano) solo 2 diverse dimensioni dello schermo iPhone (3,5 pollici e 4 pollici ). Durante quel periodo, regolando alcuni punti… Read more »

Come usare CocoaPods in 5 passi

      2 commenti su Come usare CocoaPods in 5 passi

Al giorno d’oggi, la maggior parte delle librerie iOS hanno il supporto CocoaPods ed è molto facile poter aggiungere una libreria al progetto con CocoaPods. Se sei uno sviluppatore iOS, prima o poi, troverei un progetto con CocoaPods. Quindi, impariamo subito e vedere come CocoaPods rende la gestione del progetto più semplice.  … Read more »

iOS8: Usiamo le notifiche interattive

      Nessun commento su iOS8: Usiamo le notifiche interattive

iOS 8 è dotato di una lunga lista di miglioramenti interessanti e in questo articolo voglio mostrarvi uno di quelli: le notifiche interattive con azioni associate. Con questa nuova funzione gli utenti possono interagire direttamente con push o notifiche locali senza aprire l’applicazione. Un semplice esempio? Un app todo presenta un… Read more »

Widgets: come crearli per mostrare informazioni dalla nostra app

App Extensions sono state introdotte, durante il WWDC 2014 Keynote come un modo per estendere la portata della vostra applicazione ad alcune parti di iOS8, ad esempio con la creazione di un widget che verranno mostrati nel Centro notifiche, o di una azione di condivisione personalizzata. È senza dubbio una grande opportunità per… Read more »

iOS8: Integrare il Touch ID e impronte digitali nelle proprie app

Nel settembre del 2013, Apple ha presentato l’ultimo iPhone, con una serie di miglioramenti hardware. La caratteristica più innovativa di iPhone 5s erano una banda di metallo sottile che circonda il tasto home, un sensore di impronte digitali chiamato touch ID. Un anno e iOS 8 hanno introdotto un nuovo framework che… Read more »

Aggiungi variabile @property ad una categoria in Objective-C

Oggi avevo bisogno di aggiungere una proprietà NSString * alla mia categoria personalizzata. Così come di consueto ho esteso da UIView. In particolare, necessitavo di aggiungere la proprietà details ad alcune UIView che non l’avevano. Sarebbe stato scomodissimo creare una nuova classe, ereditare, dopodiché modificare tutti gli oggetti istanziati. Come? Crea la tua categoria, con tutte le proprietà che… Read more »

Swift FAQ!

      Nessun commento su Swift FAQ!

Swift è il nuovissimo linguaggio di Apple, moderno, type-safe per lo sviluppo Cocoa. Swift è stato in sviluppo in 4 anni, ed è stato appena annunciato al WWDC di quest’anno (2 giugno 2014). Swift prende diversi costrutti tanto amati da altri linguaggi tra cui Objective-C, Rust, Haskell, Ruby, Python, C#, CLU e altri… Read more »

GIT: guida rapida al software di backup

      Nessun commento su GIT: guida rapida al software di backup
git logo

Wikipedia recita: Git è un sistema software di controllo di versione distribuito, creato da Linus Torvalds nel 2005. Al giorno d’oggi mi trovo di continuo ad usare GIT come sistema di controllo versioni (o backup) sopratutto per progetti software in quanto il suo uso ideale è con i file di… Read more »

Installare Mamp e MySQL su Mac OS X Mavericks

Il video blogger fabiosoft è lieto di insegnarci come installare ed usare Mamp (My Apache mySQL PHP) su Mac OS. Video tutorial, guida, semplice e concisa anche su come usare Sequel PRO e la linea di comando mysql. Le lezioni di SQL continuano nell’apposita sezione: Basi di dati

Installare Ruby on Rails su Mac OS Mavericks

La maggior parte degli sviluppatori amano trascorrere un po’ di tempo a impostare il loro lavoro di sviluppo. Io non sono diverso, dopo un certo periodo sperimentando in dettaglio…ecco il seguente articolo di come ho configurato il mio ambiente Ruby e Ruby on Rails per Mac OS Mavericks. C’è sempre stato… Read more »

Creare macchina virtuale Mac OS X Mavericks usando Parallels Desktop per Mac

Se si possiede Parallels Desktop per Mac, versione 7.0 o superiore (questa guida è stata provata e testata con Parallels 9.0.2) è possibile installare una nuova macchina virtuale Mac OS X 10.9 Mavericks i maniera semplice e veloce. NOTA: Per installare correttamente OS X in una macchina virtuale Mavericks deve… Read more »

Gestire la Status Bar in iOS 7

      Nessun commento su Gestire la Status Bar in iOS 7

Uno dei principi della nuova interfaccia utente di iOS 7 è il contenuto a schermo. Per far pieno uso dello schermo, il sistema operativo si aspetta ora che la tua applicazione si estenderà anche sotto la barra di stato nella parte superiore dello schermo. Apple ha creato una nuova serie di… Read more »

iOS Cloud Storage: iCloud – parte 1

      Nessun commento su iOS Cloud Storage: iCloud – parte 1

Hai mai sentito parlare di iCloud? Si tratta di un servizio offerto da Apple che permette agli utenti di iPhone, iPad, iPod Touch, Mac e Windows di creare delle copie di sicurezza dei propri dati su un hard disk online e sincronizzarli fra tutti i dispositivi. Grazie ad esso, puoi avere… Read more »

iOS7: Novità di Objective-C e Foundation: i Moduli

Objective-C è il linguaggio più comune per lo sviluppo di applicazioni iOS e OS X. Certo, è possibile utilizzare framework di terze parti che consentono di sviluppare applicazioni che utilizzano altri linguaggi come HTML e Javascript o C #, ma se si vuole scrivere  applicazioni native incredibilmente veloci, super efficienti, allora avete bisogno… Read more »

Su quali sistemi operativi mobile conviene sviluppare app?

Una sfida per un piccolo sviluppatore iOS indipendente è stare al passo con l’evoluzione dell’hardware. Alcuni test possono essere fatti con il simulatore, ma per vedere come si comporta un app davvero, è importante sviluppare e testare su dispositivi reali. Questo è particolarmente vero per le prestazioni che sembrano scattanti nel simulatore ma… Read more »

Xcode: perché usare il programma Apple per sviluppare applicazioni iOS

Con il tempo, sono comparsi sulla rete tantissimi programmi che permettono di sviluppare applicazioni per iOS: alcuni, più semplici di Xcode nell’utilizzo, altri molto limitativi. Ma perché continuare ad usare Xcode con tutte queste alternative in giro? Personalmente credo che l’applicativo della società della mela per il momento rimanga ancora… Read more »

In difesa del design flat di iOS 7

      1 commento su In difesa del design flat di iOS 7
ios 7 icon

I fattori validi per il redesign di iOS 7: l’interfaccia utente (UI) di iOS era piuttosto datata ed aveva accumulato un sacco di “fuffa”, ed Apple è chiaro che ama e crede nel polarizzante nuovo design. Ma tutto ciò arriva anche come una serie di convenienti vantaggi difensivi. Dal lancio di… Read more »

Cos’è Github? Come si usa?

      Nessun commento su Cos’è Github? Come si usa?

GitHub è un social-code, per farla breve è un social network dedicato ai programmatori. Questo «social network» è intersecato al controllo di versione dei file chiamato GIT. Grazie a github è possibile gestire i progetti online, mantenere una copia sul server e visionarla online senza scaricarla in ssh. In dettaglio… Read more »

Le basi di Objective-C – @property atomic vs nonatomic

Domanda: Cosa, in realtà significa atomic e nonatomic quando dichiariamo una @property nel file di intestazione .h? [code lang=”obj-c”] @property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName; @property(retain) UITextField *userName; [/code] Che differenza c’è tra queste tre dichiarazioni? Risposta: Gli ultimi due sono identici, “atomic” è il comportamento predefinito. Atomic… Read more »

iOS iPhone: Inviare email In-App

      Nessun commento su iOS iPhone: Inviare email In-App

In questo tutorial tratteremo l’SDK iOS per mostrarti come consentire all’utente l’invio di email senza lasciare l’applicazione usando la classe MFMailComposeViewController. Metteremo assieme un modello con destinatari, oggetto, corpo della email e persino una immagine allegata. iOS SDK fornisce un’interfaccia facile da usare, standard, per consentire agli utenti di inviare e… Read more »

Java 6 vs Java 7 … Le differenze!

      Nessun commento su Java 6 vs Java 7 … Le differenze!

Molte volte sentiamo parlare di Java, ma quale versione è la più adatta ai nostri usi? La risposta banale potrebbe essere “la più nuova” che al momento risulta essere la 7, tuttavia se non abbiamno particolari pretese potrebbe andare bene anche la versione 6, già preinstallata se avete un Mac. Giacomo Veneri in… Read more »

WWDC 2013: iOS 7 è qui

      Nessun commento su WWDC 2013: iOS 7 è qui

Eccolo! Lo stavamo aspettando tutti… è arrivato iOS 7  con una veste grafica completamente ridisegnata e tantissime altre novità a riguardo. PS: se sei uno sviluppatore sicuramente ti interesserà il fatto che saranno disponibili più di 1500 nuove API e funzioni da integrare nelle proprie applicazioni. Non preoccuparti… le vedremo… Read more »

Gli utenti Apple iOS saranno 600 milioni! Come guadagnare di più?

Il numero degli utenti Apple potrebbe saltare fino a 600 milioni entro la fine dell’anno (2013). Se i conti sono corretti avremo un incremento del 40% secondo CNET. Secondo l’analista Katy Hubert del Morgan Stanley, Apple è in seconda posizione dopo Facebook in termini di utenti totali grazie ad un incremento del… Read more »

Activity e ciclo di vita in applicazione Android

Una activity è il componente fondamentale attraverso il quale una applicazione interagisce con l’utente. Può a tutti gli effetti essere paragonata ad una form dei linguaggi tradizionali (visual basic) o ad una semplice pagina html visualizzata da un browser. In questa guida ci concentreremo sulle Activity e sulciclo di vita di un’applicazione… Read more »

Parsing XML di elementi e attributi con TouchXML

Assumendo che tu abbia già familiarità con il parsing di documenti XML passerò direttamente al punto in questione. Il parsing di un attributo. Facciamo un veloce e semplice esempio di documento XML in modo da comprendere meglio il codice che andremo a scrivere. [code lang=”xml”] <pre> <listaogg> <ogg id="1"> <nome>casa</nome>… Read more »

Elenco file in una directory e tutte le sotto cartelle

Di seguito è riportato, in poche righe di codice Objective-C, la tecnica giusta per attraversare rapidamente una directory e tutte le sue sottodirectory. Cominciamo con una struttura di file nella cartella Documenti che ho usato per il mio esempio: L’esempio della struttura riguarda il simulatore in quanto per questo esempio… Read more »

Convertire NSString in NSData

      Nessun commento su Convertire NSString in NSData

E ‘una domanda comune tra gli sviluppatori iOS, come faccio a convertire un oggetto NSString a un oggetto NSData? Le conversioni è semplice come mostrato di seguito: [code lang=”obj-c”]NSString *stringa = @"iProg.it"; NSData *nsdata = [stinga dataUsingEncoding:NSUTF8StringEncoding];[/code] Se per qualche motivo avete a che fare con il contenuto della strings che ha una… Read more »

Acquisti in app: Implementare l’in app purchase

Fare acquisti e sbloccare funzioni direttamente dall’applicazione. L’In App Purchase è un sistema di pagamento che ci permetterà di far acquistare plugin, livelli, canzoni, elementi aggiuntivi…ecc, direttamente all’ interno dell’ applicazione che l’utente sta utilizzando, e che magari ha scaricato gratis da AppStore. La documentazione ufficiale è ricca di guide… Read more »

Animazioni con UIImageView

      Nessun commento su Animazioni con UIImageView

Per l’articolo di oggi ho scelto qualcosa che è stato popolare in App Store nel passato ma che ancora tutt’oggi affascina alcune aplpicazioni…le “Animazioni“. La prima idea di applicazione è stata iFiamma il quale era un semplice video di una fiamma girato da me. A quel tempo non avevo visto… Read more »

Creare una nuova classe: Interfaccia in Obj-C

      Nessun commento su Creare una nuova classe: Interfaccia in Obj-C

La sintassi di Objective-C per la creazione di una classe è molto semplice. Si presenta di solito in due parti: L’interfaccia della classe è di solito memorizzata nel file NomeClasse.h, e definisce le variabili di istanza e metodi pubblici. Mentre l’implementazione si trova nel file NomeClasse.m che contiene il codice… Read more »

Invertire una stringa: algoritmo in C

      Nessun commento su Invertire una stringa: algoritmo in C

Molto spesso ci capita di dover invertire una stringa, per esercizio oppure per ne dobbiamo leggere un file al contrario. Nei moderni linguaggi di programmazione abbiamo una funzione apposita che fa tutto il lavoro per noi. Andiamo però a vedere in ANSI C come si fa. Ecco la funzione reverse… Read more »

Verificare se lo schema di URL personalizzato viene definito

Schemi URL personalizzati (URL Scheme) sono la strada, approvata da Apple, che consentono ad un’applicazione di comunicare con un’altra. Ad esempio, è possibile avviare l’applicazione telefono per effettuare una chiamata utilizzando l’URL personalizzato tel ://. Allo stesso modo, è possibile chiamare una app  da terzi (non Apple) utilizzando un URL personalizzato, e allo… Read more »

Xcode 4: visualizzare solo i file modificati di recente

C’è un’icona piccola ed innocua nell’angolo in basso a sinistra di Xcode 4 che può essere molto utile se si dispone di un progetto considerevolmente grande, ma si sta lavorando con solo una manciata di file. All’interno del “navigatore del progetto” alias Project Navigator o per capirci meglio la slide sul… Read more »

Differenza tra ereditarietà e categorie in Objective-c

Domanda: Qualcuno può spiegarmi la differenza tra categorie ed eredità in Objective C? Ho letto la voce su Wikipedia e la discussione sulle categorie e non sembra diversa dal concetto di eredità. Ho anche guardato il capitolo di un libro ma ancora non capisco. Potrebbe essere che mi manchi qualcosa… Read more »