Laden...

Ticken Web Entwickler anders als Desktop Entwickler?

Erstellt von Vergall vor 6 Jahren Letzter Beitrag vor 6 Jahren 3.936 Views
V
Vergall Themenstarter:in
15 Beiträge seit 2015
vor 6 Jahren
Ticken Web Entwickler anders als Desktop Entwickler?

Nach mehreren Jahren Desktop Entwicklung mit C# und WPF beschäftige ich mich nun mit der Web Entwicklung.

Ich probiere nun seit einiger Zeit mit ASP.NET Core oder Node.js und React als GUI warm zu werden. Ich wusle mich durch verschiedene Tutorials die alle in JavaScript geschrieben sind. Ich probiere diese gleich mit TypeScript zu adaptieren, weil mir das gefrickel in JavaScript nicht gefällt.

Zu meiner eigentlichen Frage...
Sind Web Entwickler mehr Künstler als technische Entwickler? In den meisten Tutorials fällt mir auf, dass alles was nicht passt, passend gemacht wird. Sprich man fängt mal ganz unbedarft an. Baut etwas ganz einfaches zusammen und erweitert dies dann.
--> "Oh wir brachen hier noch ein Property, fügen wir doch einfach eins hinzu. Oh dann brauchen wir auch noch eins hier und hier gleich auch noch. Diese Komponente braucht nur 3 Properties von den 6 die wir hier noch haben. Übergeben wir doch nur diese 3 anstatt das ganze Objekt."

Ich fühle mich in meine Anfangszeit als Entwickler zurückversetzt, wo ich einfach gemacht habe und überall über den ganzen Code "new" verteilt war und nur wollte dass alles funktioniert und mir keine Gedanken gemacht habe über Wartbarkeit etc.

Bin ich irgendwie alt und eingerostet? Bin ich zu wenig offen für neues? Oder funktioniert Web Entwicklung einfach so? Sollte ich einfach JavaScript so annehmen und gar nicht probieren das auf TypeScript zu adaptieren?

Ich hoffe man versteht auf was ich hinaus wollte. Geht es anderen Umsteigern gleich wie mir? Habt ihr Tipps für mich?

3.003 Beiträge seit 2006
vor 6 Jahren

Dir ist schon klar, dass die Frage das Potenzial hat, mitlesende Web- und Desktopentwickler mit Messern zwischen den Zähnen aufeinander losgehen zu lassen, ja?

  1. Webentwickler beherrschen tendenziell mehr Technologien als Desktopentwickler, einfach, weil sie sie benötigen.

  2. Quereinsteiger steigen eher in der Webentwicklung ein. Das mag ein Grund sein, wieso man dort (gefühlt) häufiger ein komplett chaotisches Durcheinander anstelle von strukturiertem Arbeiten antrifft. Wie du sagst, fühlt man sich zeitweise in seine Anfangszeit versetzt. Aber:

  3. Du tust professionellen Webentwicklern ziemlich unrecht, wenn du glaubst, dass dieses Gefrickle in der Webenticklwung liegende Ursachen hat. Nee, das liegt an den Leuten, nicht daran, was sie tun. Wenn man das scheue Tier "full-stack developer" sucht, dann sollte man bei guten Webentwicklern zuerst suchen, da hat man noch die besten Chancen.

Aber auch hier gilt: frag zwei Entwickler und du kriegst drei Antworten.

TypeScript würde ich dir auf jeden Fall empfehlen.

LaTino
EDIT: oh, und eins noch: jeder Entwickler ist Künstler, bzw. Kunsthandwerker. Das wäre nach meiner Meinung der Unterschied zwischen Softwareentwickler und Programmierer.

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

V
Vergall Themenstarter:in
15 Beiträge seit 2015
vor 6 Jahren

Ich möchte auf keinen Fall, dass hier irgendwelche Leute mit Messern aufeinander los gehen. Ich probiere eher das Wesen hinter einem Web Entwickler zu verstehen, damit ich für den Fall, dass ich mal in so ein Team komme, nicht völlig schräg angeschaut werde.

Ich selbst habe den Web Entwicklungs Trend vollkommen verschlafen und probiere nun aufzuholen...

Du meinst also, dass dieses "Chaos" mehr mit den einfachen Tutorials zu tun hat und es da draussen im WWW durchaus strukturiertes arbeiten gibt? Bis jetzt habe ich mehr dass Gefühl, dass es bei der Web Entwicklung mehr wie in einem Maler-Atelier zu und her geht. Da wäre es meist vollkommen fehl am Platz, zuerst alles mit einem Bleistift vorzeichnen zu wollen. Aber vielleicht habe ich hier bis jetzt einen vollkommen falschen Eindruck von der Web Entwicklung.

Mein Ziel ist es, mich den Gegebenheiten in der neuen Welt anzupassen und hoffe daher auf ein paar Inputs diese neue Welt zu verstehen.

16.806 Beiträge seit 2008
vor 6 Jahren

Ein Webentwickler muss viel abstrakter und komplexer agieren, um das Selbe zu erreichen und abstrakter denken als es ein Desktopentwickler muss.
Das liegt allein schon an der Tatsache, dass jede Webanwendung mit mehreren Threads arbeitet, Kontextunabhängig agiert und auf viele Benutzer zeitgleich ausgerichtet ist.
Zudem hast Du im Web zwei Bereiche: Client (Browser) und Server (Backend).

Die Technologien in der Webentwicklung entwickeln sich von allen Bereichen der Software-Entwicklung mit Abstand am schnellsten weiter.
Verpasst Du hier 6 Monate, dann kann das ziemlich weh tun. Im Desktop Bereich sind solche schnellen Weiterentwicklungen überhaupt nicht existent. Hier arbeitet man immer noch auf Jahre mit den gleichen Technologien und Konzepten.

TypeScript ist zurecht die absolute Zukunft bei der Client-seitigen Webentwicklung.
Auf dem Server sieht das schon wieder anders aus.

Full Stack Developer gibt es, keine Frage.
Aber 99% der Full Stack Developer haben trotzdem einen Fokus: Client oder Server.
Es gibt aufgrund der sich so dermaßen schnell entwickelnden Webwelt gar nicht die Möglichkeit, dass ein Entwickler alle Bereiche in einem tiefen Fokus abdeckt.

Und ja, ich finde es beleidigend, wenn Du Webentwickler quasi als Frickler bezeichnest 😃

Bis jetzt habe ich mehr dass Gefühl, dass es bei der Web Entwicklung mehr wie in einem Maler-Atelier zu und her geht.

Dann bist Du nicht im professionellen Web-Umfeld.

Mein Ziel ist es, mich den Gegebenheiten in der neuen Welt anzupassen und hoffe daher auf ein paar Inputs diese neue Welt zu verstehen.

Dann muss erstmal ein Umdenken stattfinden.
Nicht nur abstrakter, was in der Webwelt notwendig ist - sondern auch offener 😃

P
1.090 Beiträge seit 2011
vor 6 Jahren

Nachfolgendes ist nur meine Meinung.

Erstmal was das „frickeln“ angeht. Du Arbeitest ja grade Anfänger Tutorials durch. Das diese auf Anfänger Niveau sind, sollte da klar sein. Professionelle Webentwickler gehen da auch strukturiert heran und achten auf Wartbarkeit.

Dann gibt es noch die Grundlegende Sache, die auch die Desktop Entwickler betrifft. In den letzten 10-20 Jahren hat sich das Prozessmodel grundlegend Geändert. War damals das V-Model standart mit Lasten- /Plichtenheft, UML usw. Ist das Vorgehen heute deutlich Agiler Scrum usw.

Aber ja Webentwickler, ticken schon ein wenig anders als Desktop Entwickler.

Ich denke am meisten Einfluss darauf hat, das Webseiten Zustandslos („REST“) sind. Was dazuführt das ein Webentwickler eher daran denkt was bei einem „Request“ passiert. Während ein Desktop Entwickler wohl eher das zusammen Spiel der Einzelnen Komponenten im Auge hat.
Webentwicklung hat hier als einen anderen Denkansatz. Was meines erachten, den umstieg für viele Desktop Entwickler schwierig macht.

Dann kommt da hinzu, das das Web deutlich schnelllebiger ist. Mit WebForms, Silverlight, MVC (Razor) und jetzt z.B. Angular haben sie die UI Technologien deutlich öffter und stärker geändert als im Desktopbereich. Der Lebenszyklus einer Anwendung ist einfach ganz anders.

Das in der Webentwicklung mehr Technologien zum Einsatz kommen hat LaTino ja schon erwähnt.
Hier ist auch einfach das Problem, die Unterschiedlichen Technologien in der Tiefe gut genug zu beherrschen. Ich bin im Prinzip das was LaTino als „full-stack developer“ Bezeichnet. Ich mach mir da aber auch keine Illusionen, so gut/schnell wie ein reiner Frontend Entwickler im Webbereich werde ich mit CSS, Html usw. nie sein.

Erstmal keine sorge der Umstig von Desktop Entwicklung zur Webentwicklung, ist vielen die ich kenne schwer gefallen, mich mit Eingeschlossen.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

C
1.214 Beiträge seit 2006
vor 6 Jahren

Es kommt auch drauf an, wie tief man in der Webentwicklung steckt. Ich mache nicht viel damit, muss aber praktisch auch gar nicht umdenken (würde mich aber nie als guten Webentwickler bezeichnen, ich bin da eher ein kompletter Anfänger).
Wenn ich mal ein Webfrontend für meine Backends machen muss, dann ist es erstmal recht einfach. Es wird auf irgendwas aufgesetzt, was wir grad brauchen/wollen, z.B. Angular. Die Frameworks haben sich in den letzten Jahren paar mal geändert, aber im Grunde ist es alles dasselbe. Dann gibts da irgendeine Template Engine, Routing, Services, Controller... Das fülle ich quasi alles aus und bin im Grunde schon fertig. Den Rest machen Webdesigner, die nicht programmieren müssen/können. Seltener müssen erfahrene JS Entwickler ran, wenn man irgendwelche Diagramme/Graphen usw. braucht. Aber nichts davon würde ich jetzt als Gefrickel bezeichnen.
Würde evtl. ganz anders aussehen, wenn ich das alles selber machen müsste, also auch "fortgeschrittene" JS Entwicklung, und vor allem Design... Aber ich bin nun mal kein Designer, HTML und CSS liegt überhaupt nicht, also machts auch schon mal keinen Sinn, dass ich das mache.

@Abt: das muss bei Desktopanwendungen nicht einfacher sein. Kommt evtl. auch drauf an, was man überhaupt als Desktopanwendung bezeichnet. Unsere Softwaresuite und die Clients sind da sicherlich nicht einfacher. Wir haben schon länger Application Server, die man in unterschiedlichen Konstellationen clustern kann und Desktopclients, die darauf zugreifen. Auch mit mehreren Threads und evtl. sehr viele gleichzeitig. Und es wird auch sehr viel Wert auf Skalierbarkeit und Performance gelegt, weil die Kunden uns eher selten wahnsinnig viele Server zugestehen und das was wir machen schon ziemlich rechenintensiv ist.
Und die Clients und deren GUI ist auch sehr komplex und muss auch mit sehr vielen Daten zurechtkommen, schnell reagieren, mit externen Änderungen zurechtkommen usw. Nichts davon ist eine Erfindung des Webs.

F
10.010 Beiträge seit 2004
vor 6 Jahren

Die Diskussion hatten wir auch schon zu VB6/VB.NET.

Ja, es gibt da auch wirklich gute Entwickler/Architekten, da es aber, genauso wie jetzt HTML/JS meist von Hobbyisten eingesetzt wird, ist der Anspruch der meisten nicht soo hoch.

Ich kann mich erinnern als ich in den 90ern haufenweise zu irgendwelchen Ingenieur Büros geschickt worden bin,
weil deren "gefrickel" mit einem mal so groß und wertvoll wurde das es "richtig" gemacht werden musste.

Mit VB4/5/6 war es seinerzeit halt sehr einfach ein Problem zu lösen, und viele Techniker/Kaufleute haben das dann auch gemacht.

Heute ist es halt Html5/JS das für solche Lösungen benutzt wird.

Ihr glaubt gar nicht was in Unternehmen alles mit Excel/VBA gelöst wird.

D
985 Beiträge seit 2014
vor 6 Jahren

Ihr glaubt gar nicht was in Unternehmen alles mit Excel/VBA gelöst wird.

Doch, weil es da oft heißt "Mal eben schnell ..." 😁

F
10.010 Beiträge seit 2004
vor 6 Jahren

Genau.
Wer aber mal Excel Sheets mit >>>20.000 Zeilen VBA Code in Missioncritical Applications gesehen hat..

P
441 Beiträge seit 2014
vor 6 Jahren

Excel ist halt leider das Programmiertool der Assistentin des Abteilungsleiters (Überspitzt und Klischeehaft), aber leider wird es doch immer wieder für Aufgaben genommen, für die es nicht geeignet ist, nur weil man es "eben mal schnell mit Excel probiert hat".
Wird bei uns in der Firma auch so eingesetzt.

Aber um nicht abzuschweifen:
Aus meiner Erfahrung heraus hat jede Entwicklergruppe - und ich würde hier jetzt noch einmal die Embedded, Logik und Regelungstechniker in den Topf werfen - einen ganz eigenen Blick auf ähnlich gelagerte Probleme.
Während der Embedded Entwickler lieber Bitleisten durch die Gegend transferiert und das für einen Generischen Ansatz hält sieht das ein Webentwickler als nicht mehr Zeitgemäß und auch erst recht nicht generisch an.... Vielleicht auch, weil er noch nie etwas mit einzelnen Bits zu tun hatte.

Als Fazit kann man denke ich sagen: Gefrickelt wird überall und nirgendwo. Ab einem bestimmten Niveau denke ich bei keiner der Gruppen mehr. Bei Web mag es vielleicht am ehesten auffallen, weil es das Einfallstor für Programmieranfänger ist.

742 Beiträge seit 2005
vor 6 Jahren

Ich würde noch einen anderen Aspekt andeuten: Release Zyklen.

* 2011 hat Amazon alle 11.6 Sekunden einen Teil ihrer komplexen Software Lösung deployed. kA wieviel es im Moment sind. Sicher noch mehr.

* Bei einem Office gibt es alle 1-2 Jahre eine neue Version.

Das wird die Entscheidungen auch maßgeblich beeinflussen.