Die Großen Fünf: müssen Werkzeuge haben, um die Entwicklung zu beschleunigen



Von einem Übersetzer: Dieser Beitrag ist eine Übersetzung des Originalartikels von Reinder de Vries, einem erfahrenen Programmierer, der seinen eigenen Codierungskurs entwickelt hat. Der Autor teilt seine Gedanken zu Tools mit, die für Entwickler nützlich sein können, damit Sie den Programmierprozess beschleunigen und optimieren können

Das Erstellen einer Anwendung erfordert viel Zeit und oft Geld. Manchmal haben Sie möglicherweise nicht genügend Mittel, um ein multifunktionales Programm zu entwickeln, aber es gibt Mittel, aber Sie müssen so schnell wie möglich arbeiten, um keinen guten Moment für die Veröffentlichung vor den Mitbewerbern zu verpassen. Was ist zu tun - um die Fähigkeiten des Programms zu verringern, um es schneller zu beenden, oder um nach anderen Möglichkeiten zu suchen, um den Prozess zu beschleunigen?

Skillbox empfiehlt: "Der Beruf eines Webentwicklers . "
Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.

In diesem Artikel werde ich auf fünf verschiedene Tools eingehen, die ich zur Beschleunigung des Entwicklungsprozesses empfehle. Mit ihnen können Sie zwei Fliegen mit einer Klappe schlagen: Reduzieren Sie den Ressourcenverbrauch der Anwendung (d. H. Reduzieren Sie die Kosten) und verkürzen Sie die Release-Zeit.

Server analysieren




Das erste Tool, das wir uns ansehen werden, ist der Cloud-basierte Open-Source-Backend-Parse-Server.

So funktioniert es:
  • Erstellen Sie eine Parse Server-Instanz auf einem beliebten PaaS wie Heroku.
  • Verbinden Sie Ihre Parse Server-Instanz mit einer beliebten DaaS-Plattform wie mLab .
  • Integrieren Sie die Anwendung in die Parse Server-Instanz und verwenden Sie die Plattform-Tools.
  • Gewinn! Ihnen steht ein großartiges Cloud-Tool mit einer Vielzahl von Funktionen zur Verfügung: Datenbanken, Push-Benachrichtigungen, Dateispeicherung und Benutzerkontenverwaltung.

Es ist ein Open-Source-Tool, mit dem Sie Ihre Parse Server-Instanz bei vielen Cloud-Anbietern wie AWS, Heroku, Google App Engine, Azure oder Digital Ocean erstellen und konfigurieren können.

Parse Server bietet Entwicklern Zugriff auf eine Vielzahl von Backend-Funktionen. Trotz der Tatsache, dass alle Funktionen einwandfrei funktionieren, müssen Sie vor der Aktivierung daran arbeiten, sie einzurichten und dann die normale Funktion zu überwachen. Dies ist der Unterschied zwischen dieser Lösung und anderen Cloud-Plattformen, die im All-in-One-Modus arbeiten.

Parse Server hat ein großartiges Modul für Cloud-Funktionen. Mit JavaScript können Sie die Ausführung von Aufgaben mit einem Trigger programmieren.

Angenommen, Sie entwickeln einen Filmkritikdienst, der der IMDB ähnelt. Jedes Mal, wenn ein Benutzer eine Filmkritik veröffentlicht, können Sie dieses Ereignis verfolgen und andere Benutzer des Dienstes per Auslöser über eine neue Rezension informieren.

Mit Parse Server verbringen Entwickler weniger Zeit und Geld damit, ihre eigenen Backend-Tools zu erstellen und Webserver zu warten. Parse Server ist ein skalierbares, relativ einfaches und anpassbares Tool mit einer Vielzahl nützlicher Funktionen.

Vorteile

  • Eine große Anzahl von Plattformen, einschließlich IoT-Umgebungen.
  • Hervorragende technische Dokumentation.
  • Aktive Gemeinschaft.

Nachteile

  • Benötigt eine separate Plattform für die Arbeit, zum Beispiel Heroku.
  • Die Skalierung hängt von der gesamten Infrastruktur ab.
  • Dies ist kein All-in-One-Tool.

Kosten

All dies ist kostenlos, aber wie oben erwähnt, benötigen Sie für die Arbeit mit dem Tool eine Cloud wie Heroku, die bereits Geld kostet.

Plattformen

iOS, macOS, tvOS, Android, JavaScript, Reagieren, .NET, Unity, PHP, Arduino, Embedded C.

Fastlane




Fastlane ist ein Tool, das sich hauptsächlich auf die kontinuierliche Integration (CI) und die kontinuierliche Bereitstellung (CD) konzentriert. Jedes Mal, wenn Sie eine neue Version der Anwendung erstellen, geht diese automatisch an die Benutzer und Betatester.

Stellen Sie sich vor, Sie haben eine Anwendung erstellt und gerade Release 1.0 im App Store hochgeladen. Zwei Wochen später haben wir Fehler behoben und eine neue Funktion hinzugefügt. Sie möchten Betatestern und dann Benutzern so schnell wie möglich eine verbesserte Version 1.1 zur Verfügung stellen.

Folgendes müssen Sie tun, um Ihre Aufgabe zu erledigen:
  • Erstellen Sie einen neuen Build und veröffentlichen Sie ihn im App Store Connect.
  • Erstellen Sie Screenshots für jedes kompatible Gerät.
  • Aktualisieren Sie Metadaten, Screenshots usw.
  • Stellen Sie Betatestern TestFlight zur Verfügung.

Wenn Sie ein Einzelcodierer sind, sollten Sie genügend Zeit haben, um alle diese Aufgaben ohne zusätzliche Werkzeuge auszuführen. Stellen Sie sich jedoch vor, Sie arbeiten in einem Team und es erscheinen häufig neue Versionen Ihrer Programme.

In diesem Fall kann der Workflow sehr kompliziert und verwirrend werden. Um alles zu automatisieren und zu vereinfachen, wird auch Fastline benötigt. Folgendes kann er automatisieren:
  • Screenshots für verschiedene Geräte und Sprachen;
  • Verteilung von Beta-Builds für Anwendungen, z. B. Benennen eines neuen Builds, Signieren eines Codes, Herunterladen einer Anwendung und Protokollieren von Änderungen;
  • Veröffentlichen der Anwendung, einschließlich Hinzufügen neuer Metadaten, Herunterladen von Screenshots und Einreichen der Anwendung zur Überprüfung;
  • Verwenden von Schlüsseln und Zertifikaten in Ihrem Team.

Fastline lässt sich in beliebte CI / CD-Tools wie CircleCI, Jenkins und Travis CI integrieren.

Und das Beste ist, dass dieses Tool Open Source ist. Dies bedeutet, dass Entwickler es verbessern können, indem sie ihre eigenen Skripte und Plugins hinzufügen. Jede der Fastline-Funktionen ist gut dokumentiert, einschließlich Beispielen und Fällen. Im Allgemeinen ist ein Werkzeug einfach ein Muss.

Vorteile

  • Spart viel Zeit durch die Automatisierung der notwendigen Prozesse.
  • Hilft, Fehler zu vermeiden, die beim "manuellen Arbeiten" auftreten.


Nachteile

  • Das Einstellen erfordert einige Anstrengungen.
  • Es ist kaum für Entwickler ohne Team oder Anwendungen geeignet, die selten aktualisiert werden.


Preis

Kostenlos!

Plattformen

iOS, Android.

Anwendungsdesign-Vorlagen




Das Design Ihrer Anwendung bedeutet viel. Ein gutes Design verleiht der Anwendung natürlich häufig höhere Plätze in der App Store-Bewertung, wenn das Programm selbst gut ist.

Natürlich brauchen Benutzer eine normale UX: Jetzt stellen sie hohe Anforderungen an das Design, und wenn es nicht erfolgreich ist, kann selbst das beste Programm unbeliebt bleiben.

Damit der Entwickler besser verstehen kann, welches Design seine Idee benötigt, gibt es Vorlagen. Sie werden von professionellen UI-Designern erstellt und können auf Wunsch an Ihre Bedürfnisse angepasst werden.

Hier ist eine Liste der Muster, die mir am besten gefallen:



Einige Vorlagen wurden speziell für bestimmte Arten von Anwendungen entwickelt, z. B. soziale Netzwerke, Produktivitätslösungen oder E-Commerce.

Stellen Sie bei Verwendung der Vorlage sicher, dass Sie die vom Autor angegebenen Lizenzbedingungen einhalten. Die Vorlage ist möglicherweise verfügbar, dies bedeutet jedoch keineswegs, dass Sie das Recht haben, sie zu ändern oder in ein kommerzielles Produkt zu implementieren.

Vorteile

  • Spart viel Zeit und Geld.
  • Einfach zu bedienen.
  • Viele Vorlagen sind leicht anpassbar.

Nachteile

  • Das Setup braucht Zeit.
  • Sie müssen nach einer guten Vorlage suchen.
  • Lizenzbedingungen sind nicht immer klar.

Preis

Es gibt kostenpflichtige und kostenlose Vorlagen.

Plattformen

Beliebig.

Paintcode




Wenn Sie zum ersten Mal mit PaintCode arbeiten, denken Sie vielleicht, dass dies pure Magie ist. Tatsächlich gibt es natürlich keine Hexerei, nur er kann Code für visuelle UI-Komponenten generieren.

So funktioniert es:
  • Sie erstellen in PaintCode eine UI-Komponente, z. B. eine Schaltfläche.
  • PaintCode generiert Swift-, Objective-C-, Java-, C # -, JavaScript- oder SVG-Code.
  • Sie verwenden den Code in Ihrer Anwendung, die UI-Komponente wird angezeigt und funktioniert.

In einer normalen Situation entwirft der Entwickler jedes Element für sich. Wenn die Schaltfläche fertig ist, werden Farbe, Text und Rahmen in die Anwendung geschrieben. Dies ist eine einfache visuelle Komponente, aber stellen Sie sich vor, wie viel Zeit und Mühe es kosten wird, wenn es komplexer ist.

Entwickler und Designer sind oft gezwungen, nach einer Zwischenposition zwischen den Wünschen des Designers und den Fähigkeiten des Programmierers zu suchen. Mit PaintCode können Sie eine UI-Komponente beliebiger Komplexität erstellen und den gewünschten Code selbst erstellen.

Die endgültige Version wird in eine einzelne Datei exportiert, sodass sie jederzeit bei der Aktualisierung der Komponente erneut importiert werden kann. Es ist möglich, alle Arten von Variablen und Ausdrücken zu verwenden.

Darüber hinaus verfügt PaintCode über ein Plugin für Sketch, einen beliebten Grafikeditor. Damit können Ihre Projekte von Sketch direkt nach Swift oder Objective-C exportiert werden.

PaintCode bietet viele Tutorials und eine gut geschriebene Dokumentation. Der Support ist sehr reaktionsschnell und immer bereit zu helfen.

Vorteile

  • Spart Zeit und ermöglicht es Ihnen, die Entscheidung im Prozess zu ändern.
  • Es hat eine hohe Flexibilität und Anpassbarkeit.
  • Unterstützt 4 wichtige Anwendungsentwicklungsplattformen.


Nachteile

  • Sie müssen ein gutes Verständnis für Design und Entwicklung haben.
  • Einige Leute bevorzugen "manuelles" anstatt generierten Code.
  • Eingeschränkte Unterstützung für Interface Builder-orientierten Workflow.


Kosten

Kostenlose Testphase, dann 99 US-Dollar pro Jahr für ein Team von 1-3 Personen.

Plattformen

iOS, macOS, Android und das Web.


Genial




Technisch gesehen ist Awesome kein Tool, sondern eine Ressource: eine Liste von Frameworks, Bibliotheken, Kursen, Büchern, Blogs, Podcasts, Tools und Vorlagen für die Entwicklung von Anwendungen. Eine einfache Suche auf GitHub zeigt, dass die Liste die Besten der Besten und für verschiedene Plattformen von iOS und Swift bis Android und JavaScript enthält.

Ich würde diese Sammlungen empfehlen:


Abschließend möchte ich sagen, dass meine Top-5-Tools zur Optimierung von Prozessen erweitert werden können, indem Sie Ihre eigenen Elemente hinzufügen, die Sie selbst verwenden. Neue Tools sind eine Erkundung wert. Sie müssen sie suchen - zumindest, um Zeit zu sparen.

Skillbox empfiehlt:

Source: https://habr.com/ru/post/de426561/


All Articles