Présentation de mon application Webview : une fondation sécurisée et ouverte pour le développement d'Android
Aujourd'hui, nous sommes heureux d'annoncer la publication officielle open-source de Mon application Webview, un cadre d'application Android puissant et riche en fonctionnalités qui sert de base pour MYETV«les applications officielles de la plateforme. Ce projet représente des mois de développement, de tests de sécurité rigoureux et de rétroaction communautaire, et nous sommes ravis de le partager avec les développeurs du monde entier.
Les Dépôt GitHub : https://github.com/OskarCosimo/my-webview-app/
Quelle est mon application Webview?
Mon application Webview est un modèle d'application Android complet construit avec Java et Android Studio. Il comble l'écart entre les applications web et mobiles en fournissant une implémentation WebView sophistiquée avec des options de personnalisation étendues, des fonctionnalités de sécurité robustes et une intégration transparente avec les technologies Web modernes.
Contrairement aux enveloppes WebView de base, Mon application Webview offre une solution prête à la production avec des fonctionnalités de qualité d'entreprise incluant:

- (en milliers de dollars) Chargement du contenu flexible – Prise en charge à la fois des URL Internet et du contenu HTML local hors ligne
- C'est ce qu'il a dit. Intégration de la messagerie Cloud Firebase – Support de notification de poussée autochtone
- * Scanner de code QR – Capacités de numérisation QR intégrées par caméra
- * Appui multilingue – Pré-traduction en 20 langues+
- C'est vrai. Personnalisation étendue – Contrôle fin de l'apparence, du comportement et des politiques de sécurité
- C'est vrai. Caractéristiques de sécurité avancées – Application HTTPS, liste blanche de domaines et validation SSL
La connexion MYETV
Ce n'est pas juste un projet parallèle Mon application Webview est la même base de code que les pouvoirs MYETVLes applications Android officielles. Lorsque vous utilisez MYETV«les applications mobiles pour diffuser du contenu, gérer votre compte ou interagir avec notre plateforme, vous vivez ce cadre en action. En open-sourcing ce projet, nous rendons à la communauté de développeurs qui nous a soutenus tout en maintenant la transparence de notre pile technologique.
Comprendre la licence Apache 2.0
Mon application Webview est publiée sous Licence Apache 2.0, l'une des licences open-source les plus populaires et les plus conviviales pour les développeurs. Mais qu'est-ce que cela signifie pour vous en tant que développeur ?
Ce que permet la licence Apache 2.0
La licence Apache 2.0 est classée comme une licence permissive, ce qui signifie qu'il vous accorde une liberté maximale avec des restrictions minimales. Plus précisément, vous pouvez :
- Commerce Utilisation – Utiliser le code dans les produits commerciaux et les logiciels propriétaires sans payer les droits de licence
- Modification – Modifier librement le code source pour répondre à vos besoins spécifiques
- Distribution – Partagez le code original ou modifié avec d'autres
- Usage privé – Utiliser et modifier le logiciel en privé sans aucune obligation de partager vos modifications
- Octroi de brevets – Recevez des droits de brevet explicites des contributeurs, vous protégeant des litiges de brevet
Exigences simples
La licence Apache 2.0 n'a que quelques exigences de base :
- Inclure la licence – Vous devez inclure une copie du texte de licence Apache 2.0 dans toute distribution
- Changements d'état – Si vous modifiez le code, vous devez documenter ce qui a été modifié
- Préserver les avis – Conserver tous les avis de droit d'auteur, de brevet, de marque et d'attribution du code original
- Aucune utilisation de la marque – Vous ne pouvez pas utiliser Apache ou MYETV marques sans autorisation
Pourquoi choisir Apache 2.0
Contrairement aux licences de copyleft plus restrictives (comme GPL), Apache 2.0 ne vous oblige pas à libérer vos modifications sous la même licence. Cela signifie que vous pouvez construire des applications propriétaires en utilisant My Webview App sans aucune obligation d'ouvrir votre projet. Nous croyons que cette flexibilité favorise une adoption plus large et permet aux développeurs de construire des produits commerciaux tout en bénéficiant d'une collaboration open-source.
La délivrance explicite de brevets est une autre caractéristique essentielle qu'elle fournit une protection juridique contre les revendications de brevets des contributeurs, vous donnant confiance que l'utilisation de ce code ne vous exposera pas à des problèmes juridiques inattendus.
Sécurité : notre priorité principale

Lorsqu'il s'agit d'applications WebView, la sécurité n'est pas optionnelle, elle est fondamentale. Les implémentations WebView peuvent potentiellement exposer les utilisateurs à des attaques en ligne comme le Scripting Cross-Site (XSS), les redirections malveillantes et le vol de données si elles ne sont pas correctement sécurisées. C'est pourquoi nous avons implémenté plusieurs couches de sécurité dans Mon application Webview.
1. Exécution HTTPS et validation SSL
Ma vue Web L'application inclut l'application HTTPS configurable qui peut être activée pour rejeter toutes les connexions HTTP, en veillant à ce que toute la transmission de données soit cryptée. L'application implémente également une validation complète des certificats SSL avec un traitement personnalisé des erreurs:
- Validation de la chaîne de certification – Vérifie toute la chaîne de certificats SSL
- Contrôle d'expiration – avertit les utilisateurs des certificats expirés
- Détection de certificat auto-signée – Indique et bloque les certificats autosignés sans confiance
- Avertissements de l'utilisateur – Affiche des avertissements de sécurité détaillés avant le chargement de contenu non sécurisé
Cette approche à plusieurs niveaux garantit que les utilisateurs sont toujours au courant de la sécurité des connexions et peuvent prendre des décisions éclairées au sujet des connexions potentiellement dangereuses.
2. Blanchiment des domaines et filtrage des URL
Une des caractéristiques de sécurité les plus puissantes est le système de contrôle de domaine à trois niveaux :
- Domaines autorisés – Seules les URL des domaines listés en blanc chargent dans le WebView principal. Tous les autres domaines ouverts dans un navigateur secondaire ou bloqués entièrement
- URL spéciale Domaines autorisés – Limite les domaines pouvant déclencher des fonctions d'application spéciales (comme fermer l'application, ouvrir le scanner QR, ou activer le mode Do Not Disturb). Cela empêche les sites Web malveillants de détourner la fonctionnalité de l'application
- Domaines secondaires de WebView – Domaines externes qui s'ouvrent toujours dans un navigateur secondaire restreint avec des permissions limitées
Cette architecture garantit que le contenu non fiable est toujours sablé et ne peut compromettre l'application principale.
3. Intégration Google Safe Browsing
Mon application Webview intègre l'API de navigation sécurisée Google, qui fournit une protection en temps réel contre les sites d'hameçonnage, la distribution de logiciels malveillants et d'autres menaces en ligne. Lorsque activé, Safe Browsing analyse automatiquement les URL et avertit les utilisateurs avant de naviguer vers des sites Web dangereux.
Cette fonctionnalité est particulièrement importante pour les applications qui permettent aux utilisateurs de naviguer librement sur le Web, car elle fournit une couche supplémentaire de protection au-delà de la liste blanche du domaine.
4. Configuration de sécurité de la vue Web
L'application implémente les meilleures pratiques de sécurité d'Android WebView, notamment:
- Restrictions d'accès aux fichiers – Accès au système de fichiers handicapés à partir de contenu web pour empêcher les attaques d'inclusion de fichiers locaux
- Contrôle d'exécution JavaScript – JavaScript peut être activé sélectivement ou désactivé en fonction des exigences de sécurité
- Soutien à la politique de sécurité du contenu – Prise en charge complète des en-têtes CSP pour prévenir les attaques XSS
- Blocage du contenu mixte – Empêche le chargement de ressources HTTP non sécurisées sur les pages HTTPS
- Gestion des autorisations de géolocalisation – Contrôle granulaire de l'accès à l'emplacement avec les exigences de consentement de l'utilisateur
5. Isolation du procédé (Android 8.0+)
Sur Android 8.0 et plus, Mon application Webview exploite la fonctionnalité d'isolation de processus WebView. Cela signifie que le moteur de rendu WebView fonctionne dans un processus sandboxed séparé de l'application principale. Si un site malveillant parvient à exploiter une vulnérabilité WebView, l'attaque est contenue dans le processus isolé et ne peut pas accéder directement aux données de l'application hôte ou exécuter le code arbitraire avec les permissions de l'application.
6. Intégration de la sécurité des bases de pompiers
Pour les applications utilisant des notifications push Firebase, Mon application Webview implémente une gestion sécurisée des jetons :
- Stockage sécurisé des jetons – Les jetons FCM sont stockés en toute sécurité à l'aide d'Android.
- La manipulation des jetons rafraîchit – Détection et manipulation automatiques des mises à jour de jetons
- Injection optionnelle de l'URL – Ajout automatique configurable dans les URLs pour la vérification côté serveur
7. Gestion des autorisations
L'application implémente les demandes d'autorisation d'exécution pour les fonctionnalités sensibles:
- Accès à la caméra – Requis seulement lorsque le balayage QR est activé, avec une justification claire de l'utilisateur
- Autorisations de notification – Consentement explicite requis pour les notifications de poussée (Android 13+)
- Accès à l'emplacement – Seulement demandé lorsque les sites Web ont besoin de géolocalisation, avec confirmation de l'utilisateur
- Accès au stockage – Capacités de téléchargement de fichiers contrôlées avec vérification de l'autorisation
8. Configuration de la sécurité du réseau
Mon application Webview prend en charge la configuration de sécurité réseau Android, permettant aux développeurs de:
- Pin certificats SSL pour empêcher les attaques de l'homme dans le milieu
- Configurer les autorités de certification de confiance personnalisées
- Appliquer des restrictions de circulation en texte clair
- Définir des politiques de sécurité spécifiques au domaine
Mises à jour régulières de sécurité
La sécurité est un engagement continu et non une mise en œuvre ponctuelle. Comme base pour MYETV«les applications de production, My Webview App reçoit régulièrement des audits de sécurité et des mises à jour. Lorsque des vulnérabilités sont découvertes ou que de nouvelles pratiques exemplaires en matière de sécurité émergent, nous mettons à jour la base de codes et publions des correctifs via le dépôt GitHub.
Nous maintenons également des pratiques de sécurité transparentes :
- Rapport sur les questions de sécurité – Lignes directrices claires pour la divulgation responsable des vulnérabilités en matière de sécurité
- Gestion de la dépendance – Mises à jour régulières des bibliothèques tierces et des SDK Firebase
- Documentation sur la sécurité – Documentation complète des caractéristiques de sécurité et des configurations recommandées
Caractéristiques clés de la profondeur
Chargement du contenu double mode
Ma vue Web App prend en charge deux modes de fonctionnement distincts, ce qui le rend polyvalent pour différents cas d'utilisation:
- Mode Internet – Charger le contenu des serveurs Web distants avec une mise en cache complète, un retour hors ligne et une surveillance réseau
- Mode local – Package des fichiers HTML, CSS et JavaScript directement dans l'application pour une opération complètement hors ligne
Cette flexibilité permet aux développeurs de construire les deux applications de streaming en ligne (comme MYETV) et les premières applications hors ligne utilisant la même base de codes.
Détection hors ligne intelligente
L'application comprend une surveillance réseau sophistiquée qui détecte la perte de connexion et affiche automatiquement une page hors ligne personnalisable. Contrairement aux simples contrôles de connectivité, le système de détection hors ligne:
- Effectue plusieurs tentatives de vérification avant de déclarer le statut hors ligne (réduction des faux positifs)
- Surveille les changements d'état du réseau en temps réel
- Recharge automatiquement le contenu lorsque la connectivité est rétablie
- Permet la personnalisation complète de l'expérience hors ligne via HTML/CSS
Intégration de Firebase Cloud Messaging (FCM)
Les notifications push sont essentielles pour les applications mobiles modernes, et My Webview App fournit une intégration sans faille Firebase:
- Gestion automatique des jetons – Poignées génération de jetons FCM, rafraîchissement et stockage
- Traitement des notifications – Procéde à la fois aux notifications de premier plan et de fond
- Soutien de liaison profonde – Les notifications peuvent ouvrir des pages spécifiques dans l'application
- Icônes de notification personnalisées – Personnalisation facile de l'apparence de notification
- JavaScript Pont – Le contenu Web peut accéder au jeton FCM pour l'enregistrement côté serveur
QR intégré Scanner de code
Le scanner QR intégré utilise la caméra de l'appareil et la bibliothèque ZXing pour fournir une numérisation rapide et fiable. Ce qui le rend spécial:
- Web-Triggered – Les sites Web peuvent déclencher la numérisation via un schéma d'URL spécial (
qrcode://) - Result Passback – Les données numérisées sont automatiquement transmises à l'application web
- Gestion des autorisations de caméras – gère les autorisations d'exécution avec des explications claires de l'utilisateur
- Prise en charge des formats multiples – Lit les codes QR, codes barres et autres formats 2D
Appui multilingue
Avec des ressources de chaîne pré-transléguées en plus de 20 langues, My Webview App est prêt pour un déploiement mondial. Les langues prises en charge comprennent :
- Langues européennes: anglais, espagnol, français, allemand, italien, portugais, néerlandais, polonais, suédois, danois, norvégien, finnois, tchèque
- Langues asiatiques: chinois (simplifié), japonais, coréen, hindi
- Moyen-Orient : arabe, turc
Tous les éléments de l'interface utilisateur des dialogues d'autorisation aux messages hors ligne sont entièrement localisés, et la sélection automatique de la langue d'Android assure aux utilisateurs de voir le contenu dans leur langue préférée.
Personnalisation avancée de l'interface utilisateur
Chaque aspect visuel de l'application peut être personnalisé à travers le centre Config.java fichier & #160;:
- Écran splash – logo configurable, durée et comportement de chargement
- Indicateurs de progrès – Plusieurs styles (spinner, progression linéaire) avec des couleurs personnalisées
- Pull-to-Refraîchissement – Rechargement personnalisé avec le thème couleur
- Navigateur secondaire – Contrôle complet de l'apparence du navigateur de lien externe
- Barre d' état – Couleurs personnalisées et options de texte lumière/obscurité
- Verrouillage d'orientation – Contrôles séparés pour l'orientation des téléphones et des tablettes
Programmes URL spéciaux pour la fonctionnalité autochtone
Le contenu Web peut déclencher des fonctions d'application natives en utilisant des schémas d'URL spéciaux une fonctionnalité puissante qui permet une intégration profonde entre votre site Web et l'application mobile:
closetheapp://– Fermer gracieusement la demandeqrcode://– Ouvrez le scanner de code QRopenappsettings://– Naviguez vers les paramètres de l'application Androidshareapp://– Fonctionnalité de partage native de déclenchementpictureinpicture://– Activer le mode image en image pour les vidéostogglenotifications://– Activer/désactiver le mode Ne pas déranger
Ces systèmes sont limités aux domaines autorisés pour la sécurité, empêchant les sites Web malveillants de détourner la fonctionnalité de l'application.
Support photo-en-image
Sur Android 7.0 et plus, Mon application Webview prend en charge le mode Photo-en-Photo. Les utilisateurs peuvent minimiser l'application tout en continuant à rester connectés dans une fenêtre flottante parfaite pour le multitâche.
Ne pas déranger le mode
Une fonctionnalité unique qui permet à l'application de demander les permissions Do Not Disturb, bloquant temporairement les notifications d'autres applications pendant que les utilisateurs sont engagés avec votre contenu. Ceci est particulièrement utile pour les applications de streaming vidéo où un visionnement ininterrompu est important.
Construit pour MYETV, conçu pour tout le monde

Ma vue Web L'application n'est pas juste un modèle générique il est le code de production testé par bataille qui alimente les applications du monde réel servant des milliers d'utilisateurs quotidiennement. Quand nous avons construit MYETV«la plate-forme mobile, nous avions besoin d'une solution WebView qui pourrait gérer:
- Diffusion vidéo – Lecture en douceur avec latence minimale
- Mises à jour en temps réel – Notifications push pour événements en direct et nouveaux contenus
- Authentification des utilisateurs – Connexion sécurisée et gestion des sessions
- Protection des contenus – DRM et livraison vidéo sécurisée
- Objectif mondial – Soutien multilingue aux publics internationaux
- Résilience hors ligne – Dégradation gracieuse lorsque la connectivité est mauvaise
Plutôt que de construire une solution exclusive, nous avons créé un cadre extensible qui résout ces défis tout en restant suffisamment flexibles pour n'importe quel cas d'utilisation. Si vous construisez une plateforme vidéo comme MYETV, un lecteur de nouvelles, une application e-commerce, ou un portail d'entreprise, Mon application Webview fournit la base dont vous avez besoin.
Comment MYETV Utilisations Ce cadre
MYETV«les applications mobiles sont essentiellement des versions personnalisées de My Webview App avec notre marque, les configurations de domaine, et Firebase configuration. Voici comment nous l'avons configuré :
- Liste blanche des domaines – Seulement MYETV domaines peuvent charger dans le WebView principal
- Notifications poussées – Alertes pour les nouveaux contenus, suiveurs et recommandations personnalisées
- Détection du thème – Détection automatique en mode lumière/obscurité passée au contenu web
- Retour hors ligne – Page hors ligne personnalisée avec MYETV Marque
- Renforcement de la sécurité – Mode HTTPS uniquement avec une validation stricte du certificat
- Intégration des analyses – Firebase Analytics pour le suivi d'utilisation
En open-sourcing ce framework, nous permettons à d'autres développeurs de construire des applications avec le même niveau de poli et de fonctionnalité que MYETV les utilisateurs attendent.
Commencer

Prêt à construire votre propre application Android en utilisant mon application Webview? Le processus est simple:
- Clone le dépôt – Visite https://github.com/OskarCosimo/my-webview-app/ et clone ou télécharger le code
- Ouvrir dans Android Studio – Importer le projet dans Android Studio (Arctic Fox ou recommandé ultérieurement)
- Configurer Config.java – Personnalisez l'application en éditant le fichier de configuration complet
- Nom du paquet de refactor – Changement par défaut
com.my.webviewapplication.mobileà votre propre paquet - Configuration de la base de feux – Créer un projet Firebase et télécharger votre
google-services.jsonfichier - Personnaliser les biens – Remplacer les icônes de l'application, le logo de l'écran de projection et le contenu HTML hors ligne
- Construire et tester – Exécuter sur un émulateur ou un dispositif physique pour tester la fonctionnalité
- Déployer – Générer une version signée pour distribution
Le dépôt GitHub comprend une documentation complète couvrant toutes les options de configuration, le réglage de sécurité et les possibilités de personnalisation. Que vous soyez un développeur Android chevronné ou un nouveau développement mobile, le README détaillé vous guidera dans le processus.
Configuration simple
L'un des objectifs de conception de Mon application Webview était de rendre la personnalisation aussi simple que possible. Plutôt que d'exiger une connaissance approfondie du développement Android ou WebView internes, presque tous les aspects de l'application peuvent être configurés à travers un seul Config.java fichier.
Voici un exemple rapide de la facilité de configuration des paramètres de base :
// Chargez votre site web
final statique public String HOME_URL = "https://mywebsite.com";
// Activer le mode HTTPS seulement
booléen final statique public LOAD_ONLY_HTTPS = true;
// Ajouter votre domaine à la liste blanche
finale statique publique Chaîne[] INDEMNITÉS = {
"mywebsite.com",
"www.mywebsite.com"
};
// Activer le scanner QR
booléen final statique public ENABLE_QR_SCANNER = true;
// Activer les notifications push
booléen final statique public ENABLE_FIREBASE_PUSH = vrai;
C'est ça ! Avec seulement quelques lignes de configuration, vous avez une application Android entièrement fonctionnelle avec des fonctions de sécurité, le balayage QR et les notifications de poussée.
Communauté et soutien
Open-source prospère sur la collaboration communautaire, et nous sommes déterminés à favoriser une communauté active et utile autour de Mon application Webview.
Contribution
Nous saluons les contributions des développeurs de tous les niveaux de compétence. Si vous voulez :
- Correction de bogues ou amélioration des fonctionnalités existantes
- Ajouter de nouvelles fonctionnalités
- Améliorer la documentation
- Traduire des chaînes d'interface utilisateur dans des langues supplémentaires
- Partagez votre cas d'utilisation ou histoire de réussite
...vos contributions sont appréciées et appréciées. Consultez le dépôt GitHub pour connaître les lignes directrices sur les contributions et les questions ouvertes qui nécessitent une attention particulière.
Questions relatives à la présentation des rapports
Si vous rencontrez des bugs, des vulnérabilités de sécurité, ou si vous avez des requêtes de fonctionnalités, veuillez ouvrir un problème sur GitHub. Pour les questions de sécurité, nous fournissons un processus de divulgation responsable pour s'assurer que les vulnérabilités sont corrigées avant la divulgation publique.
Débat et appui
Avez-vous des questions ou besoin d'aide pour commencer? La section GitHub Discussions est l'endroit idéal pour poser des questions, partager des idées et se connecter avec d'autres développeurs à l'aide de Mon application Webview. Nous sommes également actifs dans le suivi des questions et essayons de répondre rapidement aux questions.
L'avenir de mon application Webview
Cette version initiale n'est que le début. Nous avons des plans passionnants pour les améliorations futures:
- Analyse améliorée – Tableau de bord analytique intégré et suivi des événements
- Cadre d ' essai A/B – Expérimentation facile avec différentes configurations
- Authentification biométrique – Support pour l'empreinte digitale et la reconnaissance faciale
- Optimisation vidéo – Lecture vidéo améliorée avec support de streaming adaptatif
- Architecture mobile/TV – Système modulaire pour différents appareils
Comme MYETV« sa plateforme évolue, ainsi que mon application Webview. Toutes les améliorations que nous apportons à nos propres applications seront apportées au projet open-source.
Pourquoi l'open source compte
Nous croyons fermement au pouvoir de la source ouverte. En libérant My Webview App sous la licence Apache 2.0, nous ne nous contentons pas de partager le code, nous contribuons à un écosystème plus vaste d'outils et de connaissances qui profite à tous.
Open source permet :
- Transparence – Vous pouvez inspecter chaque ligne de code pour comprendre exactement comment fonctionne l'application
- Sécurité – L'examen communautaire aide à identifier et à corriger les vulnérabilités plus rapidement que les alternatives à source fermée
- Innovation – Les développeurs peuvent construire sur cette base pour créer des solutions que nous n'avons jamais imaginées
- Apprendre – Les nouveaux développeurs peuvent étudier le code de production réel pour améliorer leurs compétences
- Collaboration – Les meilleures idées proviennent de divers points de vue travaillant ensemble
Nombre d'outils et de bibliothèques que nous avons construits MYETV sont des sources ouvertes. En publiant Mon application Webview, nous rendons à la communauté qui a rendu possible notre succès.
Conclusion
Ma vue Web App représente l'aboutissement d'un développement étendu, d'un durcissement de la sécurité et d'essais dans le monde réel. C'est le même code que le pouvoir MYETV«les applications de production, maintenant disponibles pour tout développeur à utiliser, personnaliser et construire.
Que vous construisiez une plate-forme de streaming vidéo, un lecteur de nouvelles, une application de commerce électronique ou toute application mobile Web, My Webview App fournit une base sécurisée et riche en fonctionnalités qui économise des mois de développement.
Tâches clés :
- ( ) Open source sous la licence permissive Apache 2.0
- Code de production pour les applications réelles
- Caractéristiques de sécurité complètes et meilleures pratiques
- ( ) Personnalisation étendue grâce à une configuration simple
- 20+ traductions linguistiques incluses
- ( ) Intégration Firebase pour les notifications push
- Analyse QR, prise en charge hors ligne et schémas URL spéciaux
- ( ) Développement actif et soutien communautaire
Nous sommes heureux de voir ce que la communauté de développeurs construit avec Mon application Webview. Si vous créez la prochaine MYETV, lancer une startup, ou simplement explorer le développement Android, nous espérons que ce cadre vous aide à donner vie à votre vision.
C'est ce qu'il a dit. Commencez aujourd'hui : https://github.com/OskarCosimo/my-webview-app/
Vous avez des questions ou voulez partager ce que vous construisez? Ouvrez un numéro sur GitHub ou commencez une discussion. Nous avons hâte de vous entendre !
Les MYETV Équipe de développeurs


