Laden...

Feedback zu Ideen für ASP.NET Core Open Source Project

Erstellt von malignate vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.935 Views
malignate Themenstarter:in
742 Beiträge seit 2005
vor 7 Jahren
Feedback zu Ideen für ASP.NET Core Open Source Project

Hi zusammen,

ich hatte vor einigen Jahren ein OpenSource Project für Silverlight und Windows Phone (http://imagetools.codeplex.com/). Das hat sehr viel Spaß gemacht und ich hätte mal wieder Lust was zu bauen.

Ich hoffe sehr, das ASP.NET Core Erfolg hat. Insbesondere die einfache Runtime und Cross Plattform ist vielversprechend und vielleicht wird es ja auch vermehrt für kleinere Seiten eingesetzt. Daher liegt es für mich nahe, was in diese Richtung zu bauen. Ich hätte 2 Ideen und hätte gerne Feedback.

Die Zielgruppe sind jeweils kleinere und mittelgroße Projekte

  1. Backend Tools

In meiner alten Position haben wir viele Module selber gebaut, wie zum Beispiel Caching oder bestehende Module integriert, wie zum Beispiel ASP.NET Identity. Das Problem war dabei, dass wir selten eine Oberfläche dafür hatten und es auch kein System gab, dass man einfach integrieren konnten. Deshalb haben wir ein Mini MVC Framework auf Basis von Microsoft Owin gebaut, dass einfach in bestehende Anwendungen integriert werden kann. Dies UI Module sind im Prinzip kleine Angular Apps. Die Inspiration dazu hat http://hangfire.io/ geliefert.

Hier mal ein Beispiel, wie das konfiguriert wird:


public void Configuration(IAppBuilder app)
{
	app.UseBackendAdministration(options => {
		options.ManageCaching(cache);
		options.ManageUsers(userManager);
		options.ManageBackgroundWorker(userManager);
	});
}

Vorteile:
* Sehr leicht in Windows Service, API und Frontends einsetzbar
* Wenig Abhängigkeiten (nur Owin und JSON.NET)
* Man muss nicht das ganze Packet verwenden, sondern nur was man braucht

Nachteile:
* Bei Microservices gibt es evtl. viele Stellen, bei denen man Sachen verwalten muss

Ich habe ein Screenshot eines Administrations Modules mal angehängt. Die aktuelle Implementierung hat auch einige Probleme. Basis Auth nervt zum Beispiel ein bisschen. Trotzdem war das System sehr hilfreich für uns weil wir einige Microservices gebaut haben, die dann mit wenig Aufwand ihre eigenen Administrations Tools spendiert bekommen haben. Bei einer neuen Implementierung würde ich evtl. die Daten von mehreren Services aggregieren wollen und Systeme bauen, mit denen ein Service als Provider für andere Services dienen kann. Beispiel: Je nach Szenario sollen die Texte für API und Web Frontend getrennt sein oder zusammen verwalten werden. Da jedes Module eh API's zur Administration zur Verfügung stellen muss, kann ServiceA auch für ServiceB Texte bereitstellen.

  1. Headless CMS

Meine ASP.NET/Core Anwendungen haben natürlich sehr viel Domain spezifischen Code, für den es kein fertiges Modul gibt. Allerdings bin ich es Leid dauernd irgendwelchen banalen CRUD Lösungen zu bauen. Die Idee ist ein ASP.NET Core Modul zu bauen, dass ein Headless CMS bereitstellt (analog zu: https://www.contentful.com/features/). Ich möchte keinen App Builder bauen, sondern eine Lösung liefern, um ein Teil der Anwendung zu realisieren. z.B. Blog Posts, Content Element, Übersetzungen usw.

Um diese Module zu realisieren braucht man nicht Einstein sein, trotzdem ist es zeitaufwendig all die Repositories und Services zu entwickeln. Außerdem muss eine UI gebaut werden und all die kleinen Features, die in der Summe dann doch kostspielig sind.

Im Prinzip könnte man beide Projekte in ein gemeinsames Projekt integrieren. Allerdings ist meine Zeit natürlich begrenzt.

Ich hätte gerne Feedback zu beiden Ideen. Würdet ihr sowas einsetzen? Falls nicht, warum? Habt ihr vielleicht andere Ideen?

T
314 Beiträge seit 2013
vor 7 Jahren

Hallo malignate,

damit hier überhaupt Feedback kommt 😃
Ich muss gestehen ich kann mir das Ganze noch nicht so richtig vorstellen bzw. wie es auf der Applikationsseite aussieht.

Verstehe ich Projekt 1 so richtig?
Es werden verschiedene Module, für übliche Themen wie z.B. Lokalisierung, entwickelt. Für diese Module stellt dein Projekt eine entsprechende UI (welche der Verwender irgendwo hosted?) bereit, um z.B. die jeweiligen Übersetzungen vorzunehmen. Dazu reicht es wenn die gewünschte Applikation deinem Modul eine entsprechende Implementierung für eben diese CRUDs des Moduls liefert?

T
415 Beiträge seit 2007
vor 7 Jahren

Ich stehe aktuell auch vor dem Problem eine Menge CRUD Backend-Websites implementieren zu müssen. Ich habe deine Idee dazu noch nicht zu 100% verstanden, wie es gelingen soll hierfür ein möglichst einheitliches wiederverwendbares System zu schaffen. Kannst du das ein wenig näher erläutern? Und hast du in der Zwischenzeit hier schon an ersten Versionen gearbeitet?