2015-06-12 18 views
9

Sto lavorando a un'app che comunica con un dispositivo Bluetooth LE. Vorrei un modo per evitare di svilupparlo due volte, per iOS e per Android. Esiste un framework per app multipiattaforma che abbia un buon supporto per Bluetooth LE?Applicazione Bluetooth LE, come si costruisce cross-plaftorm (iOS-Android)?

Ho avuto una rapida occhiata a framework come Cordova (PhoneGap), Appcelerator, Xamarin ecc. (I soliti sospetti: ad esempio this list) ma non riesco a capire se (a) supportano Bluetooth LE su ogni piattaforma a tutto, e (b) se lo fanno, sia tramite chiamate native (accesso come?) o qualche tipo di wrapper all'API nativa (come appare il wrapper?), e (c) se si tratta di un wrapper, quanto è completo e quanto è stabile.

Se si dispone di esperienza con questi, è possibile riassumere lo stato del supporto Bluetooth LE in diversi framework?

EDIT Un po 'di informazioni da scavare in varie opzioni e dalle risposte di seguito:

P.S. Oltre al Bluetooth le mie esigenze sono davvero minime: questa app avrà un sacco di elementi dell'interfaccia utente ma non di un tipo complicato, solo un gruppo di pulsanti/caselle di controllo/cursori su una serie di schermi diversi (che sarebbe molto noioso da mantenere su due piattaforme). Dovrei anche effettuare alcune chiamate a un'API REST. La velocità non è molto importante, non c'è molta logica app (è scritta principalmente in C ora) e l'aspetto dell'interfaccia utente nativa non è così importante. Tuttavia, lavorare su versioni precedenti delle piattaforme è importante, idealmente tornare ad Android 4.3 e iOS 7.0.

+2

Ci sono diversi plugin con PhoneGap su blueooth a basso consumo energetico. E se hai bisogno di elementi dell'interfaccia utente, penso che li avrai tutti facilmente usando HTML5/CSS. Ma costruire per entrambi gli ambienti non è così facile che sembra che ci sia bisogno di due ambienti adeguati per ogni sistema operativo. Dai un'occhiata alla documentazione e come funziona Phonegap.http: //docs.phonegap.com/en/4.0.0/guide_overview_index.md.html#Overview. Ultimo, se vuoi vendere la tua app un giorno, nota che Xamarin e Appcelerator hanno i canoni di licenza e Cordova è gratis. – AshBringer

+4

Per tutti coloro che votano per chiudere questo, puoi spiegare perché? Questo è direttamente in argomento (vedi: "strumenti software comunemente usati dai programmatori" ecc.). Non si tratta di * raccomandazioni basate sull'opinione *, ma piuttosto di domande sui fatti ("funziona nel framework X?"). Quindi, sono perplesso su quale sia il problema. –

+0

puoi condividere con chi hai finito (se l'hai fatto)? Grazie – Apperside

risposta

8

Ho utilizzato il plug-in Cordova Randdusing per BluetoothLE e funziona bene per Android e iOS (il telefono Windows è ancora in fase di sviluppo). Essendo Cordova è progettato per funzionare con un'app HTML5/JavaScript, ma i plugin stessi (come tutti i plugin Cordova?) Sono scritti in codice nativo. In precedenza nel mio progetto ho provato Evothings che ha anche il plugin BLE ma ho trovato alcuni problemi, e non so se questi sono stati ancora risolti. La mia app sembra molto simile alla tua in termini di requisiti dell'interfaccia utente e, se preferisci, posso aiutarti a integrare il codice BLE, ma prima dovrai riscrivere la tua "c" in javascript. BTW chiedi di utilizzare con Android precedente ma AFAIK BLE è supportato solo in Android 4.3 or higher.

+0

Controllerò sicuramente il plug-in Cordova. Che cosa hai incontrato con Evothings? (sembra davvero pulito ma non l'ho ancora provato). –

+0

Sei in grado di connettere telefono-a-telefono con il plugin bluetoothle? Solo per inviare dati da un telefono Android a un telefono Windows tramite Bluetooth. – Lfa

+0

Hai mai trovato un'app cordova per iOS per Randdusing? Quello che ho trovato da M $ sembra supportare solo Android/Windows. – socca1157

3

Sto usando Qt quadro lo sviluppo di applicazioni cross-platform con il supporto BLE: http://doc.qt.io/qt-5/qtbluetooth-lowenergyscanner-example.html

Attualmente le piattaforme supportate sono Andriod, iOS, OSX, Linux. Si dice che la piattaforma Windows supporti BLE nella prossima versione Qt 5.6 (non vedo davvero l'ora di farlo). Le classi relative al BLE sono facili da usare e Qt ha fornito due esempi di progetti in esempi/documentazione. La cosa di cui non sono sicuro è ottenere dati specifici del produttore durante una scansione. In questo momento sto effettuando una connessione con i dispositivi per ottenere determinate informazioni che non sarebbero necessarie se riesco a leggere i Dati specifici del produttore. Qt's BLE attualmente supporta solo il ruolo centrale.

Qt è basato su C++, se questo è importante per te.

+0

Hai pubblicato questa app? Sono davvero curioso di provarlo e valutarne le prestazioni e l'estetica ... –