"We are back" « oc.at

Javascript (node.js, react, >1000k andere - zuviel Auswahl) - suche must reads/Tipps

pinkey 06.03.2016 - 20:42 4458 17
Posts

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Bin grade dabei mich etwas in Javascript einzuarbeiten aber mich erschlägt leider gerade die extreme Vielfallt an Javascript "Standards"/Frameworks/libs etc.

Ich glaube das Bild triffts ganz gut ;) https://d262ilb51hltx0.cloudfront.n...IYyJZI5Mu13L_m. gehen die img tags nicht oder bin ich zu blöd?

Mich würde eher Backend Entwicklung interessieren, d.h. wohl in die Richtung node.js, socket.io etc.

Derzeit lese ich mich grad bissl in Javascript ein mit Hilfe von http://eloquentjavascript.net/

Danach wär auf dem Plan: Programming JavaScript Applications (o'reilly) und anschließend noch paar speziellere Sachen zu Node.js,socket.io und was man halt noch alles braucht.

Mich würden mehrere Sachen interessieren von Erfahrenen Devs:
  • Habt ihr noch irgendwelche must reads?
  • Paar gute Tipps auf was man achten sollte?
  • Auf was sollte man sich konzentrieren, reicht node.js (vorerst) aus (ok vmtl. schwer zu beantworten, aber ...)
  • Wie sieht euer Berufsalltag aus, was alles setzt ihr bei euch in der Firma derzeit ein und was seht ihr als "in" an bzw. was wird kommen?
Bearbeitet von pinkey am 06.03.2016, 20:43

11Fire01

Here to stay
Registered: Dec 2002
Location: austria
Posts: 2417
http://eloquentjavascript.net/
das plattform spiel würde ich auslassen. das funktioniert mit canvas und javascript prototyping viel einfacher.

nodejs ist für server, eigentlich recht simpel an sich.
https://www.manning.com/books/node-js-in-action
wenn du die chat-app durchgemacht hast und auch verstehst, gibts nicht mehr viel dazu.

wenn dann noch fragen sind -> stackoverflow hat auf alles eine antwort :p

über standards sich sorgen ist recht sinnlos, die kommen und gehen, dabei bleibts immer das selbe :D

oh und falls irgend ein kunde oder chef je fragt, ob das die neuesten standards einfach nicken und den standard des jahres inkludieren. im internet gibts bestimmt seiten die den standard des jahres kühren. die haben keine ahnung :p
Bearbeitet von 11Fire01 am 06.03.2016, 22:11

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Zitat von 11Fire01
http://eloquentjavascript.net/
das plattform spiel würde ich auslassen. das funktioniert mit canvas und javascript prototyping viel einfacher.

ok danke für die info.

machst js aus spaß oder beruflich? falls beruflich kannst paar details nennen (gerne auch per pm).

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Ja, grad im JS-Umfeld sind die "Standards" extrem schnelllebig. Bücher zu Frameworks und Tools find ich daher eher sinnlos. Für JavaScript an sich kannst du dir aber sicher eins ansehen.

Tipps:
1. Mach nicht gleich den neuesten Trend mit, wegen s. o.
2. Bleib vorerst beim "normalen" JavaScript und spring noch nicht auf den ES6-Zug auf.
3. Node.js transportiert JavaScript aus dem Browser in eine VM so dass man im Prinzip alles damit machen kann, nicht nur Web-Backends (mit Electron z. B. auch Desktop-Apps).

Frameworks: Express ist meiner Auffassung nach das de facto Framework für Backend-Sachen.
Bearbeitet von -=Willi=- am 07.03.2016, 12:58

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Zitat von -=Willi=-
Tipps:
1. Mach nicht gleich den neuesten Trend mit, wegen s. o.
2. Bleib vorerst beim "normalen" JavaScript und spring noch nicht auf den ES6-Zug auf.
3. Node.js transportiert JavaScript aus dem Browser in eine VM so dass man im Prinzip alles damit machen kann, nicht nur Web-Backends (mit Electron z. B. auch Desktop-Apps).

Frameworks: Express ist meiner Auffassung nach das de facto Framework für Backend-Sachen.

1.) macht Sinn.
2.) glaubst wird das nix? Hab mir gestern 1-2 Blogs dazu angeschaut und paar Sachen die ES6 bietet schauen schon sehr sehr praktisch aus

Auf Electron bin ich gestern auch beim bissl googeln gestoßen, wirkt ansich recht interessant. Hast du damit schon praktische Erfahrungen?

Was mir an Javascript im Moment (schaus mir erst seit kurzem an), dass es einfach sehr viele Freiheiten hat und es dann zig Wege gibt wie man etwas umsetzen kann und die Klassen (zumindest wies derzeit ausschaut - vielleicht täusch ich mich auch) doch durchaus anders sind als typischen Java Anwendungen.
Bearbeitet von pinkey am 07.03.2016, 13:17

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
ES6 wird sicher was und ich find es echt cool :). Nur im praktischen Einsatz verkompliziert sich der Workflow durch das zusätzliche transpilieren und das ist grad am Anfang eher zach :D. Mit mehr JS-Erfahrung kann man dann auch ES6 benutzen. Mit Electron hab ich noch nichts gebaut.

Klassen: In JavaScript gibt es ja eigentlich kein Konzept der Klasse sondern nur das Prototypen-Konzept mit dem sich, ich sag mal klassenähnliche Konstrukte nachbauen lassen. Ich finds auch heute noch seltsam aber man gewöhnt sich dran.

Weil JS eine Scriptsprache ist, in der einiges erlaubt ist, empfehle ich dir noch einen Editor mit Linting und den Strict mode. Wenn du auf Windows arbeitest wird Brackets dafür die einfachste Lösung sein.

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Bzgl. Klassen, kannst du 1-2 Opensource Projekte Empfehlen die das gut implementiert haben und man sich den Code anschauen kann. Ist halt was anderes ob in einem Blog/Buch 1-2 Klassen drin sind oder das wirklich produktiv eingesetzt wird.

Zitat von -=Willi=-
Weil JS eine Scriptsprache ist, in der einiges erlaubt ist, empfehle ich dir noch einen Editor mit Linting und den Strict mode. Wenn du auf Windows arbeitest wird Brackets dafür die einfachste Lösung sein.

Hab der Visual Studio Code mit ESLint im Einsatz. Strict mode muss ich noch aktivieren, danke für den Hinweis. Ich bin derzeit ziemlich vom Visual Studio Code begeistert - gut bin vielleicht schon etwas vorgeschädigt weil ich doch immer mal wieder gern das normale Visual Studio für .net/c verwendet hab und damit auch sehr zufrieden war. Werd mir das brackets aber auch mal anschauen, vielleicht taugts mir noch mehr :)
Bearbeitet von pinkey am 07.03.2016, 14:26

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Achso Visual Studio Code ist auch ok wenn dir das taugt. Soll ja gar nicht so schlecht sein :D.

Ich hab jetzt kurz überlegt ob mir ein Projekt einfällt in dem Klassen benutzt werden, aber eigentlich ist OOP gar nicht so verbreitet bei JS. Der vorherrschende Programmierstil ist klassich imperativ mit ein bisschen "irgendwas" und ein paar Einflüssen von funktionaler Programmierung.

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Wie organisierst das ganze dann bei großen Projekten halbwegs gscheit ohne immer wieder alles neu schreiben zu müssen? Das neue Modulsystem kann dafür ja nicht ausreichend sein oder doch?

Edit: falls dir irgendein Vorzeigeprojekt einfällt wo man siehen kann wie die das lösen würd mich das auch sehr interessieren :)
Bearbeitet von pinkey am 07.03.2016, 15:12

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Doch, module.exports + require reicht in den meisten Fällen aus. Express machts schon ganz fein: https://github.com/expressjs/express

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Wie schauts eigentlich mit den neuen Klassenfunktionen von ecma2016 aus bzw. auch mit Sachen wie z.B. Typescript? Wird das in der Praxis (ok ecma2016 wird noch nicht so verbreitet sein aber Typescript denke ich schon) aus. Wird das eigentlich gern verwendet bzw. sogar gewünscht das ich nicht eine "schwache" Variable hab sondern der Var wie in C/Java etc. einen fixen Typ geben muss.

Weil im Prinzip legt das Programm halt dann zur Laufzeit einen Bauchfleck hin statt das ichs bereits vorher mitbekomme wenn ich keinen Typ verwenden muss?

D.h. so wies für mich als Laie ausschaut wird sich doch bissl in Richtung Java angenähert?

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Es kommt halt immer drauf an wers benutzt und grad im JS-Umfeld bewegen sich eher Programmier-Laien die es oft nicht besser wissen. Die werden dann auch mit ES6 keine Klassen machen und in TypeScript keine Typen benutzen.

Persönlich würd ich natürlich auf jeden Fall Klassen für eine bessere Strukturierung/Modelierung und Typen für eine bessere Vorhersehbarkeit benutzen.

Edit: Was ich noch erwähnen will ist dass imho TypeScript und ES6 heute eher für relativ große JS-Projekte (sogar JS-only) Sinn hat. Gach ein bissl jQuery für "Omas Kochblog" mit ES6/TS machen ist Overkill :). Bis Browser mal eines oder beide nativ unterstützen wird noch einges an Zeit vergehen.
Bearbeitet von -=Willi=- am 09.03.2016, 23:13

11Fire01

Here to stay
Registered: Dec 2002
Location: austria
Posts: 2417
ich würds unsinnig finden in javascript mit klassen anzufangen. man erspart sich so viel zum tippen, das es im vergleich zu java, sehr angenehm ist. Es bleibt übersichtlich mit prototyping und es funktioniert, so weit ich das sah. funktionen sind wie klassen, wozu sich das aufbürden mit klassen. vor allem bei kleineren dingen.

vor allem wenn man von javascript auf java umsteigt merkt man das deutlich. man fragt sich wozu :D

bei den typen gehts doch einzig um performance vorteile. ich seh das einfach zu wenig.

wenn du unbedingt dein wissen auf klassen und höheres programmieren erweitern willst, lern gleich java. davon kann man javascript auch ableiten in gedanken

edit: nein nicht beruflich.
Bearbeitet von 11Fire01 am 10.03.2016, 04:37

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
Der Artikel triffts ziemlich gut: https://medium.com/@pistacchio/i-m-...17df#.fzds4g53h

Man kommt so leicht vom 100sten ins 1000ste die Vielfallt kann zwar fein sein wenn man was spezielleres braucht aber grad zum Anfangen ist es ein Horror.

So langsam komm ich aber in die denkweise von JS rein, zwar sind doch immer wieder ein paar WTF Momente dabei aber dann muss halt der Debugger her halten.

Visual Studio Code + Chrome Debugger Extension + ESLint funktioniert ziemlich gut. Mit Grunt und grunt-connect oder wie das Zeug gheißen hat, hats gar nicht wollen ...

Master99

verträumter realist
Avatar
Registered: Jul 2001
Location: vie/grz
Posts: 12693
diesen blog eintrag fand ich ganz interessant:


mir gefällt dieser no bullshit ansatz... die basiscs lernen, die ganzen frameworks erstmal beiseite lassen und dann erst bei nem konreten projekg einsetzen wenn man alles wichtige von JS begriffen hat.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz