Welchen Weg zur ersten Web App sollte ich nehmen?

  • Allgemein

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von nogood.

    Welchen Weg zur ersten Web App sollte ich nehmen?

    Hi Foristen,

    bin nun ca. ein Jahr dabei mir die Grundlagen von VB.net als Hobby zu erarbeiten (durch verschiedene Projekte: MP3 Player inkl. Equalizer mit Bass.DLL, Serial Schnittstelle auslesen - Arduino, TicTacToe Spiel, etc.). Alles auf "Anfängerniveau", an dieser Stelle Danke an Alle die mir dabei geholfen haben (spezial Thx an Vaporized und EdR :) ) .

    Jetzt hab ich mir vorgenommen erste Versuche in Richtung Web Application zu unternehmen. Ich versuche raus zu finden welchen Lernweg ich da gehen muss.

    a) Webseite : Html , CCS , JavaScript (Frontend)
    b) Serverseite: Vb.Net (Backend)

    Konkrete Fragen

    1. Ist a) der quasi Standard ?
    2. Was ist mit der Serverseite b) wie oder mit was programmiere ich da? Wie kann ich nach Möglichkeit auf VB.net zurückgreifen und wie verbinde ich das dann?
    3. später dann noch der Wunsch User Daten zu speichern (Datenbank oder geht da auch "nur" Typisiertes-DataSet wie ich es in VB.net von EdR lerne)

    4. Wie kommt ASP.core ins Spiel welche Teile von a) und b) werden dort verbunden

    Was und in welcher Reihenfolge sollte ich mir ansehen?

    Bis jetzt wären meine Gedanken so:

    Html -> schau ich mit immer dann an wenn ich was bräuchte; die einfachsten Sachen kenne ich noch von früher (ist denke ich, die einfachste Hürde)
    JavaScript -> das schau ich mir als erstes an javascript.info offizielle Seite. Ich arbeite mich durch das Tutorial.
    CSS -> ist mir auch komplett unbekannt. Den Aufwand sich einzuarbeiten kann ich im Moment nicht einschätzen.

    Backend hab ich so gar keinen Plan? Wäre ASP.Net mit VB.net der einfachste Weg, da ich ja schon etwas VB.net kann?

    Ich habe:
    - Visual Studio Community
    - eine unbenutzte Strato Webaddresse die ich zu Testzwecken nutzen könnte
    codewars.com Rank: 4 kyu
    1. Ja, JavaScript/HTML/CSS ist nachwievor der Standard in der Webentwicklung, und das wird sich in den nächsten Jahren wohl auch nicht so schnell ändern. Jedoch benutzen die wenigsten einfach so JavaScript, sondern häufigt Frameworks wie Angular, React, Vue, usw. Die machen viele Dinge wesentlich einfacher.

    2. Bei Webanwendungen gibt es ja ein Frontend und ein Backend. Das Frontend machst du mit JavaScript/HTML/CSS, das Backend kann in VB.Net mit ASP.Net Core sehr elegeant programmiert werden. Letzendlich läuft quasi deine VB.Net Anwendung und stellt das Frontend "zum Download" bereit. Das Frontend ruft dann wiederrum den Server auf.
    3. Wenn du typisierte DataSets magst und das in VB.Net funktioniert, wird es wohl auch auf dem Server funktionieren (musst du nur schauen, weil da noch Threading usw. mit reinkommt, aber das wird @ErfinderDesRades dir beantworten können).
    4. habe ich in 2) erklärt.

    Webentwicklung ist ein Gebiet, was sehr schnell sehr komplex werden kann. Es kommt auch darauf an, was du eigentlich machen willst. Eine SPA? Eine statische Website? Du wirst Webentwicklung nicht mal eben in ein paar Wochen "erlernen", wenn du noch keinerlei Erfahrung mit Backends oder Frontends gemacht hast. Gleichzeitig würde ich aber sagen, dass Webentwicklung ein extrem interessantes Gebiet ist, bei dem du unglaublich viel neues lernen wirst.

    Ab hier ist jetzt meine persöhnliche Meinung:
    Schau dir mal React an. Da brauchst du erstmal gar kein CSS (auch später eigentlich nicht). Außerdem würde ich TypeScript empfehlen, das macht vieles einfacher und übersichtlicher, vorallem weil du vollständige Unterstützung zur Autovervollständigung hast. TypeScript ist außerdem sehr ähnlich zu C# und ich denke, dass du als VB Programmiere davon auch etwas profitieren kannst.
    Es gibt in Visual Studio extra Projekt Templates, die dir ein lauffähiges ASP.Net Core + React Projekt erstellen, bei dem schon alles verbunden ist. Das gibt's aber soweit ich weiß aber nur für C#. Es kann gut sein, dass ich dich hiermit überfordere, aber "normales" JavaScript ohne Framework ist unglaublich ätzend zu schreiben und zu verwalten.
    Mfg
    Vincent

    Bein Frontend liegst du schon richtig. Das sind auch die Basics. Vorher macht ein Framework keinen Sinn.
    Welches Framework man dann nimmt ist Geschmackssache. Ich bin da ja für Angular
    VB.net im Backend ist dann eher keine gute Wahl. Microsoft geht dort eher in Richtung C#. Da würde dann auch .net Core gehen. Oder um im Javascript zu bleiben wäre der MEAN-Stack eine Möglichkeit. MongoDB, Express.js, Angular und Node.js

    Bei modernen SPAs stellt das Backend eine (JSON-Api) bereit und das Frontend greift auf die API zu.
    Typed Dataset ist dann keine gute Wahl mehr, da man im Web mit gleichzeitigen Zugriffen zu tun hat. Also eine DB die dies unterstützt. Mongo, Couch, aber auch die alten Bekannten MySQL und MS-SQL Server.

    Mit WebAssembly kommt aber auch C# in den Browser, das wäre dass bereits erwähnte blazor.net
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Erstmal Danke für Eure Einschätzungen! @wolfi_bayern @VincentTB @MrTrebron

    Mein Ziel ist es auf Hobbyebene Sachen die ich interessant finde am PC zu realisieren. Das ganze Thema einer einzigen Programmiersprache ist ja schon komplex genug für mich. Eigentlich war mein Plan nur VB.net weiter zu lernen und erst später, wenn ich da besser geworden bin andere Sachen anzufangen.
    Im nächsten Schritt wollte ich dann von VB.net eher zu VC# wechseln. Ich sehe immer das die "interessanten" Sachen auf Github häufiger in C# geschrieben sind als in VB.net. So ja jetzt auch am Beispiel Blazor. Das ist erstmal nur in VC# rausgekommen und nicht für Vb.net.

    Wäre so eine Einteilung richtig?
    1------
    Frontend -> Blazor dort wird dann Html und C# vermischt eingesetzt. JS brauch ich bei dieser Lösung nicht. Was ist mir CSS wird das auch so wie Html in Blazor "reingemischt"?
    Backend -> Blazor mit VC# Ich müsste da also von VB.net zu VC# Syntax wechseln und dazu noch den "Mischmasch" von Blazor verstehen.
    Also -> Blazor, Html, CSS, VC#

    2------
    Frontend -> Html, JS, CSS auch hier dann wieder die Mischung in Asp.Net Core
    Backend -> Vb.net auch in Asp.net Core
    Also -> Asp.net Core, Html, JS (Angular / React), eventl. etwas CSS, VB.net



    Gedanken:
    Leicht dahin gesagt sieht der Weg über Blazor einfacher aus und würde als "Belohnung" auch mein Zweitziel eher in VC# unterwegs zu sein unterstützen. Korrekt oder übersehe ich da was? Wäre es soviel einfacher über den klassischen Ansatz mit JS (Angular // React etc.) oder ist der Aufwand dann ähnlich groß?
    Könntet Ihr mir noch helfen das ich den richtigen Weg einschlage - Danke
    codewars.com Rank: 4 kyu
    Blazor nutzt auch css...
    Öffne die Kommandozeile und tippe dotnet New blazor Server in einem neuen Verzeichnis. Das kannst mit vs öffnen. Breakpoint setzen und schauen was passiert..
    . Alternativ erste Schritte auf blazor.Net machen...

    Würde dann auch gleich unter Linux laufen ohne änderung
    Der Beitrag wurde aus 100% wiederverwendbaren Elektronen erstellt!

    nogood schrieb:

    Leicht dahin gesagt sieht der Weg über Blazor einfacher aus und würde als "Belohnung" auch mein Zweitziel eher in VC# unterwegs zu sein unterstützen. Korrekt oder übersehe ich da was?

    Ich würde doch eher stark von Blazor abraten, wenn du in die Webentwicklung einsteigen willst. Blazor ist immer noch eine sehr neue Technologie, die bei weitem nicht marktreif ist und überhaupt fraglich ist, ob sie das jemals wird. Das impliziert, dass es wahrscheinlich noch viele kleine Fehler gibt und wenig Hilfe online. Es wird davon abgeraten, Blazor in ernsthaften Projekten zu verwenden, einfach wegen des momentanen Status. Als Anfänger dann in so eine Technologie einzusteigen finde ich schwierig... Hängt aber natürlich auch davon ab, was du eigentlich willst. Wenn du nur einen Button auf einer Website willst, der nichts umfangreichers macht, kann das klappen, aber sonst würde ich zu etablierten Technologien raten, einfach weil du damit deine Erfolgschancen erheblich steigerst und es dir auch einfach mehr bringt, gerade was die Zukunft betrifft. Blazor wird, selbst wenn es irgendwann mal marktreif wird, wohl kaum einfach die Webentwicklung übernehmen.

    Mfg
    Vincent

    Ich würde von gar nix abraten weil es egal ist mit welcher Sprache man sich befasst... Und Webentwivklung macht kein Mensch wenn er nicht muss weil es einfach müssig ist... Wenn der Kollege gern was mit Web machen will ist es doch ausreichend mal mit was anzufangen was bereits nach 5 Minuten Erfolge bringt... Wenn es irgendwann nicht mehr reicht kann er doch immer noch seinen eigenen Webserver in c schreiben, nur um beim Schreiben der routen und Handler festzustellen dass ein fertiges framework doch nicht so schlecht ist. Ausserdem denke ich nicht dass der Kollege gleich eine ernsthafte Anwendung machen will
    Der Beitrag wurde aus 100% wiederverwendbaren Elektronen erstellt!
    Nach mehr Recherche zu diesem Thema werde ich versuchen Angular zu benutzen ;) ... Mal sehen wir weit ich da komme. So wie ich das sehe, ist dass ja doch ein weites Feld mit vielen "kleinen" Hürden. Danke nochmal für Eure Denkanstöße!

    Gründe die mich verleitet haben Angular zu nehmen (ich hab ja keine Erfahrung daher take it with a grain of salt):
    - Angual ist von Google
    - benutzt TypeScript
    - viel Dokumentation vorhanden

    Blazor nicht:
    da doch zu neu und keine Dokumentation plus wenig Youtube Videos etc.

    React nicht:
    beim Lesen von Artikeln Angular vs React mein Bauchgefühl eher Angular "gesagt hat"
    codewars.com Rank: 4 kyu