Presentazione di My Webview App: Una Fondazione Sicura e Open-Source per lo Sviluppo Android
Oggi siamo entusiasti di annunciare il rilascio ufficiale open-source di My Webview App, un potente framework applicativo Android ricco di funzionalità che funge da fondamento per le applicazioni di piattaforma ufficiali di MYETV. Questo progetto rappresenta mesi di sviluppo, rigorosi test di sicurezza e feedback della comunità, ed è con grande entusiasmo che lo condividiamo con gli sviluppatori di tutto il mondo.
🔗 Repository GitHub: https://github.com/OskarCosimo/my-webview-app/
Cos'è la mia app WebView?
L'App WebView è un modello di applicazione Android completo costruito con Java e Android Studio. Colma il divario tra applicazioni web e mobili fornendo un'implementazione sofisticata di WebView con estensive opzioni di personalizzazione, robuste funzionalità di sicurezza e integrazione perfetta con le moderne tecnologie web.
A differenza dei semplici wrapper WebView, My Webview App offre una soluzione pronta per la produzione con funzionalità di livello aziendale tra cui:

- 🌐 Caricamento Contenuti Flessibile - Supporto sia per URL basati su Internet che per contenuti HTML locali offline
- 🔔 Integrazione Firebase Cloud Messaging - Supporto nativo per notifiche push
- 📱 Scanner di Codici QR - Funzionalità di scansione QR basate su fotocamera integrate
- 🌍 Supporto Multilingue - Pre-tradotto in oltre 20 lingue
- 🎨 Personalizzazione Estensiva - Controllo dettagliato sull'aspetto, sul comportamento e sulle politiche di sicurezza
- 🔒 Funzionalità di Sicurezza Avanzate - Applicazione HTTPS, whitelist dei domini e convalida SSL
La Connessione MYETV
Questa non è solo un progetto secondario. My Webview App utilizza lo stesso codice base che alimenta le applicazioni Android ufficiali di MYETV. Quando utilizzi le app mobili di MYETV per trasmettere contenuti, gestire il tuo account- [Account: an Account contains the personal information that is assigned to those who register and access with email and password] - o interagire con la nostra piattaforma, stai sperimentando questo framework in azione. Rendendo open-source questo progetto, restituiamo alla community di sviluppatori che ci ha supportati mantenendo trasparenza sul nostro stack tecnologico.
Comprendere la licenza Apache 2.0
La mia app Webview è rilasciata sotto la Apache License- [License: a permit from an authority to own or use something, do a particular thing, or carry on a trade] - 2.0, una delle licenze open-source più popolari e adatte agli sviluppatori disponibili. Ma cosa significa realmente per te come sviluppatore?
Cosa consente la licenza Apache 2.0
La licenza Apache 2.0 è classificata come una licenza permissiva, il che significa che ti concede la massima libertà con restrizioni minime. Nello specifico, puoi:
- Uso Commerciale - Usare il codice in prodotti commerciali e software- [Program/Software: the instructions that control what a computer does; computer programs] - proprietari senza pagare le tariffe di licenza
- Modifica - Modificare liberamente il codice sorgente per soddisfare le tue esigenze specifiche
- Distribuzione - Condividi il codice originale o modificato con altri
- Uso Privato - Utilizza e modifica il software privatamente senza alcun obbligo di condividere i tuoi cambiamenti
- Concessione di Brevetto - Ricevi diritti di brevetto espliciti dai contributori, proteggendoti da contenziosi sui brevetti
Requisiti Semplici
La licenza Apache 2.0 ha solo pochi requisiti di base:
- Includi la Licenza - Devi includere una copia del testo della licenza Apache 2.0 in qualsiasi distribuzione
- Modifiche di Stato - Se modifichi il codice, devi documentare cosa è stato cambiato
- Conservare i preavvisi - Mantenere tutti i preavvisi di copyright, brevetto, marchio e attribuzione del codice originale
- Nessun uso di marchi registrati - Non è possibile utilizzare i marchi Apache o MYETV senza permesso
Perché abbiamo scelto Apache 2.0
A differenza delle licenze copyleft più restrittive (come la GPL), Apache 2.0 non richiede che tu rilasci le tue modifiche sotto la stessa licenza. Ciò significa che puoi costruire applicazioni proprietarie utilizzando My Webview App senza alcun obbligo di rendere open-source l'intero progetto. Riteniamo che questa flessibilità incoraggi una maggiore adozione e permetta agli sviluppatori di creare prodotti commerciali beneficiando comunque della collaborazione open-source.
L'esplicita concessione di brevetto è un'altra caratteristica fondamentale che fornisce protezione legale contro le rivendicazioni di brevetto da parte dei contributori, dandoti la fiducia che l'uso di questo codice non ti esponga a problemi legali imprevisti.
Sicurezza: La Nostra Massima Priorità

Quando si tratta di applicazioni WebView, la sicurezza non è opzionale, è fondamentale. Le implementazioni WebView possono potenzialmente esporre gli utenti ad attacchi basati sul web come Cross-Site Scripting (XSS), reindirizzamenti dannosi e furto di dati se non sono adeguatamente protette. Ecco perché abbiamo implementato più livelli di sicurezza in tutta My Webview App.
1. Applicazione di HTTPS e Validazione SSL
La mia App Webview include un'applicazione HTTPS configurabile che può essere attivata per rifiutare tutte le connessioni HTTP, garantendo che tutta la trasmissione dei dati sia crittografata. L'app implementa anche una completa validazione del certificato SSL con gestione personalizzata degli errori:
- Validazione della Catena di Certificati - Verifica l'intera catena del certificato SSL
- Verifica Scadenza - Avvisa gli utenti riguardo ai certificati scaduti
- Rilevamento Certificati Auto-Firmati - Identifica e blocca certificati auto-firmati non attendibili
- Avvisi Utente - Visualizza avvisi di sicurezza dettagliati prima di caricare contenuti non sicuri
- Domini consentiti - Solo gli URL provenienti da domini whitelisted vengono caricati nel WebView principale. Tutti gli altri domini si aprono in un browser secondario contenuto o sono bloccati completamente
- Domini Autorizzati URL Speciali - Restringe quali domini possono attivare funzioni speciali dell'app (come chiudere l'app, aprire lo scanner QR o abilitare la modalità Non disturbare). Ciò impedisce a siti web dannosi di sequestrare le funzionalità dell'app
- Domini WebView Secondari - Domini esterni che si aprono sempre in un browser secondario e ristretto con permessi limitati
- Restrizioni di accesso ai file - Accesso al sistema di file disabilitato dal contenuto web per prevenire attacchi di inclusione locale di file
- Controllo dell'esecuzione di JavaScript - JavaScript può essere abilitato o disabilitato selettivamente in base ai requisiti di sicurezza
- Supporto per la Content- [Contents: every content intended as text, images, audio or video] - Security Policy - Supporto completo per gli header CSP per prevenire attacchi XSS
- Blocco di contenuti misti - Previene il caricamento di risorse HTTP non sicure su pagine HTTPS
- Gestione dei permessi di geolocalizzazione - Controllo granulare sull'accesso alla posizione con requisiti di consenso dell'utente
- Archiviazione Sicura dei Token - I token FCM vengono archiviati in modo sicuro utilizzando le SharedPreferences di Android con supporto crittografico
- Gestione del Rinnovo dei Token - Rilevamento e gestione automatici degli aggiornamenti dei token
- Iniezione Opzionale di Token nell'URL - Inclusione automatica e configurabile dei token negli URL per la verifica lato server.
- Accesso alla Fotocamera - Richiesto solo quando la scansione QR è abilitata, con una chiara motivazione per l'utente.
- Permessi di Notifica - Richiesto consenso esplicito per le notifiche push (Android 13+)
- Accesso alla Posizione - Richiesto solo quando i siti web necessitano di geolocalizzazione, con conferma dell'utente
- Accesso allo Storage - Capacità di caricamento file controllate con verifica dei permessi
- Vincolare i certificati SSL per prevenire attacchi man-in-the-middle
- Configurare autorità di certificazione fidate personalizzate
- Applicare restrizioni sul traffico in chiaro
- Definire politiche di sicurezza specifiche per il dominio
- Segnalazione di problemi di sicurezza - Linee guida chiare per la divulgazione responsabile delle vulnerabilità di sicurezza
- Gestione delle dipendenze - Aggiornamenti regolari di librerie di terze parti e SDK Firebase
- Documentazione di sicurezza - Documentazione completa delle funzionalità di sicurezza e configurazioni raccomandate
- Modalità Internet - Carica contenuti da server web remoti con cache completa, fallback offline e monitoraggio di rete
- Modalità Locale - Impacchetta file HTML, CSS e JavaScript direttamente all'interno dell'app per un funzionamento completamente offline
- Esegue più tentativi di verifica prima di dichiarare lo stato offline (riducendo i falsi positivi)
- Monitora i cambiamenti dello stato della rete in tempo reale
- Ricarica automaticamente il contenuto quando la connettività viene ripristinata
- Consente una personalizzazione completa dell'esperienza offline tramite HTML/CSS
- Gestione automatica dei token - Gestisce la generazione, l'aggiornamento e lo stoccaggio dei token FCM
- Gestione delle notifiche - Elabora sia le notifiche in primo piano che quelle in background
- Supporto deep linking - Le notifiche possono aprire pagine specifiche all'interno dell'app
- Icone di notifica personalizzate - Personalizzazione semplice dell'aspetto delle notifiche
- Ponte JavaScript - Il contenuto web può accedere al token FCM per l'registrazione lato server
- Attivato dal Web - I siti web possono attivare la scansione tramite uno schema URL speciale (
qrcode://) - Rinvio dei Risultati - I dati scansionati vengono automaticamente reindirizzati all'applicazione web
- Gestione dei permessi della fotocamera - Gestisce i permessi di runtime con chiare spiegazioni per l'utente
- Supporto per più formati - Legge codici QR, codici a barre e altri formati 2D
- Lingue europee: Inglese, Spagnolo, Francese, Tedesco, Italiano, Portoghese, Olandese, Polacco, Svedese, Danese, Norvegese, Finlandese, Ceco
- Lingue asiatiche: Cinese (Semplificato), Giapponese, Coreano, Hindi
- Medio Oriente: Arabo, Turco
- Schermata di benvenuto - Logo, durata e comportamento di caricamento configurabili
- Indicatori di avanzamento - Più stili (spinner, progresso lineare) con colori personalizzati
- Aggiorna trascinando - Ricaricamento personalizzabile scorrendo verso il basso con temi di colore
- Browser Secondario - Controllo completo sull'aspetto del browser dei link esterni
- Barra di Stato - Colori personalizzati e opzioni di testo chiaro/scuro
- Blocco Orientamento - Controlli separati per gli orientamenti di telefono e tablet
closetheapp://- Chiudere l'applicazione in modo eleganteqrcode://- Aprire lo scanner di codici QRopenappsettings://- Navigare nelle impostazioni dell'app Androidshareapp://- Attivare la funzionalità di condivisione nativapictureinpicture://- Abilitare la modalità picture-in-picture per i videotogglenotifications://- Abilitare/disabilitare la modalità Non disturbare- Streaming Video - Riproduzione fluida con latenza minima
- Aggiornamenti in Tempo Reale - Notifiche push per eventi live e nuovi contenuti
- Autenticazione Utente - Accesso sicuro e gestione delle sessioni
- Protezione dei Contenuti - DRM e consegna video sicura
- Portata Globale - Supporto multi-lingua per pubblici internazionali
- Resilienza Offline - Degradazione graduale quando la connettività è scarsa
- Elenco Bianco dei Domini - Solo i domini MYETV possono caricare nella WebView principale
- Notifiche Push - Avvisi per nuovi contenuti, follower- [Follower: a follower refers to a person who subscribes to your account or network in order to receive your updates] - e raccomandazioni personalizzate
- Rilevamento del Tema - Rilevamento automatico della modalità chiara/scura passato al contenuto web
- Riserva Offline - Pagina offline personalizzata con il marchio MYETV
- Rafforzamento della Sicurezza - Modalità solo HTTPS con convalida rigorosa del certificato
- Integrazione Analytics - Firebase Analytics per il tracciamento dell'utilizzo
- Clonare il repository - Visita https://github.com/OskarCosimo/my-webview-app/ e clona o scarica il codice
- Aprire in Android Studio - Importa il progetto in Android Studio (consigliato Arctic Fox o versioni successive)
- Configura Config.java - Personalizza l'app modificando il file di configurazione completo
- Rifattorizzare il nome del pacchetto - Cambia dal predefinito
com.my.webviewapplication.mobilenel tuo pacchetto - Configurare Firebase - Crea un progetto Firebase e scarica il tuo file
google-services.json - Personalizzare le risorse - Sostituisci icone dell'app, logo dello schermo iniziale e contenuto HTML offline
- Costruire e Testare - Esegui su un emulatore o dispositivo fisico per testare la funzionalità
- Distribuzione - Genera una build di rilascio firmata per la distribuzione
Questo approccio multistrato assicura che gli utenti siano sempre consapevoli della sicurezza della connessione e possano prendere decisioni informate riguardo all'utilizzo di connessioni potenzialmente non sicure.
2. Whitelisting dei domini e filtraggio degli URL
Una delle funzionalità di sicurezza più potenti è il sistema di controllo dei domini a tre livelli:
Questa architettura assicura che i contenuti non fidati siano sempre isolati (sandboxed) e non possano compromettere l'applicazione principale.
3. Integrazione Google Safe Browsing
La mia app Webview integra l'API di Safe Browsing di Google, che fornisce protezione in tempo reale contro siti di phishing, distribuzione di malware e altre minacce basate sul web. Quando abilitato, Safe Browsing analizza automaticamente gli URL e avvisa gli utenti prima che navigano su siti web pericolosi.
Questa funzionalità è particolarmente importante per le applicazioni che consentono agli utenti di navigare liberamente sul web, poiché fornisce un ulteriore livello di protezione oltre l'elenco bianco dei domini.
4. Configurazione di Sicurezza WebView
L'app implementa le migliori pratiche di sicurezza per Android WebView, tra cui:
5. Isolamento dei processi (Android 8.0+)
Su Android 8.0 e versioni successive, My Webview App sfrutta la funzione di isolamento dei processi di WebView. Ciò significa che il motore di rendering WebView viene eseguito in un processo sandbox separato dall'applicazione principale. Se un sito web dannoso riesce a sfruttare una vulnerabilità di WebView, l'attacco è contenuto all'interno del processo isolato e non può accedere direttamente ai dati dell'applicazione ospite o eseguire codice arbitrario con i permessi dell'app.
6. Integrazione di sicurezza Firebase
Per le applicazioni che utilizzano le notifiche push di Firebase, My Webview App implementa una gestione sicura dei token:
7. Gestione dei Permessi
L'app implementa richieste di permessi in tempo di esecuzione per funzionalità sensibili:
8. Configurazione della Sicurezza di Rete
La mia app Webview supporta la Configurazione della Sicurezza di Rete di Android, consentendo agli sviluppatori di:
Aggiornamenti di sicurezza regolari
La sicurezza è un impegno continuo, non un'implementazione una tantum. Essendo la base per le applicazioni di produzione di MYETV
Manteniamo anche pratiche di sicurezza trasparenti:
Funzionalità chiave in dettaglio
Caricamento contenuti in modalità duale
La mia app Webview supporta due modalità operative distinte, rendendola versatile per diversi casi d'uso:
Questa flessibilità consente agli sviluppatori di costruire sia applicazioni di streaming online (come MYETV) che applicazioni 'offline-first' utilizzando la stessa base di codice.
Rilevamento Offline Intelligente
L'app include un monitoraggio di rete sofisticato che rileva la perdita di connessione e visualizza automaticamente una pagina offline personalizzabile. A differenza dei semplici controlli di connettività, il sistema di rilevamento offline:
Integrazione Firebase Cloud Messaging (FCM)
Le notifiche push sono essenziali per le moderne applicazioni mobili e My Webview App fornisce un'integrazione Firebase senza interruzioni:
Scanner di Codici QR Integrato
Lo scanner di codici QR integrato utilizza la fotocamera del dispositivo e la libreria ZXing per fornire una scansione veloce e affidabile. Cosa lo rende speciale:
Supporto multilingue
Con risorse di stringhe pre-tradotte in oltre 20 lingue, My Webview App è pronta per il dispiegamento globale. Le lingue supportate includono:
Tutti gli elementi dell'interfaccia utente, dai dialoghi di autorizzazione ai messaggi offline, sono completamente localizzati e la selezione automatica della lingua di Android assicura agli utenti di vedere i contenuti nella loro lingua preferita.
Personalizzazione avanzata dell'interfaccia utente
Ogni aspetto visivo dell'app può essere personalizzato tramite il file centrale Config.java:
Schemi URL Speciali per Funzionalità Native
I contenuti web possono attivare funzioni native dell'app utilizzando schemi URL speciali, una potente funzionalità che consente un'integrazione profonda tra il tuo sito web e l'app mobile:
Questi schemi sono limitati a domini autorizzati per motivi di sicurezza, impedendo a siti web malintenzionati di sequestrare le funzionalità dell'app.
Supporto Picture-in-Picture
Su Android 7.0 e versioni successive, la mia App Webview supporta la modalità nativa Picture-in-Picture. Gli utenti possono minimizzare l'app continuando a rimanere connessi in una finestra flottante perfetta per il multitasking.
Modalità Non Disturbare
Una funzione unica che consente all'app di richiedere i permessi di Modalità Non Disturbare, bloccando temporaneamente le notifiche da altre app mentre gli utenti interagiscono con il tuo contenuto. Questo è particolarmente prezioso per le applicazioni di streaming video dove la visione ininterrotta è importante.
Costruito per MYETV, Progettato per tutti

La mia App Webview non è solo un template generico; è codice di produzione testato in condizioni reali che alimenta applicazioni del mondo reale che servono migliaia di utenti ogni giorno. Quando abbiamo costruito la piattaforma mobile di MYETV, avevamo bisogno di una soluzione WebView in grado di gestire:
Piuttosto che costruire una soluzione proprietaria, abbiamo creato un framework estensibile che risolve queste sfide rimanendo abbastanza flessibile per qualsiasi caso d'uso. Che tu stia costruendo una piattaforma video come MYETV, un lettore di notizie, un'app e-commerce o un portale aziendale, My Webview App fornisce la base di cui hai bisogno.
Come MYETV Utilizza Questo Framework
MYETV's applicazioni mobili sono essenzialmente versioni personalizzate di My Webview App con il nostro branding, le configurazioni del dominio e l'impostazione Firebase. Ecco come lo abbiamo configurato:
Rendendo open-source questo framework, stiamo consentendo ad altri sviluppatori di costruire applicazioni con lo stesso livello di raffinatezza e funzionalità che gli utenti di MYETV si aspettano.
Iniziare

Pronto per creare la tua app Android utilizzando My Webview App? Il processo è semplice:
Il repository di GitHub include una documentazione completa che copre ogni opzione di configurazione, impostazione di sicurezza e opportunità di personalizzazione. Che tu sia uno sviluppatore Android esperto o nuovo nello sviluppo mobile, il dettagliato README ti guiderà attraverso il processo.
Configurazione Semplificata
Uno degli obiettivi di progettazione per My Webview App era rendere la personalizzazione il più semplice possibile. Piuttosto che richiedere una profonda conoscenza dello sviluppo Android o dei dettagli interni di WebView, quasi ogni aspetto dell'app può essere configurato tramite un singolo Config.java file.
Ecco un rapido esempio di quanto sia facile configurare le impostazioni di base:
// Carica il tuo sito web
public static final String HOME_URL = "https://mywebsite.com"; // Abilita la modalità solo HTTPS
public static final boolean LOAD_ONLY_HTTPS = true; // Aggiungi il tuo dominio alla lista bianca
public static final String[] ALLOWED_DOMAINS = { "mywebsite.com", "www.mywebsite.com"
}; // Abilita lo scanner QR
public static final boolean ENABLE_QR_SCANNER = true; // Abilita le notifiche push
public static final boolean ENABLE_FIREBASE_PUSH = true;
Ecco fatto! Con solo poche righe di configurazione, hai un'app Android completamente funzionante con funzionalità di sicurezza, scansione QR e notifiche push.
Comunità e supporto
L'open source prospera grazie alla collaborazione della comunità e ci impegniamo a promuovere una comunità attiva e utile attorno a My Webview App.
Contribuire
Accogliamo i contributi di sviluppatori di tutti i livelli di competenza. Che tu voglia:
- Correggere bug o migliorare le funzionalità esistenti
- Aggiungere nuova funzionalità
- Migliorare la documentazione
- Tradurre le stringhe dell'interfaccia utente in lingue aggiuntive
- Condividere il tuo caso d'uso o la tua storia di successo
...i tuoi contributi sono apprezzati e valorizzati. Controlla il repository di GitHub per le linee guida sui contributi e i problemi aperti che richiedono attenzione.
Segnalazione di problemi
Se riscontri bug, vulnerabilità di sicurezza o hai richieste di funzionalità, apri un problema su GitHub. Per problemi sensibili alla sicurezza, forniamo un processo di divulgazione responsabile per garantire che le vulnerabilità vengano risolte prima della divulgazione pubblica.
Discussione e Supporto
Avete domande o avete bisogno di aiuto per iniziare? La sezione Discussioni di GitHub è il luogo perfetto per fare domande, condividere idee e connettersi con altri sviluppatori che utilizzano My Webview App. Siamo anche attivi nel monitorare i problemi e cerchiamo di rispondere alle domande tempestivamente.
Il Futuro di My Webview App
Questo rilascio iniziale è solo l'inizio. Abbiamo piani entusiasmanti per futuri miglioramenti:
- Analisi Potenziate - Dashboard analitico integrato e tracciamento eventi
- Framework di Test A/B - Facile sperimentazione con diverse configurazioni
- Autenticazione Biometrica - Supporto per riconoscimento impronte digitali e facciale
- Ottimizzazione Video - Riproduzione video migliorata con supporto streaming adattivo
- Architettura Mobile/TV - Sistema modulare per diversi dispositivi
Man mano che la piattaforma di MYETV si evolve, lo sarà anche My Webview App. Tutti i miglioramenti che apportiamo alle nostre applicazioni verranno reimmessi nel progetto open source.
Perché l'Open Source è Importante
Crediamo fermamente nel potere dell'open source. Rilasciando My Webview App sotto la licenza Apache 2.0, non stiamo solo condividendo codice; stiamo contribuendo a un ecosistema più ampio di strumenti e conoscenze che beneficia tutti.
L'open source consente:
- Trasparenza - Puoi ispezionare ogni riga di codice per capire esattamente come funziona l'app
- Sicurezza - La revisione della comunità aiuta a identificare e correggere le vulnerabilità più velocemente delle alternative a codice chiuso
- Innovazione - Gli sviluppatori possono costruire su questa base per creare soluzioni che non avremmo mai immaginato
- Apprendimento - I nuovi sviluppatori possono studiare codice di produzione del mondo reale per migliorare le loro competenze
- Collaborazione - Le migliori idee provengono da diverse prospettive che lavorano insieme
Molti degli strumenti e delle librerie che abbiamo usato per costruire MYETV sono open source. Rilasciando My Webview App, restituiamo alla comunità che ha reso possibile il nostro successo.
Conclusione
My Webview App rappresenta il culmine di un vasto sviluppo, del rafforzamento della sicurezza e dei test nel mondo reale. È lo stesso codice che alimenta le applicazioni di produzione di MYETV, ora disponibile per qualsiasi sviluppatore da utilizzare, personalizzare e migliorare.
Che tu stia costruendo una piattaforma di streaming video, un lettore di notizie, un'app e-commerce o qualsiasi applicazione mobile basata sul web, My Webview App fornisce una base sicura e ricca di funzionalità che fa risparmiare mesi di tempo di sviluppo.
Punti chiave:
- ✅ Open source sotto la permissiva licenza Apache 2.0
- ✅ Codice testato in produzione che alimenta applicazioni reali
- ✅ Funzionalità di sicurezza complete e migliori pratiche
- ✅ Personalizzazione estesa tramite configurazione semplice
- ✅ Traduzioni in oltre 20 lingue incluse
- ✅ Integrazione Firebase per notifiche push
- ✅ Scansione QR, supporto offline e schemi URL speciali
- ✅ Sviluppo attivo e supporto della comunità
Siamo entusiasti di vedere cosa costruisce la comunità di sviluppatori con My Webview App. Che tu stia creando il prossimo MYETV, lanciando una startup o semplicemente esplorando lo sviluppo Android, speriamo che questo framework ti aiuti a dare vita alla tua visione.
🚀 Inizia oggi: https://github.com/OskarCosimo/my-webview-app/
Hai domande o vuoi condividere quello che stai costruendo? Apri un problema su GitHub o inizia una discussione. Non vediamo l'ora di sentirti!
Il Team Sviluppatori MYETV


