2016-08-21 2 views
-5

Ich schreibe seit Jahren in C++ und lerne gerade erst C# und .NET Entwicklung. Ich mag viele der Features, die C# im Gegensatz zu C++ zu bieten hat, und ich suche neue Jobmöglichkeiten in meiner Umgebung als Softwareentwickler für C#.Was sollte ich als neuer C# -Entwickler lernen?

Gibt es bestimmte Technologien, die ich zu 100% für eine Karriere in diesem Bereich lernen sollte? Ich sehe ziemlich einheitliche Postings mit Techs wie ASP.NET, node.js, Angular und anderen. Ich sehe, dass viele dieser Technologien je nach dem spezifischen Setup des Unternehmens ausgelagert werden, also bin ich irgendwie neugierig, ob ich nur einen auswählen und anfangen sollte, alles zu lernen, was ich kann, oder wenn es einen allgemeineren Rahmen gibt, den ich fokussieren sollte Studieren an.

Ich weiß, das ist eine Art von breiter Frage, aber jede Idee in diesem Bereich wäre eine große Hilfe.

Alles Gute.

+3

Leider Joefers, ist also nicht die richtige Plattform für offene Fragen wie diese. –

+0

Check out https://discord.gg/hJ798KA oder reddit für diese Art von Sachen. – mariocatch

+0

@GrantWinney Ich verstehe, dass Stacks und Setups in Unternehmen sehr unterschiedlich sind, aber gibt es wirklich keine generellen, übergreifenden Frameworks, die ich im Hinblick auf C# /. NET untersuchen sollte? Oder lernen die meisten Leute eine bestimmte Technologie, die mit ihrem Stack in Verbindung steht und sich von dort aus verzweigt? Wenn das für eine Frage zu allgemein ist, dann entschuldige mich - ich möchte SO nicht verschmutzen. – Joefers

Antwort

0

Um Schritt in ASP.Net, müssen Sie verschiedene Geschmacksrichtungen wie HTML, CSS, JavaScript, C#, Datenbanken wie SQL Server ... Welt ist endlos.

Sie müssen wissen Die .NET Framework ist ein Software-Framework von Microsoft, die eine große Anzahl von Basisbibliotheken (Klassen, Funktionalität für die Entwicklung von Software) enthält.

ASP.NET ist ein Webanwendungs-Framework von Microsoft, das Teil des .NET-Frameworks ist. C# wird normalerweise verwendet, um ASP.Net-Seiten zu schreiben.

AngularJS erweitert HTML mit neuen Attributen. AngularJS ist perfekt für Single Page Applications (SPAs). Es ist mit Front-End verwandt. AngularJS ist ein komplettes JavaScript-basiertes Open-Source-Frontend-Web-Anwendungs-Framework, das hauptsächlich von Google verwaltet wird. Dies ist nicht zwingend erforderlich für ASP.Net, aber es lohnt sich zu lernen, wenn Sie mit ASP.Net vertraut sind.

ASP.Net Web Forms oder MVC: Zwei verschiedene Frameworks - MVC wird empfohlen.

HTML, CSS und Javascript sind sehr offensichtlich Teil von ASP.Net. Für responsive Webseiten-Design ist Bootstrap bereits da, um Ihnen zu helfen.

Hoffe das hilft dir!

+0

Dies hilft ein gutes Stück. Danke schön. – Joefers

+0

Froh, Ihnen zu helfen, vergessen Sie nicht, zu wählen. Vielen Dank – Sami

0

Sie müssen sich zunächst mit ".NET Framework" und der Sprache "C#" vertraut machen. Da Sie C++ kennen, sollte es nicht zu schwierig sein.

Nur diese Teile verstehen:
- Wie funktioniert .NET.
- Arbeiten mit Visual Studio und Debugging.
- C# -Typen, Syntax, Kontrollfluss, Ausnahmebehandlung.
- C# Datenstrukturen, Generika.
- C# OOP-Funktionen.
- C# erweiterte Funktionen: LINQ, Ereignisse, Dynamics, Async/warten (Sie können dies für eine spätere Zeit verlassen).

Mit C# können Sie Windows Form Apps, Konsolen-Apps, Windows Service Apps, ... erstellen
Sie werden sich wahrscheinlich mit Console vertraut machen, wenn Sie C# lernen und Windows verlassen, wenn Sie es wirklich lernen müssen.

Als nächstes möchten Sie lernen, wie Web Apps mit ASP.NET zu bauen, die wesentlich ist.

Zuvor verwendete ASP.NET Web Form Ansatz zum Erstellen von Web-Anwendungen. Es ist jetzt tot. Mach dir keine Mühe, es sei denn, du arbeitest an einem Legacy-Projekt (vielleicht weißt du nur, was das PostBack ist).

Sie können jetzt ASP.NET MVC und ASP.NET Web API, die die dominanten Ansätze sind lernen.
Oder Sie können anfangen zu arbeiten mit ASP.NET Core das ist die Zukunft (und groß).

ASP.NET MVC: verwendet Razor Ansicht (User Interface) auf dem Server zu erstellen.
ASP.NET-Web-API: fungiert als Dienst-Endpunkt. Jede externe Anwendung kann sie aufrufen, um Aufgaben auszuführen. Wahrscheinlich werden Sie jedoch eine andere App mit einer Art JavaScript Framework erstellen, um darauf zuzugreifen. Dies ist der bevorzugte Ansatz in diesen Tagen.

Unabhängig von Back-End-Technologie (ASP.NET, PHP, Node.js, Ruby on Rails, ...), um HTML-Anwendung zu erstellen, sollten Sie HTML, CSS, JavaScript (und jQuery) wissen.

Jetzt, wenn Sie sich entschieden haben, mit ASP.NET Web API zu gehen, wählen Sie besser ein JavaScript-Framework, um Ihr Leben einfacher zu machen.

Dann werden Sie mit Tonnen von kleinen oder großen Technologien konfrontiert werden (das wird Sie beschäftigen, verwirrt und amüsiert für einige Zeit).

Die meisten Menschen werden Sie ermutigen, Angular (Google Tech) oder React (Facebook Tech) zu wählen. Beide sind großartig.
Angular ist eher eigenwillig. Viele Dinge werden für Sie out-of-the-Box zur Verfügung gestellt und hat wahrscheinlich einen besseren Arbeitsmarkt.
Obwohl vielleicht pro JavaScript-Entwickler wählen Sie React.

Client-seitige (Front-End-) Entwicklung ist eine riesige Welt. Du beginnst besser und dann wirst du mehr finden.
Um alles zu tun haben Sie viele Möglichkeiten.
Zum Schreiben von HTML können Sie verschiedene Template-Engines berücksichtigen.
Für CSS können Sie Frameworks wie Twitter Bootstrap und Erweiterungen wie SASS auswählen. Oh

, und nicht zu vergessen die SignalR als Echtzeit-Push-Benachrichtigung Rahmen zwischen Server und Client sowie Authentifizierung Ansätze beim Zugriff auf Server (wie Token basierende Authentifizierung).

Viel Glück auf Ihrer Reise

EDIT:
ich den wichtigen Teil der Datenpersistenz vergessen.
Sie werden höchstwahrscheinlich SQL Server als Datenbank verwenden und dann müssen Sie ADO.NET verwenden, um von ASP.NET darauf zuzugreifen.
ADO.NET ist schnell, aber schwierig zu warten.Stattdessen verwenden Sie eine ORM- oder Micro-ORM-Technologie.
Entity Framework ist Microsoft-Technologie. zuverlässig aber langsam.
Dapper ist Stackoverflow-Technologie. Schnell und wahrscheinlich das einzige, was wir brauchen.

Ich werde nicht über die Software-Architektur Methoden (wie zB DDD, BDD, TDD) und Entwurfsmuster und Grundsätze gehen.


Betrachten Sie "Teach Yourself Programmierung in zehn Jahren" von "Peter Norvig" !!!

Verwandte Themen