[JAVA] Prüfung von Optionen zur Implementierung nativer Apps (schriftlich)
❶ Einführung
1. Zusammenfassung
Ein Webingenieur mit zweieinhalbjähriger Berufserfahrung wird überlegen, welche Sprache bei der erstmaligen Implementierung einer nativen App verwendet werden soll.
2. Annahmen
Die Programmiersprachen, die ich bisher erlebt habe, sind Ruby / Python / JavaScript, und die Frameworks sind Rails / Djnago. Ursprünglich habe ich den Job von Nicht-Wissenschaft zu Ingenieur gewechselt, daher sind die Grundlagen ziemlich gut. Ich habe viele Websites mit Begeisterung überwunden. Dieses Mal habe ich beschlossen, einen Artikel zu veröffentlichen, um mein Wissen zu vertiefen.
❷ Unterschied zwischen Web-App und nativer App
1. Web-App
- Anwendungen, die in Webbrowsern (Chrome, Safari, Firefox usw.) ausgeführt werden.
- Funktioniert unabhängig vom Betriebssystem. Daher ist die Entwicklung für jede Plattform nicht erforderlich.
- Arbeiten Sie in einer Online-Umgebung.
- Kein Aufwand beim Herunterladen.
- Der Zufluss von Suche, SNS und direkter (direkter URL) wird erwartet, und der Kanal ist breit.
- Wenn PWA (Progressive Web Application) implementiert ist, können Offline-Betrieb, lokale Benachrichtigung und Push-Benachrichtigung teilweise unterstützt werden.
2. Native App
- Anwendungen, die auf jedem Terminal (native Umgebung) wie Smartphones und Tablets ausgeführt werden.
- Abhängig vom Betriebssystem. Entwicklung und Anpassung sind für jede Plattform erforderlich.
- Schneller Betrieb.
- Push-Benachrichtigung und lokale Benachrichtigung sind möglich.
- Wenn Sie das Abrechnungssystem verwenden, werden Ihnen 30% berechnet.
- Es funktioniert auch in einer Offline-Umgebung. (Außer wenn Kommunikation erforderlich ist)
- Muss auf Ihr Gerät heruntergeladen werden.
- Kanal ist nur App Market (App Store / Google Play).
--Veröffentlichungen und Aktualisierungen unterliegen einer Überprüfung und nehmen sich Zeit. (24-48h)
❸ Zu implementierende Kandidaten (--- Schreiben ---)
Für Web-Apps
- JavaScript(React/Next) + Ruby(Rails)
- Das Frontend ist JavaScript (React / Next) und das Backend ist Ruby (Rails).
--React ist gut für die JavaScript-Bibliothek, nicht für Vue, wenn man die Bereitstellung in nativen Apps berücksichtigt.
――Wenn Ruby auf Webanwendungen spezialisiert ist, verfügt es über viele Bibliotheken (Edelsteine) und Informationen.
- JavaScript(React/Next) + Python(Django)
- Das Frontend ist JavaScript (React / Next) und das Backend ist Python (Django).
--React ist gut für die JavaScript-Bibliothek, nicht für Vue, wenn man die Bereitstellung in nativen Apps berücksichtigt.
- Python ist besonders gut, wenn die Notwendigkeit numerischer Berechnungen erwartet wird.
Für native Apps
3. Swift für iOS, Java (Kotlin) für Android
- Eine für das Betriebssystem geeignete Entwicklung ist möglich.
――Es ist schwierig, da für jedes Betriebssystem Entwicklung und Verwaltung erforderlich sind.
- JavaScript(React Native) + Python(Django)
――Es ist ein Problem, wenn Sie eine Brücke auf der nativen Seite und der JavaScript-Seite benötigen.
- Da es (meistens) unabhängig vom Betriebssystem erstellt werden kann, wird die Entwicklung und Verwaltung einfacher.
- Mit Hot Relod können Sie Stile schnell korrigieren.
- Mit Hot Code Push können Sie kleinere Korrekturen ohne Anwendung vornehmen.
――Für das Back-End erleichtert das Erstellen einer API in Python die Bereitstellung des Webs.
Für Web-App + native App
- Flutter
- Ein plattformübergreifendes Framework, das alles von Web-Apps bis zu nativen Apps unterstützt.
――Da es keine Barrieren zwischen Web-Apps und nativen Apps gibt, scheint die Entwicklung und Verwaltung einfach und schnell zu erfolgen.
- Mit Hot Relod können Sie Stile schnell korrigieren.