Archivi tag: SQL

Lista database popolari nello sviluppo delle app Mobile

fonte: five-popular-databases-for-mobile- 2014 – 2017 (tradotto e migliorato by Vargas Carmen)

http://www.lillysfreshpasta.com/4-questions-to-ask-when-you-buy-fresh-pasta/
http://www.lillysfreshpasta.com/4-questions-to-ask-when-you-buy-fresh-pasta/ appissue

pouchdb

Database Tipo di dati immagazzinamento Licenza Piattaforme supportate
BerkeleyDB
(Oracle)
relazionale, oggetti, coppie chiave-valore, documenti AGPL 3.0 Android, iOS (?)
Couchbase Lite documenti Apache 2.0 Android, iOS
LevelDB coppie chiave-valore New BSD Android, iOS (2017 OS X, Linux, Windows Phone, Illumos
SQLite relazionale Dominio Pubblico Android, iOS, Windows Phone, Blackberry
UnQLite coppie chiave-valore, documenti BSD 2-Clause Android, iOS, Windows Phone
Siaqodb oggetti, documenti (database che corre su .NET…) Siaqodb MonoMac, Universal Windows Platform (UWP), Xamarin.iOS, Xamarin.Android, Xamarin.Mac and Unity3D.
pouchdb (javascript) Pouchdb

BerkeleyDB

Berkeley DB è una famiglia di librerie open-source che consentono di gestire i dati sia in modo relazionale tradizionale (usando SQL) o come coppie chiave-valore (in cui entrambe le chiavi e i valori sono array di byte) o come oggetti Java o come documenti XML . Indipendentemente delle API che si sceglie, Berkeley DB promette l’indicizzazione, memorizzazione nella cache, transazioni, scrittura-singola / accesso de multi-lettura, ricerca full-text (per l’interfaccia SQL),  ripristino automatico dei guasti, replica, compressione e crittografia. Supporta inoltre sia in memoria e su disco i database.

Un’altra caratteristica interessante di Berkeley DB è che l’API SQL fornisce piena compatibilità con quella di SQLite. Di conseguenza, è possibile creare delle applicazioni SQLite utilizzano Berkeley DB come il motore di storage (immagazzinamento) sottostante, senza doverlo riscrivere. Tutto quello che se deve fare è creare un collegamento  (link) a una versione adatta della libreria Berkeley DB. Questa combinazione di SQLite e Berkeley DB  è stata segnalato como una che dona un eccellente rendimento in caso di altamente di app e dati altamenti concorrenti, e di una intensa scrittura di dati sul datbase.

Berkeley DB prevede API attacchi (BINDING)  per svariati linguaggi di programmazione, tra cui C ++ e Java, ed è stato compilato, eseguito e testato su diversi sistemi operativi, tra cui Android e iOS. Tuttavia, potrebbe essere messo al di fuori dalla sua licenza AGPL, nel caso in cui si desidera utilizzarlo nella vostra applicazione, ma non si desidera di distribuire il proprio codice sorgente, in cambio.

Si noti inoltre che, soprattutto a causa del suo sforzo per fornire funzionalità che ci si aspetta nei database client / server tradizionali, Berkeley DB è considerata come una soluzione relativamente pesante. Quindi, a meno che non si voglia assolutamente una caratteristica che viene offerto solo da Berkeley DB, si possono trovare e sgliere nel mercato altre alternative più leggere.

Aggiornamento: Anche se Berkeley DB supporta tecnicamente iOS, non può essere utilizzato in App “Apps Store” a causa di incompatibilità con licenza termini e condizioni di App Store.

Couchbase Lite

Couchbase Lite è un databaseorientato ai documenti (document-oriented) dove i dati vengono memorizzati come documenti JSON. Ciascun documento può avere uno o più allegati, che sono essenzialmente dati binari memorizzati e non interpretati  e caricati separatamente dal documento stesso. Couchbase Lite supporta indici persistenti (chiamati Viste – visualizzazioni), e usa Mappa-ridotta  per gestire e interrogare i dati.

Couchbase Lite, insieme a Couchbase Sync Gateway e Couchbase Server, sono i tre componenti della soluzione di database NoSQL JSON soluzione per mobile database offerto da Couchbase chiamato Couchbase Mobile. Una delle caratteristiche chiave di Couchbase mobile è built-in di sincronizzazione (attraverso Couchbase Sync Gateway) tra le banche dati locali (Couchbase Lite) e database nel cloud (Couchbase Server), che allevia lo sviluppatore dall’onere di scrivere il proprio codice di sincronizzazione. Al fine di supportare questa funzionalità, Couchbase Lite è dotato di un meccanismo di risoluzione dei conflitti che è molto simile a quello usato da Git.

Couchbase Lite fornisce un’API nativa sia per Android che per iOS, così come dei plug-in per gli strumenti, piu  ampiamente utilizzati (multipiattaforma), nello  sviluppo mobile: PhoneGap (Cordova)  e Xamarin.

aggiornamento (2017): couchbase Mobile è una piattaforma completa per lo sviluppo nel mondo delle app sia mobile, che web e anche per la Internet delle cose… vedi,  couchbase for mobile developer. e anche couchbase Mobile collegamento,

LevelDB

LevelDB è una libreria open-source (scritto da Google) che implementa un archivio di chiave-valore, in cui sia le chiavi che i valori sono array di byte, dove i dati vengono memorizzati in ordine di chiave (sulla base di alcuni, probabilmente personalizzati, funzione di confronto). LevelDB supporta aggiornamenti batch atomici, permette l’ iterazione in avanti e indietro soprai dati contenuti, istantanee (cioè consistenti viste, di sola lettura, dell’intero database del negozio), caching, l’integrità dei dati (utilizzando checksum), e la compressione dei dati automatica (utilizzando la libreria di compressione Snappy ). Un importante limitazione imposta dalla libreria è quella di che in qualsiasi momento, che massimo un processo puo interaggire con un database specifico in un determinato momento uno solo).

“LevelDB ha buone prestazioni in una vasta gamma di carichi di lavoro (lavori specifici)” per quello che dicono i suoi autori, e per i risultati di un punto di riferimento (benchmarking) che si sono messi insieme per dimostrare la loro richiesta attraverso il LevelDB with SQLite and Kyoto Cabinet (un’altra implementazione memoria dei coppie di chiave-valore).

LevelDB è scritto in C ++. sviluppatori iOS possono utilizzare direttamente nelle loro applicazioni o attraverso uno dei numerosi involucri Objective-C che sono disponibili per esso. Gli sviluppatori Android possono utilizzare LevelDB tramite JNI e NDK.

SQLite

SQLite è una libreria open-source C per la gestione dei database relazionali che possono essere memorizzati sia su disco che in memoria. Supporta la tipizzazione dinamica (dei tipi sono assegnati a dei valori, piuttosto che a delle colonne), le transazioni, la ricerca full-text, l’accesso sscrittura singola / multiplelettura, svariata ed efficienti gamma di query (filtri)- (utile per la memorizzazione di dati geografici), e la caching condivisa (attraverso connessioni aperte,  allo stesso database, fatte da un unico filo (thread)).

SQLite immagazzina ogni database come un singolo file su disco,  in un formato multipiattaforma. Ciò implica che è possibile creare un database SQLite su una macchina e poi utilizzarlo su un’altra macchina con un’architettura completamente diversa semplicemente copiando il file corrispondente.
Gli autori di SQLite credono che sia “il database SQL più diffuso”. Attacchi (bind) per SQLite sono disponibili nella maggior parte dei linguaggi di programmazione tradizionali. SQLite è anche incluso in entrambi i sistemi operativi sia iPhone che Android.

UnQLite

Ce un’infinità di persone che crede erroneamente che UnQLite sia la controparte NoSQL di SQLite, anche se i due prodotti sono completamente indipendenti. UnQLite è un database open-source che espone sia un ccoppie di chiave-valore che un’interfaccia di immagazinamento tipo documento. Supporta sia in memoria che su disco le databases, anche le transazioni, più lettori concorrenti, e cursori per l’attraversamento lineare. Come SQLite, UnQLite utilizza un formato di file (multi-piattaforma) cross-platform, e memorizza ogni database in un singolo file su disco.

Non importa quale interfaccia di immagazzinamento si utilizza, il motore di archiviazione di UnQLite funziona con coppie di chiave-valore. Una caratteristica distintiva di UnQLite è che si può cambiare in fase di esecuzione il motore di archiviazione che viene utilizzato. Al momento, UnQLite è dotato di due motori di storage built-in, uno per il disco e uno per la  database in-memory.

UnQLite è scritto in C, e può quindi essere utilizzato sia IOS che delle applicazioni Android (in quest’ultimo, attraverso JNI).

aggiornamento 2017 – altre opinioni:

Implementazioni Open source delle database orientate ai documenti: (fonte wiki / modificato)

  • Apache Jackrabbit – Java (Apache License)
  • BaseX – xml, base di dati XML (Licenze BSD)
  • Apache CouchDB  (Apache License)
  • MongoDB – Database orientato al documento, (GNU AGPL v3.0)
  • OrientDB – Database orientato al documento, ma con una gestione ottimizzata delle relazioni fra documenti come avviene in un database a grafo. Open source con licenza commerciale friendly (Apache License)
  • RavenDB – Transazionale .NET basato su database a documento RESTful (commercial o GNU AGPL v3.0)
  • Redis – Uno store con coppie chiave-valore con supporto per liste ed insiemi (BSD License)
  • Riak – Decentralizzato, tolleranza all’errore, datastore di documenti scalabile orizzontalmente (Apache License)
  • ThruDB ( Licenza BSD)
  • Persevere JSON è un database JSON e un JavaScript Application Server. Fornisce un’interfaccia RESTful JSON per l’acceso alla creazione, lettura, aggiornamento e cancellazione dei dati. Supporta anche le interrogazioni JSONQuery/JSONPath.
  • DBSlayer old è un leggero database abstraction layer (su MySQL) che può parlare ai client via JSON su HTTP usato dal New York Times.
Annunci

Databases per Mobile Apps

In questo post, consapevoli dell’importanza dei dati e della gestione degli stessi, nello sviluppo di una qualunque app dinamica, elenchiamo una serie di tematiche inerenti le database, la sua creazione e manipolazione, come le più note databases,  all’interno del processo dello sviluppo  siano esse native, web o ibride.

http://www.ilgiornaledelcibo.it/intossicazione-da-metalli-pesanti/
http://www.ilgiornaledelcibo.it/intossicazione-da-metalli-pesanti/
  • Mobile Databases: javascript cordova CRUD
  • Mobile Databases: ajax PHP, CRUD (prossima uscita)
  • Mobile Databases: Android CRUD (prossima uscita)
  • Mobile Databases: iOs CRUD (prossima uscita)
  • Mobile Databases: Windows CRUD (prossima uscita)
  • Lista database popolari per lo sviluppo di Mobile Apps (prossima uscita)
  • vari su i databasi per lo sviluppo di mobile Apps (prossima uscita)

Come diventare uno sviluppatore Android – (android skills 2015)

FONTE ORIGINALE (by 

Si sa che le app mobile (applicazioni per mobile)  collegano sempre più gente del pianeta, e permettono agli utenti di tutto il mondo ad interattuare o  interagire  in modo sempre più interessante e innovativo come non si era mai immaginato, il lavoro dello sviluppatore app mobile è diventato sempre più arricchente, appagante, e necessario per l’economia globale moderna.

Le applicazioni per cellulari che usiamo ogni giorno hanno cambiato il nostro modo di comunicare e di consumare intrattenimento, anche il nostro modo di imparare le cose sul mondo.  Non sarebbe male se si pensasi allo sviluppo delle mobile app come ad una delle industrie di lavoro più cool (di moda – più trainante) del momento.

Quindi, come si fa a diventare uno sviluppatore di applicazioni per mobile (appmobile – mobileapp developer ) ?

Ecco la sua versione essenziale : si sceglie una delle piattaforme – come Android ,iOS o Windows Mobile – si apprendono le competenze tecniche di base, se si cimenta  sulle proprie competenze trasversali -migliorandole (soft skills), e ci si diventa.

Come diventare uno sviluppatore Android ?

Ma veniamo in un  po più in dettaglio. Qui, stiamo andando ad affrontare la prospettiva di diventare uno sviluppatore di Android appositamente (dedicato ).

Perché Android?

Android a livello globale, è il leader indiscusso della quota di mercato degli smartphone. Grazie alla crescita dei mercati emergenti come il Messico, la Turchia e il Brasile, quella posizione dominante non tramuterà nel breve periodo.

android developer
android developer

Grafico via 9to5Mac

facendo si che questa preponderanza di mercato si traduca in una grave  difficoltà, per la sicurezza del lavoro degli sviluppatori di Android.

Inoltre, la piattaforma Android è open source (l’intero codice sorgente di Android è consultabile (browsable)  e condivisibile, anche se con un po di software proprietario come Google Play), rendendo l’ecosistema di sviluppatori dinamico e collettivamente arricchente.

Gli sviluppatori di Android condividono consigli, trucchi e tutorial con tutta la comunità Android, e dal momento che Google gli aiuta  con lo sviluppo di strumenti come Google Play Services  per tutte le attività comuni delle app:  come l’accesso, l’autenticazione, la posizione e la archiviazione di dati,  cosi permettendo agli sviluppatori di Android di concentrarsi sulla costruzione delle ‘funzionalità di base’  delle loro applicazioni

In sostanza, si tratta di un momento particolarmente emozionante per lanciare una carriera nello sviluppo di Android. Vi è una fonte sana di posti di lavoro, la domanda di applicazioni Android promette di aumentare in futuro, e le tecnologie – app indossabile e app TV-  stanno intrigantemente avanzando.

Le Abilità o Competenze richieste (Hard Skills): cosa imparare

Per prima cosa: le competenze tecniche. siccome lo Sviluppo di Android può essere fatto su un computer Mac, PC Windows o Linux. Avrete anche bisogno di un dispositivo Android (è possibile utilizzare un emulatore come Genymotion per lo sviluppo, ma alla fine ti consigliamo di provare su un dispositivo reale).

Ecco il breve elenco degli strumenti da conoscere (must-know skills) per diventare uno sviluppatore Android.

Java

L’elemento più fondamentale  per lo sviluppo con Android è il linguaggio di programmazione Java. Per essere un  sviluppatore Android di successo, è necessario stare bene con i concetti di Java come loop, liste, variabili e strutture di controllo.  Java è uno dei linguaggi di programmazione più utilizzati dagli sviluppatori di software di oggi, in modo cheimparare i suoi pro e  contro ci metterà in una buona posizione per trovare lavoro. (qualcuno dal mondo di sviluppo back-end?) Anche al di là della piattaforma Android.

SQL

Avrete anche bisogno di imparare le basi di SQL per gestire e organizzare i database all’interno delle applicazioni Android.   SQL è un linguaggio per esprimere le query (filtri chiamate) e cosi consultare e recuperare dati o informazioni dai database. Una volta imparate a scrivere (filtri e query), non ci saranno domande che non si possano chiedere ai tuoi database (dati).

SDK- Android Software Development Kit e Android Studio

Una delle parti migliori dello sviluppo per Android è che gli strumenti necessari sono gratuiti e facili da ottenere. L’SDK Android è disponibile per il download free-of-charge -gratis -, come lo è anche Android Studio, l’ambiente di sviluppo integrato ufficiale (IDE) per lo sviluppo di applicazioni Android.     Android Studio è il programma principale con cui gli sviluppatori a scrivere codice e assemblare le loro applicazioni da vari pacchetti e le librerie. L’Android SDK include codice di esempio, librerie software, utili strumenti di codifica, e molto di più per aiutarvi a costruire, testare, e debug-gare (mettere appunto)  le vostre applicazioni Android.

Un altro punto rilevante di sviluppare per Android è la facilità del processo di distribuzione (deploy)  delle app. Una volta che si è pronti per inviare la tua applicazione a Google Play Store, basta registrarsi con un account editore/sviluppatore – Google Play publisher account -(che include il pagamento di una tassa di 25 dollari tramite Google Wallet), seguire passo a passo tutte le voci della lista di lancio di Android (launch checklist), pubblicare la app attraverso il Developer Google Play Console, attendere la approvazione di Google, e vederla apparire. Semplice e soddisfacente.

XML

I programmatori usano XML per descrivere i dati. Le basi della sintassi XML sarà utile – a pieno titolo  – nel vostro viaggio  degli sviluppatori Android  per sviluppare diversi compiti, come la progettazione di interfaccie utente (UI), presentazione( layout) e analisi dei dati alimentati o provenienti da internet. Molto di ciò che è necessario per XML può essere fatto attraverso Android Studio, ma è costruttivo essere fondato nelle basi di questo linguaggio di markup.

Le Abilità o Competenze richieste (Hard Skills): Come imparare a dimostrare di averle

Per gli sviluppatori di Android abbondano  le resource (strumenti) per potere cosi affinare le proprie competenze e  condividere suggerimenti e migliori pratiche (best practice).    Alcuni preferiti del settore includono Stack OverflowAndroid Weekly, il  Android Dev subreddit, vogella tutorials, YouTube(lezioni di Youtube), e il sito ufficiale di  Google per gli sviluppatori Android Developers site—specialmente il Building Your First App modulo.    Se sei un allievo della carta stampata, ci sono del libri molto popolari di Android come  Head First Java, Android Programming (programmazione) : Pushing the Limits(superare i limiti), e Java: A Beginner’s Guide( Guida per principianti di Java.)

Quando si inizia a pensare ad attrarre delle nuove  opportunità di lavoro, e alla vendita (migliore presentazione)  di se stessi come validi candidati,  è importante prendere in considerazione di mettere in in mostra il proprio lavoro sviluppato su Android (apps) nei siti come suon LinkedInXing, attraverso un portfoglio – cartella di (app) personale online, o su siti come e BehanceGitHub.    Gomito a gomito, di persona o  in forma virtuale, incontrarsi con altri sviluppatori Android e con molteplici responsabili delle assunzioni o reclutatori tramite Meetup (incontri conferenze) , tali come droidcon, e concentratori di gruppi o reti digitali (hubs) come LinkedIn groups, Twitter chats, e Quora feeds (sviluppi e notizie). Lei non saprà mai cosa potrà imparare, o a chi potrà mai trovare ?

Le competenze e abilità trasversali (soft skills)

Come per qualsiasi lavoro, non è sufficiente essere completo o senza difetti a livello tecnico, devi fare in modo di affinare le proprie abilità interpersonali tanto quanto quelle di codifica (scrittura analisi di codice).

Perseveranza (e pazienza … a.d.t.)

La pratica rende perfetti davvero quando si parla di sviluppo delle applicazioni. Inevitabilmente, si troveranno dei posti di blocco o degli ostacoli nel processo di sviluppo, in particolare agli inizi dello stesso.  Avrete bisogno di un gran cumulo di perseveranza per poterlo utilizzare a dovere nei momenti frustranti. Per fortuna, dal momento che Android è open-source, cosi che gli sviluppatori di Android potranno  usufruire di librerie e di  framework – pieni di lavori condivisi (codice example)  creati e pubblicati su siti come GitHub.

Avere un atteggiamento Collaborativo

L’atteggiamento Collaborativo è una richiesta di vitale importanza, nella maggior parte dei lavori offerti agli sviluppatori.   Anche se si sta lavorando in un solo progetto, sarà inevitabile dovere lavorare  insieme con altre persone, tali come specialisti in grafica e design (grafici) , personale del marketing, o della alta direzione aziendale (top managers).  Inizia a prendere confidenza con l’accettare semplicemente (umilmente a.d.t)  i feedback (appunti, commenti, e/ o suggerimenti migliorativi) sul proprio lavoro, giungendo a compromessi  con i colleghi, e collaborando con gli altri partecipanti  del progetto per cosi  creare dei prodotti eccezionali.

Sete di conoscenza

Tutti i buoni sviluppatori, mobile e non, sono impegnati nella formazione continua e permanente. Soprattutto nel paesaggio del rapido sviluppo di applicazioni mobile:  con l’avvento di app indossabili, app TV, app per le auto, e altro ancora, gli sviluppatori mobile devono tenere gli occhi e le orecchie aperte alle nuove tecnologie e alle mutabilità continua delle “migliori pratiche”.   Non importa il  livello  raggiunto delle loro conoscenze,essi  non si fermano mai nello  indagare, esplorare, giocare attorno, e fare delle domande.

Sintesi (the bottom line)

Le mobile applicazioni hanno una richiesta altissima, oggi più che che mai, il che rende questo momento uno fra il più incredibile  per lanciare propria carriera come sviluppatore Android. Con l’allargamento Androidoltre lo spazio dei consumatori al lavoro e all’istruzione, e continua a spingere le frontiere i limiti consolidando ricche esperienze utente di tipo cross-device(attraverso molteplice dispositivi) con il nuovo Material design language, Sono tempi eccitanti (momento particolarmente emozionante)  per tuffarsi nello sviluppo di Android. Quindi, andare avanti, con i i piedi per prima. L’acqua è calda (tiepida a.d.t.!).

Molte grazie agli sviluppatori esperti per conto di Google: Enrique López-Mañas (eenriquelopez) ed Etienne Caron, e allo sviluppatore per conto di Udacity Eric Gonzalez per i loro contributi e commenti tecnici all’interno di questo articolo.

a.d.t. (annotazione del traduttore Carmen Vargas)