So erstellen Sie eine App

Es gibt verschiedene Möglichkeiten, eine mobile Anwendung zu erstellen. Möchten Sie wissen, wie der beste Weg ist? Es hängt davon ab, ob. Mit welchen Technologien haben Sie Erfahrung? Auf welche Plattformen zielen Sie? Wie viel Zeit möchten Sie mit dem Erstellen Ihrer Anwendung verbringen??

Nach der Einführung des iPhone und seines Software-Entwicklungskits durchlief der mobile Raum eine Revolution. Heutzutage gibt es Millionen mobiler Anwendungen, unzählige Plattformen und Dutzende von Frameworks und Tools zur Erstellung mobiler Anwendungen.

Wie entscheiden Sie, was für Sie richtig ist? Die Beantwortung dieser Frage steht im Mittelpunkt dieses Artikels. Ich diskutiere die Arten von mobilen Anwendungen, die Sie in der Wildnis finden, die Vorteile von nativen und hybriden Anwendungen und liste einige der beliebtesten Plattformen auf.

Anwendungstypen

Mobile Anwendungen lassen sich in drei große Kategorien einteilen:

  • Web Applikationen
  • Hybridanwendungen
  • native Anwendungen

Jede dieser Arten hat ihre Vor- und Nachteile. Wenn Sie mich fragen würden, welcher Typ am besten zu Ihren Bedürfnissen passt, dann wäre meine Antwort, dass es wirklich darauf ankommt, was Sie genau tun. Um meine Antwort zu rechtfertigen, muss ich zunächst über jeden Anwendungstyp berichten. Beginnen wir mit Webanwendungen.

Web Applikationen

Sie sind möglicherweise bereits mit Webanwendungen vertraut. Im Gegensatz zu anderen Apps können Webanwendungen nicht von irgendwo heruntergeladen werden. Sie sind einfach auf jedem Gerät verfügbar, auf dem Webseiten geladen werden können (oder ein Webbrowser vorhanden ist). Eine Webanwendung ist nichts anderes als eine Website, die als Anwendung fungiert und sich verhält. Vor der Einführung des iOS SDK zum Beispiel waren Webanwendungen die einzige Option für Entwickler, die Anwendungen für das ursprüngliche iPhone erstellen wollten.

Webanwendungen haben eine Reihe von Vorteilen, wobei die Entwicklungszeit der wichtigste ist. Da es sich bei einer Webanwendung um eine Website handelt, wird sie einmal erstellt und ist auf jeder Plattform verfügbar, auf der ein Webbrowser ausgeführt wird. Für manche Unternehmen ist dies eine sehr ansprechende Lösung, da native Entwicklung, über die wir im Moment sprechen, kostspielig und zeitaufwändig sein kann. Man könnte sagen, dass Webanwendungen per Definition plattformübergreifend sind.

Ein weiterer wichtiger Vorteil ist die Lernkurve für die Entwicklung von Webanwendungen. Um eine Webanwendung zu entwickeln, verlassen Sie sich auf Webtechnologien, mit denen Sie möglicherweise bereits Erfahrung gemacht haben, z. B. HTML, CSS und JavaScript. Wenn Sie dies tun, sind Sie in kürzester Zeit ohne die Verwendung proprietärer SDKs einsatzbereit.

Gibt es irgendwelche Nachteile??

Wie bei allen Arten von Anwendungen gibt es bei der Webentwicklung einige Nachteile. Die zwei wichtigsten Nachteile sind die Leistung und der Zugriff auf Gerätefunktionen. Wenn Sie planen, ein Spiel zu entwickeln, ist eine Webanwendung nicht die beste Option. Es ist möglich, aber die Leistung ist nicht herausragend. Websites und Webanwendungen haben nur eingeschränkten Zugriff auf die Funktionen des Geräts, wie z. B. Kamera, Ortungsdienste usw. Dies hat sich im Laufe der Jahre erheblich verbessert, ist jedoch nicht mit den nativen Anwendungen vergleichbar.

Wenn Sie die Entwicklungs- und Wartungskosten Ihrer mobilen Anwendung einschränken möchten und die Leistung nicht der wichtigste Aspekt ist, ist eine Webanwendung eine Überlegung wert.

Wenn Sie wissen möchten, worum es bei Webanwendungen geht, und wie Sie damit beginnen können, lesen Sie einige der anderen Inhalte hier auf Envato Tuts +:

Hybridanwendungen

Hybridanwendungen waren und sind unglaublich beliebt. Sie kombinieren einige der besten Dinge beider Welten, das heißt Web und native. Die zum Erstellen von Hybridanwendungen verwendeten Technologien sind mit denen für die Erstellung von Webanwendungen, HTML, CSS und JavaScript identisch. Der Grund liegt auf der Hand, wenn Sie wissen, wie Hybridanwendungen funktionieren.

Eine Hybridanwendung ist eine Webanwendung, die in einer Webansicht einer nativen Anwendung ausgeführt wird. Anders ausgedrückt, eine Hybridanwendung verwendet eine native Anwendung als Container, damit sie wie eine native Anwendung aussieht. Dies bedeutet, dass eine Hybridanwendung für den Benutzer nativ erscheint und sich anfühlt, mehr oder weniger. Der Benutzer kann es vom mobilen Store der Plattform herunterladen. Das Anwendungssymbol wird auf dem Startbildschirm angezeigt.

Irgendwelche nachteile? Da Hybridanwendungen auf Webtechnologien basieren und in einer Webansicht ausgeführt werden, leiden Hybridanwendungen unter den meisten Problemen, die Webanwendungen haben. Die Leistung entspricht nicht den nativen Anwendungen. Dies verbessert sich jedoch, die Leistung wird von Jahr zu Jahr besser. Es ist beeindruckend, wie sich die JavaScript-Leistung im letzten Jahrzehnt verbessert hat.

Die beliebteste Lösung für die Entwicklung von Hybridanwendungen ist Apache Cordova, kurz Cordova. Als Adobe PhoneGap vor einigen Jahren erwarb, wurde der größte Teil der Codebasis von Open Source bezogen, und Cordova wurde geboren. PhoneGap ist immer noch vorhanden und ist Cordovas Cousin.

Um die Entwicklung zu beschleunigen, verwenden Entwickler Cordova häufig in Kombination mit anderen Frameworks wie Ionic und Onsen UI.

Um mehr über Hybridanwendungen zu erfahren, empfiehlt es sich, einige der auf Cordova veröffentlichten Tutorials durchzulesen:

Native Anwendungen

Wenn Sie sich für native Entwicklung entscheiden, entscheiden Sie sich für Leistung und Zuverlässigkeit. Warum schreckt die native Entwicklung so viele Entwickler ab? Nehmen wir als Beispiel die iOS-Plattform. Wenn Sie eine native iOS-Anwendung erstellen möchten, müssen Sie eine neue Sprache lernen, Objective-C oder Swift. Sie müssen sich auch mit Xcode, der IDE von IDE (Integrated Development Environment), vertraut machen. Die Erstellung einer nativen Anwendung dauert im Allgemeinen länger, nur weil Sie sozusagen näher am Metall arbeiten. Objective-C und JavaScript sind zwei sehr unterschiedliche Sprachen.

Was bekommst du dafür? Die Leistung ist wahrscheinlich der überzeugendste Vorteil nativer Anwendungen. Native Anwendungen fühlen sich bissig an und können insbesondere bei Spielen die Ressourcen des Geräts und des Betriebssystems voll ausschöpfen. Auf alle Funktionen und Funktionen des Geräts, die über die APIs des SDK verfügbar gemacht werden, kann der Entwickler zugreifen. Dies ist ein weiterer wesentlicher Vorteil, den native gegenüber Hybrid und Web hat.

Es gibt eine Reihe von hybride Ansätze Dadurch wird die native Anwendungsentwicklung für mehr Entwickler zugänglich. Die Lösung ist einfach: Schreiben Sie Code in der Sprache Ihrer Wahl und kompilieren Sie ihn in eine native Anwendung. Die beliebtesten Lösungen zum Zeitpunkt des Schreibens sind Xamarin und React Native.

Mit Xamarin können Entwickler native Anwendungen für iOS, Android und Windows Phone mit C # schreiben. Die Xamarin-Tools nutzen das Open Source-Projekt Mono. React Native hat seine Wurzeln bei Facebook und ermöglicht es Entwicklern, native Anwendungen mit JavaScript zu schreiben.

Envato Tuts + deckt eine breite Palette von Plattformen ab, darunter iOS, Android, Xamarin und React Native. Schauen Sie sich diese Tutorials an, um sich mit ihnen vertraut zu machen:

Native oder Hybrid

Was ist die beste Lösung? Native Oder hybride? Oder eine Webanwendung? Es gibt keine Antwort. Das hängt von mehreren Faktoren ab. Wenn Sie ein Entwickler sind, ist die Antwort weniger kompliziert. Welche Technologien kennen Sie bereits? Möchten Sie sich auf eine Plattform konzentrieren oder Anwendungen für mehrere Plattformen erstellen??

Es wird zu einer echten Herausforderung, immer auf iOS, Android und Windows Phone zu bleiben. Einige Entwickler schreiben native Anwendungen für mehrere Plattformen, aber es ist eine Herausforderung, und wenn Sie es können, empfehle ich es auf jeden Fall. Der mobile Raum entwickelt sich schnell, und wenn Sie sich für native Entwicklung entscheiden, dann ist dies der Fall sollte Seien Sie Ihr Ziel, sich mit der Plattform, auf die Sie abzielen, sehr vertraut zu machen.

Dies ist einer der Gründe, warum sich viele Entwickler für eine Hybridlösung entscheiden. Wenn Sie ein erfahrener Webentwickler sind, sind Sie in kürzester Zeit einsatzbereit. Apache Cordova kann in Kombination mit der Ionic- oder Onsen-Benutzeroberfläche die Entwicklung erheblich beschleunigen.

Webanwendungen sind sicherlich etwas zu bedenken. Sie sind jedoch eine andere Kategorie. Durch das Erstellen einer Webanwendung haben Sie nicht die Absicht, eine Anwendung in einem der mobilen Stores zu haben. Viele Unternehmen haben diesen Weg vor einigen Jahren gewählt. Heutzutage sind native und hybride Ansätze populärer, wenn das Budget und die Ressourcen verfügbar sind.


Frag dich selbst

Um zu entscheiden, wie Sie Ihre mobile Anwendung entwickeln möchten, stellen Sie sich diese Fragen. Wie ich bereits erwähnt habe, den Typ auswählen

Ist die Leistung kritisch?

Wenn ja, ist native die beste Option. Vielleicht möchten Sie sich auch mit der Unreal Engine vertraut machen, wenn Sie ein Spiel entwickeln möchten. Im Gegensatz zu Unity berechnen Sie statt einer monatlichen Gebühr nur 5% Ihres Umsatzes.

Bei der Besprechung nativer Anwendungen haben wir gesehen, dass sie die Gerätefunktionen nutzen können. Ein gutes Beispiel dafür ist, wie Apple die Grafikleistung mit Metal auf die nächste Stufe bringt und Entwicklern nahezu vollständigen Zugriff auf die GPU auf dem Gerät gewährt.

Wenn Sie sich mit Metal nicht auskennen, sagen wir dazu Folgendes:

Metal 2 bietet einen nahezu direkten Zugriff auf die Grafikverarbeitungseinheit (GPU), mit der Sie das Grafik- und Rechenpotenzial Ihrer Apps auf iOS, macOS und tvOS maximieren können.

Wenn es nicht auf die Leistung ankommt, können Sie plattformübergreifende oder hybride Apps auswählen, je nachdem, was Ihren Bedürfnissen am besten entspricht, basierend auf den folgenden wenigen Fragen. Wenn Sie jedoch über die Ressourcen zur Erstellung nativer Apps verfügen, ist dies insgesamt immer die beste Option.

Ist eine plattformübergreifende Unterstützung wichtig?

Wenn nicht, sollten Sie die native Route berücksichtigen. Native Apps sind, wie oben erwähnt, definitiv der beste Weg für eine solide Benutzererfahrung und bestmögliche Leistung. 

Wenn plattformübergreifende Unterstützung unerlässlich ist und Sie keine nativen Apps für alle Ihre Plattformen erhalten können, ist ein hybrider nativer oder hybrider Webansatz die beste Wahl. 

Schauen Sie sich Xamarin oder React Native an, wenn Leistung und Gerätefunktionen gleichermaßen wichtig sind. Mein persönlicher Favorit ist jedoch Ionic, da es eine Vielzahl von Funktionen auf dem Gerät bietet und trotzdem über einen ausreichend breiten Schirm verfügt, um die meisten Entwicklungen abzudecken

Ist das deine nächste große Sache??

Wenn Sie Mobile-Entwickler werden möchten, würde ich vorschlagen, einen nativen Ansatz zu wählen. Dies ist jedoch sehr persönlich. Ich bin ein iOS-Entwickler und gefällt mir auf diese Weise. Ich denke, Apple stört den mobilen Entwicklungsbereich und bietet Ihnen als Entwickler viele Tools. Durch die Fokussierung auf eine Plattform, in meinem Fall iOS, tvOS, watchOS und macOS, habe ich die Zeit, mich mit der Plattform sehr vertraut zu machen. Dies ist ein wichtiger Aspekt der mobilen Entwicklung, wenn Sie überzeugende Anwendungen und eine großartige Benutzererfahrung erstellen möchten.

Wenn Sie einen Hintergrund in der Webentwicklung haben, ist native immer noch eine Option. Wenn Sie jedoch schnell etwas aus der Tür holen möchten, ist eine Hybrid- oder Web-App die schnellste Lösung.


Fazit

Wenn Sie eine klare Antwort erwartet haben, habe ich Sie vielleicht enttäuscht. Wenn Sie sich noch nicht entschieden haben, empfehle ich Ihnen einige der aufgeführten Optionen. Spielen Sie mit Cordova oder lernen Sie Swift kennen und sehen Sie, wie es Ihnen gefällt. Nehmen Sie nicht den einfachsten oder schnellsten Weg zum Ziel. Stellen Sie sicher, dass Sie die Reise auch genießen, weil dort der Spaß liegt.

Wenn Sie bereits wissen, welche Vorgehensweise für Sie am besten ist, möchten Sie möglicherweise die Entwicklung Ihrer nächsten Anwendung mit einigen dieser iOS- und Android-Vorlagen beschleunigen. Überprüfen Sie sie auf Envato Market: