[JAVA] Examen des options de mise en œuvre d'applications natives (par écrit)
❶ Présentation
1. Résumé
Un ingénieur Web avec deux ans et demi d'expérience professionnelle examinera la langue à utiliser lors de la mise en œuvre d'une application native pour la première fois.
2. Hypothèses
Les langages de programmation que j'ai expérimentés jusqu'à présent sont Ruby / Python / JavaScript, et les frameworks sont Rails / Djnago. À l'origine, j'ai changé de travail de non scientifique à ingénieur, donc les bases sont plutôt bonnes. J'ai surmonté de nombreux sites avec enthousiasme. Cette fois, j'ai décidé de publier un article pour approfondir mes connaissances.
❷ Différence entre une application Web et une application native
1. Application Web
- Applications fonctionnant sur les navigateurs Web (Chrome, Safari, Firefox, etc.).
- Fonctionne indépendamment du système d'exploitation. Par conséquent, le développement pour chaque plate-forme n'est pas nécessaire.
--Travailler dans un environnement en ligne.
- Pas de tracas de téléchargement.
- L'afflux de recherche, de SNS et de direct (URL directe) est attendu et le canal est large.
- Si PWA (Progressive Web Application) est implémenté, le fonctionnement hors ligne, la notification locale et la notification push peuvent être partiellement pris en charge.
2. Application native
- Applications qui s'exécutent sur chaque terminal (environnement natif) comme les smartphones et les tablettes.
- Dépend du système d'exploitation. Le développement et l'ajustement sont nécessaires pour chaque plateforme.
- Opération rapide.
- La notification push et la notification locale sont possibles.
- Si vous utilisez le système de facturation, vous serez facturé 30%.
- Cela fonctionne même dans un environnement hors ligne. (Sauf lorsque la communication est requise)
- Besoin de télécharger sur votre appareil.
- Channel est uniquement App Market (App Store / Google Play).
- Les versions et mises à jour sont sujettes à révision et prennent du temps. (24-48h)
❸ Candidats à mettre en œuvre (--- rédaction ---)
Pour les applications Web
-
JavaScript(React/Next) + Ruby(Rails)
--Le frontal est JavaScript (React / Next) et le backend est Ruby (Rails).
――En considérant le déploiement vers des applications natives, React est bon (?) Pour la bibliothèque JavaScript au lieu de Vue.
―― Lorsqu'il se spécialise dans les applications Web, Ruby dispose de nombreuses bibliothèques (gemmes) et d'informations.
-
JavaScript(React/Next) + Python(Django)
- Le frontal est JavaScript (React / Next), et le backend est Python (Django).
――En considérant le déploiement vers des applications natives, React est bon (?) Pour la bibliothèque JavaScript au lieu de Vue.
--Python est particulièrement efficace lorsque le besoin de calculs numériques est attendu.
Pour les applications natives
3. Swift pour iOS, Java (Kotlin) pour Android
- Un développement adapté au système d'exploitation est possible.
――C'est difficile car le développement et la gestion sont nécessaires pour chaque système d'exploitation.
- JavaScript(React Native) + Python(Django)
――C'est un problème où vous avez besoin d'un pont du côté natif et du côté JavaScript.
- Puisqu'il peut être créé indépendamment du système d'exploitation (principalement), le développement et la gestion seront plus faciles.
--Hot Relod vous permet de corriger rapidement les styles.
--Hot Code Push vous permet de faire des corrections mineures sans application.
――Pour le back-end, la création d'une API en Python facilitera le déploiement du Web.
Pour application Web + application native
- Flutter
- Un cadre multiplateforme qui prend en charge tout, des applications Web aux applications natives.
―― Comme il n'y a pas de barrières entre les applications Web et les applications natives, il semble que le développement et la gestion peuvent être effectués simplement et rapidement.
--Hot Relod vous permet de corriger rapidement les styles.