Welche Sprache/Plattform/Framework sollte man für eine nicht zu komplexe Web-App wählen?

Also versuche ich im Grunde, die richtige Plattform/Sprache für ein Produktivitätstool/eine Web-App auszuwählen, die im Wesentlichen ein Benutzerkonto mit einem einfachen Workflow und einigen minimalen Benutzerinteraktionsfunktionen implementiert. Hier meine Anforderungen:

  • Abgesehen von der Integration einiger APIs von Drittanbietern (wie Stripe für Zahlungen, Facebook für die Authentifizierung und etwas Geschäftslogik) wird es kein massives Backend geben.
  • Die Benutzererfahrung hat Priorität. Die Website sollte modern aussehen und eine intuitive dynamische Benutzeroberfläche haben, die es dem Benutzer ermöglicht, mit minimalem Aufwand das zu bekommen, was er will.

  • Eine mobile App könnte die nächste Stufe sein, daher muss die Website in Zukunft möglicherweise eine Art API bereitstellen.

  • Der Entwicklungsprozess sollte flexibel und schnell sein. Ich möchte so weit wie möglich fertige Module und Bibliotheken verwenden, muss aber die Möglichkeit berücksichtigen, dass Anpassungen erforderlich sein werden.

  • Wichtig: Ich möchte als Teil des Teams zumindest an der Entwicklung teilhaben können. Ich habe einen Abschluss in Softwareentwicklung, habe aber in den letzten zehn Jahren nicht als Entwickler gearbeitet. Die Plattform sollte so beschaffen sein, dass ich mit dem Programmieren beginnen kann, nachdem ich beispielsweise ein paar Tage mit Lernen verbracht habe.

Ich denke, Wordpress wird für diese Art von Projekt zu unflexibel sein, und Java könnte ein Overkill sein. Ich kenne mich mit allem, was dazwischen liegt, nicht so gut aus. Gibt es außerdem gute Lösungen, die grundlegende serverseitige und clientseitige Teile wie Benutzerkontofunktionalität, Authentifizierung und dynamisches AJAX-Frontend integrieren? Welche Plattformen/Frameworks würden Sie empfehlen?

Ich würde angeben, ob es Einschränkungen auf dem Webserver gibt. Zum Beispiel: IIS vs. Apache, werden Sie den Server verwalten? Dürfen Sie jeden Stack installieren?
Ich werde den Server selbst einrichten, könnte also jeder sein, aber ich bevorzuge Linux-basierte Server. Gerne installiere und verwalte ich jeden Stack, der für eine schnelle Entwicklung erforderlich ist.
Ich werde nicht selbst antworten, weil ich praktisch keine Erfahrung mit Webentwicklung habe. Ich muss sagen, dass ich überrascht bin, dass niemand Ruby on Rails oder Python mit Django oder Flask oder eine Reihe anderer beliebter Frameworks unterschiedlicher Größe erwähnt hat.

Antworten (3)

Java + Vaadin

Ich schlage das Vaadin Framework vor . Kurz gesagt: Sie schreiben die Geschäftslogik und die Benutzeroberfläche Ihrer App in reinem Java. Das Vaadin-Framework übersetzt dies automatisch zur Laufzeit, um Webstandardtechnologie (HTTP, HTML, CSS, JavaScript usw.) zu verwenden, um Ihre App im Webbrowser des Benutzers zu rendern. Aber das geschieht im Verborgenen – Sie müssen sich nicht mit den vielen Webtechnologien vertraut machen, da Vaadin dies für Sie übernimmt.

Konkret zu deinen Punkten:

  • Viele, viele reichhaltige Bibliotheken, die in Java für viele verschiedene Zwecke verfügbar sind, insbesondere für geschäftliche Zwecke.
  • Vaadin erstellt mit minimalem Aufwand recht professionelle, intelligent aussehende Apps. Vaadin ist ausdrücklich für geschäftsorientierte Apps im Desktop-Stil gedacht (im Gegensatz zu auffälligen animierten Marketing-Apps).
  • Vaadin bietet eine gute Unterstützung für mobile Plattformen, die berührungsbasierte Interaktionen ermöglichen. Und diese Unterstützung wird immer besser.
  • Ich kann mir keine schnellere Entwicklungsumgebung zum Erstellen von Web-Apps vorstellen (außer vielleicht Xojo unten). Die komplizierte Vorlagenerstellung, die für gängige Webentwicklungs-Frameworks erforderlich ist, sowie die Notwendigkeit, die verschiedenen Webtechnologien und -sprachen zu beherrschen, stellen eine enorme Belastung dar.
  • Java ist eine der am einfachsten zu erlernenden Sprachen, mit vielen verfügbaren Ressourcen, einschließlich der Oracle Tutorials . Und Vaadin nimmt Ihnen das Erlernen komplizierter Webtechnologien ab, sodass Sie viel schneller produktiv sein können.

Siehe meine längere Antwort auf eine ähnliche Frage.

Vaadin ist Open Source und kostenlos. Der Anbieter verkauft Schulungen, Beratung, Service und einige Extras wie ein integriertes Testumgebungs-Toolset.

Xojo

Xojo ist eine kommerzielle proprietäre Programmiersprache, ein IDE -Toolset und eine serverseitige Web-App-Laufzeit (in diesem Sinne ähnlich dem oben beschriebenen Vaadin).

Einfach genug für einen Programmieranfänger, um loszulegen, aber leistungsstark genug für professionelle Programmierer, um kommerzielle Software-Apps zu erstellen.

Versuchen Sie, den MEAN-Ansatz zu verwenden (einfach zu erlernen und mit dem JSON-Datenmodell zu befolgen):

  • MondoDB
  • Express.js
  • Angular.js
  • Node.js

Es gibt ein paar Frameworks ... eines davon: http://mean.io . Und das gesamte Ökosystem dreht sich um JavaScript

Ihr seid ein wenig hinterher mit der „Inflexibilität“ von WordPress. WordPress wird die meisten anderen hier aufgeführten Technologien problemlos fressen. Die Zahlen und Trends sind gewaltig. Hier einige neue Entwicklungen:

WordPress hat eine neue REST-API -Schnittstelle, die alles handhabt: Authentifizierung, Sicherheit, Endpunktveröffentlichung usw. Genial.

WordPress DOMINIERT in Bezug auf die Anzahl der verfügbaren Entwickler und das Kostenverhältnis jeder erdenklichen Metrik. Einfach gesagt, es ist das beste Preis-Leistungs-Verhältnis. Vergessen Sie die Statistiken, die Sie auf Websites sehen, die sich auf Technologie konzentrieren. Es gibt MILLIONEN von kleinen Unternehmen, die nicht mit Technologie konfrontiert sind und WordPress verwenden, zumindest am Rande. Das bedeutet den weltweit größten Markt für SaaS-Produkte und API-Märkte. Erstellen Sie ein Plugin, sie werden kommen. In Bezug auf die Anzahl der Entwickler, die an einer bestimmten Plattform oder Technologie arbeiten, deckt WP das gesamte Feld ab. Das bedeutet, dass in Zukunft die WordPress-Funktionsbasis und Aktionen / Filter zur semantischen Grundlage für die Funktionsweise des Internets werden. WordPress und seine APIs werden zum „Betriebssystem“ des Internets. Zum Beispiel, WP-Funktionen werden überall auf andere Technologiebasen portiert. Du fängst an zu sehenWordPress in IOs und Android , WordPress in .NET , WordPress in kompiliertem PHP , WordPress NodeJS-Overlays wie Calypso . Es gibt kein umgekehrtes Phänomen.

Wussten Sie, dass WordPress in jeder erdenklichen Weise absolut anpassbar ist. Es gibt keinen „WordPress-Look“. Es gibt viele WordPress-Sites, die ähnlich aussehen, aber das ist nur eine Wahl dieser Entwickler.

Schließlich verfügt WordPress jetzt über ein vollständig entwickeltes Testframework in Codeception , das Akzeptanz-, Funktions- und WordPress-Einheitentests für verhaltensgesteuerte Entwicklung und testgesteuerte Entwicklung vorantreiben kann . Besuchen Sie WordPress-BDD.com .