ASP.NET vNext Likbez

Die erwartete Veröffentlichung der ASP.NET- Plattform (vNext) ist eine der ereignisreichsten in Bezug auf Innovation. Aber zusammen mit all den neuen Produkten kommen eine Vielzahl neuer Spezifikationen, Komponenten und anderer Funktionen zu uns. Gleichzeitig entwickelt sich die .NET-Welt so schnell, dass es fast unmöglich ist, einfach die neuesten Webentwicklungen von Microsoft zu verfolgen. Vor allem, wenn Sie noch vor 10 Jahren über Technologien schreiben (ASP.NET Web Forms, .NET 2.0) oder wenn Sie nicht aus der .NET-Welt der Webentwicklung stammen. Vielleicht gerade jetzt einer dieser Momente, in denen Sie alle Versionen früherer Updates überspringen und von vorne anfangen können, um in einen neuen Fluss der Plattformentwicklung einzusteigen. Betrachten Sie die wichtigsten Punkte dafür:
  • vNächste
  • Roslyn
  • Owin
  • Katana
  • K.


ASP.NET vNext


ASP.NET vNext ist die nächste Version der ASP.NET-Plattform. Es befindet sich noch in der Entwicklung, aber der Teil, der bereits der Öffentlichkeit vorgestellt wurde, zeigt, dass es viele Änderungen in der Plattform gibt. Mit der neuen Version soll ein Trendstack für .NET zum Erstellen moderner Cloud-basierter Anwendungen erstellt werden.
Hauptmerkmale:
  • Open Source
  • Plattformübergreifend,
  • Vollständig basierend auf dem neuen Roslyn-Compiler,
  • MVC, Web API, Webseiten werden in einem Framework kombiniert - MVC 6,
  • Die Abhängigkeitsinjektion ist in das Framework integriert.
  • Keine Abhängigkeit von Webserver und Hosting-Plattform,
  • Nicht mehr abhängig von der System.Web-Superbibliothek


Zusätzlich zu der großen Arbeit an der Aktualisierung der Plattform hat sich der Ansatz selbst geändert, da diese Änderungen der Community präsentiert werden. Die soziale Komponente der Veröffentlichung ist sehr interessant und es ist sehr bequem geworden, der Plattform zu folgen. Neben Blogs und Nachrichten in sozialen Netzwerken werden offene Vorversionen veröffentlicht, in denen Sie die Plattform perfekt spüren können. Ein interessantes Community Standup-Format wurde ebenfalls angezeigt: Sie können Fragen stellen oder die Entwickler der neuen Plattform selbst online hören. All dies geschieht auf unterhaltsame und interessante Weise und ermöglicht es Ihnen, die Entwicklung der Plattform "in der ersten Person" zu beobachten und fast daran teilzunehmen. Standups finden jede Woche in Hangouts statt und werden dann auf YouTube angelegt.



Roslyn


Microsoft hat lange über den neuen Compiler (Compiler-Plattform) gesprochen. Die erste vorläufige Version wurde vor 3 Jahren (im Jahr 2011) veröffentlicht. Aber die Pläne für den Compiler sind großartig. Erstens wird es auch Open Source sein (ab dem 3. April unter der Apache License 2.0). Zweitens unterstützt Roslyn Skriptskripte. Das heißt, Sie können Codeteile im laufenden Betrieb ausführen. Erweiterte Konsolen mit C # -Unterstützung werden bereits angezeigt. Roslyn hat auch eine eigene API, die Entwickler verwenden können. Interessanterweise ist der Compiler selbst in C # geschrieben.

Was die Unterschiede in der Arbeit eines normalen Programmierers angeht, ist es theoretisch immer noch schwierig, etwas zu sagen. Mit dem neuen Compiler und dem neuen Typ des ASP.NET-Projekts (die Website und die Webanwendung sind nicht mehr in verschiedene Projekte unterteilt), dem Kompilierungszeitlimit und der Seitenaktualisierung, wenn sich der Quellcode ändert deutlich reduziert. Im Idealfall ändern wir den Code, drücken F5 und die Site direkt vor uns.

OWIN - Öffnen Sie das Webinterface für .NET


Vielleicht ist es diesem Standard zu verdanken, dass die Änderungen von Anfang an begannen. Erstens ist dies keine Plattform oder Bibliothek, sondern nur eine Spezifikation, ein Regelwerk. OWIN ist eine Spezifikation, die eine Standardschnittstelle zwischen einem Webserver und einer Webanwendung definiert.

Oft ein anderer Name verwendet - die mittlere Schicht (Middleware). Ihr Zweck ist es, den Server und die Anwendung zu trennen und (da der Standard offen ist) die Entwicklung von Implementierungen des Standards zu ermöglichen und zu stimulieren.
Was ist der praktische Wert? Ohne OWIN hängt die gesamte Arbeit der Anwendung von der Art und Weise ab, wie der Webserver (IIS) mit ihm kommuniziert. Wenn es eine Zwischenschicht gibt, gibt es keine starre Bindung an den Webserver, und der Webserver kann alles sein, was mit OWIN funktionieren kann.

Es können so viele Zwischenschichten vorhanden sein, wie Sie möchten, und Sie können separate Logik oder verteilte Funktionen in ihnen herausnehmen.

Owin

Ein interessanter Punkt in der OWIN- Spezifikation ist, dass die gesamte Interaktion zwischen der Anwendung und dem Server über die mittlere Schicht auf eine einzige Funktion hinausläuft - den Anwendungsdelegierten.

using AppFunc = Func, Task>;


Sammlung Das Umgebungswörterbuch enthält Serverparameter, Anforderungen und Antworten. Es kann nicht leer und nicht null sein. Es gibt auch einige erforderliche Schlüssel, die in der Spezifikation definiert sind. Das Ergebnis der Verarbeitung ist ein Objekt vom Typ Task, dh die Kapselung der ausgeführten Task. Jede OWIN-basierte Komponente verfügt über einen eigenen Anwendungsdelegierten, und zur Laufzeit ruft der Server die Pipeline solcher Handler auf. Da jeder Anwendungsdelegierte Task zurückgibt, sind alle Komponenten in der Pipeline asynchron.
Wie oben erwähnt, ist OWIN nur eine Spezifikation, die Regeln, nach denen eine Zwischenschicht zwischen dem Server und der Anwendung funktionieren soll. Wie wird es in die Praxis umgesetzt oder wo wird es bereits umgesetzt?

Katana


Katana ist eine der Implementierungen der OWIN-Spezifikation. Implementiert von Microsft, sodass Sie immer noch den Namen Microsoft OWIN finden können. Wie bei anderen ASP.NET vNext-bezogenen Produkten ist der Quellcode für das Katana-Projekt geöffnet .

Wenn Sie sich ansehen, was dies für Entwickler bedeutet, lautet die Antwort, dass die Änderungen tatsächlich nur die Funktionalität betreffen, die mit der Arbeit mit dem Server verbunden ist. Einstellungen und Ereignisse wie global.asax werden nicht mehr benötigt. Der neue Standard ist die Startup-Klasse. Die minimale Webanwendung kann jetzt in mehreren Zeilen beschrieben werden.

public class Startup
{
   public void Configuration(IAppBuilder app)
   {
      app.Run(context =>
      {
         context.Response.ContentType = "text/plain";
         return context.Response.WriteAsync("Hello Habr!");
      });
   }
} 


K.


Wenn Sie die Plattform erkunden, werden Sie häufig auf K - Project K, K Versionsmanager, K Laufzeit und sogar den Konsolenbefehl k stoßen. Was ist K?

Ursprünglich hieß die neue ASP.NET-Plattform Project K (möglicherweise K von Katana). Die Namen Project K und ASP.NET vNext sind praktisch dasselbe - eine neue Version der Serverentwicklungsplattform.

KRuntime ist das Fundament der Plattform, einer Open-Source-Softwareumgebung . Es enthält das SDK und die Laufzeit selbst (genauer gesagt kvm, kpm, kre).
kvm (K Version Manager) - Manager der Plattformversion K. Praktisch - ein Konsolenbefehl zum Bearbeiten von Laufzeitversionen (installieren, deinstallieren, Standardversion ändern).
kre (K Laufzeitumgebung, selten Motor)- Der Teil, der für das Kompilieren verantwortlich ist, das SDK, alles, was zum Ausführen der ASP.NET vNext-Anwendung erforderlich ist. Im Prinzip wird eine bestimmte Version von kre für eine bestimmte Anwendung verwendet. Außerdem können Sie Ihre eigene Version packen. Für Ihre Anwendung ist kre nur ein weiteres Nuget-Paket.
kpm (K Package Manager) - Paketmanager. Manipuliert zusätzliche Pakete, die für die Anwendung benötigt werden.
k (Konsolenbefehl) - der Einstiegspunkt für die Arbeit mit der Plattform. Führen Sie die Anwendung aus, um den Hauptkonsolenbefehl zum Kompilieren auszuführen.

Stellen Sie sich das folgende Szenario vor, um zu verstehen, wie diese Befehle in der Praxis verwendet werden:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.ps1'))"
kvm upgrade
git clone https://github.com/aspnet/Home.git
cd Home\samples\HelloWeb
kpm restore
k web

Dies ist praktisch alles, was getan werden muss, um eine neue Version der Plattform zu installieren und eine einfache Anwendung zu starten. Nach dem Ausführen des letzten Befehls (k web) hängt eine elementare Site an Ihrem http: // localhost: 5001 / . Das Ausführen der Befehle dauert weniger als eine Minute.

Versuchen Sie mehr


Derzeit veröffentlichtes ASP.NET vNext CTP 4 und Visual Studio 14 CTP 4 (Community Technology Preview - Version 4). Es scheint, dass dies die neueste Alpha-Version ist und das Produkt dann in die Beta geht. Um zu testen, wie neue Technologien funktionieren und andere neue Produkte zu evaluieren, können Sie Visual Studio „14“ CTP 4 herunterladen (es gibt jedoch keine Garantie dafür, dass alles funktioniert oder dass andere Produkte nicht kaputt gehen) oder es auf einer fertigen virtuellen Maschine in Azure ausführen .

Jetzt auch beliebt: