Come possiamo convertire l'applicazione web Django in un'applicazione Android?
Sì, è possibile e ci sono due modi per farlo -
Puoi usare semplicemente una WebView che serve il tuo sito web nel suo complesso, ma l'unico vero vantaggio di questo sarebbe - non dovrai codificare un Android nativo da zero e avrai una "app" pronta a partire solo se il tuo sito web è mobile responsive (che nel 2018, sono sicuro che lo sia). Per elaborare ulteriormente, i tuoi utenti avranno la stessa esperienza che avrebbero con il tuo sito web se lo stessero visualizzando su un browser su un cellulare, ma dovrebbero solo scaricare l'app una volta dal PlayStore e non digitare manualmente l'URL nel browser.
Tuttavia il rovescio della medaglia sarebbe che non ci sarebbe alcun guadagno reale in termini di prestazioni o caratteristiche native che sareste in grado di utilizzare se si va con il percorso che ho menzionato sopra ^.
I vantaggi che avreste sviluppando un'app completamente nativa per il vostro sito web sarebbero i seguenti - aumento delle prestazioni; la vostra app non dovrebbe caricare icone o pulsanti, file Javascript, fogli di stile CSS, o qualsiasi altro file. Si sentirebbe molto più fluido e avresti un'ampia varietà di caratteristiche da usare per sviluppare cose che gli utenti dell'app potrebbero fare come inviare notifiche o memorizzare i dati nella cache per tempi di visualizzazione più rapidi, o avere roba da segnalibro degli utenti se la tua web app ha contenuti strutturati in questo modo sul dispositivo locale. Poi c'è la possibilità che se la tua app ha un bell'aspetto, allora avrà una valutazione più alta e le persone saranno più propense a scaricarla, in contrasto con il fatto che se le persone iniziano a notare che le prestazioni dell'app sono proprio come il sito web, se non peggio (dal momento che occuperà anche spazio sulla memoria locale), otterrà recensioni negative.
Ora il vero lato negativo di questo è - dovrai avere una chiara comprensione di Java (o Kotlin) O React Native che significa Javascript. Personalmente, non sono del tutto convinto dell'idea di React Native, quindi parlerò soprattutto di Kotlin, poiché penso che sia molto meglio di Javascript, specialmente per lo sviluppo di Android. Oltre a questo, molto probabilmente dovrete impostare un'api REST completamente nuova per la vostra applicazione Django, nel caso non l'aveste già fatto.
Per prima cosa, dovrete progettare la vostra app. Vuoi che assomigli al sito web mobile che hai già o vuoi un look diverso? Molto probabilmente dovrete cambiare qualche componente chiave del design del vostro sito web come la navigazione per la vostra app. Android spinge le persone ad avere una navigazione in basso o una scheda a scorrimento. Entrambi sono ottimi, ma trovo che la navigazione in stile scheda scorrevole sia molto più attraente. Successivamente, dovresti impostare il tuo attuale design di base. Il tuo sito web ha qualche contenuto iterabile? Se lo fa, probabilmente vorrai avere una RecyclerView per elencare il contenuto che sarà servito in qualche formato - molto probabilmente JSON. Ti suggerisco di usare una libreria esterna per questo. Il mio goto è Volley.
Dopo tutto questo, vorrete progettare la vostra struttura API. Gli sviluppatori di Django usano principalmente django-rest-framework. È stato in giro per un po' di tempo ed è, probabilmente, il più famoso framework REST. La parte migliore è che non è solo compatibile con Django, ma possiamo usare i suoi serializzatori per qualsiasi classe costruita su misura per noi stessi.
Che cosa sono i serializzatori? Buona domanda - in questo contesto, è il processo di conversione dei dati che abbiamo memorizzato come modelli di Django che possono funzionare solo con il suo ORM in tipi diversi come JSON o XML che possono essere analizzati universalmente.
Quindi, se il vostro sito ha delle funzioni CRUD, vorrete che abbiano il loro endpoint separato. Una parte importante del design REST è che i dati non hanno contesto. Sono completamente indipendenti da qualsiasi vista o cookie circostante nel browser. Questo significa che non sarete in grado di usare l'autenticazione e la gestione degli utenti dotati di Dio da django.contrib.auth.
Quindi un componente chiave per avere un codice pulito e una buona struttura della vostra API REST è avere un design chiaro all'inizio. Prendete un pezzo di carta e una matita e fate un grafico di tutto il vostro layout dopo aver fatto un po' di ricerca sullo sviluppo di REST api.
Tutti i migliori.