Was ist der Weg zur JavaScript-Beherrschung? [geschlossen]

18

Ich weiß, wie wir mit JavaScript beginnen. Wir schneiden ein Snippit aus und fügen es ein, um ein wenig clientseitige Funktionalität oder Validierung zu erhalten.

Wenn Sie diesen Weg einschlagen, um ein reichhaltiges interaktives Verhalten zu implementieren, dauert es nicht lange, bis Sie feststellen, dass Sie einen Big Ball Of Mud erstellen.

Was ist der Weg zu Fachwissen bei der Programmierung der Interaktionsschicht? Welche Bücher, Tutorials, Übungen und Prozesse tragen dazu bei, dass Sie robustes, wartbares JavaScript programmieren können?

Wir alle wissen, dass Übung in jedem Unterfangen wichtig ist, aber ich suche nach einem ähnlichen Weg wie hier: /programming/2573135/

Eric Wilson
quelle
Die "Interaktionsebene?"
Robert Harvey
1
Sollte meiner Meinung nach ein neuer Tag sein: P
Mike
1
Eine andere Frage, bei der die Antwort wie bei jedem anderen Fach ist, das Sie beherrschen möchten. Üben Sie, lernen Sie von Gleichaltrigen (die erfahrener sind), und habe ich das Üben erwähnt? Der Prozess zum Beherrschen der Programmiersprache x ist der gleiche wie für die Programmiersprache y, die dem Beherrschen des Formens oder Häkelns oder eines anderen Berufs entspricht.
Chris
1
@ Johnny: Wenn Sie die Ausnahme aus dem Stack-Trace entreißen können ...
TMN
1
@ Chris - Wenn Sie dem von mir angegebenen Link folgen, werden Sie feststellen, dass eine solche Frage sinnvoll beantwortet werden kann. "Die Antwort ist Übung" zu sagen, ist nicht hilfreich. Zeigen Sie auf einige Sehenswürdigkeiten entlang eines nützlichen Pfades. Sagen Sie mir nicht, ich soll loslaufen.
Eric Wilson

Antworten:

15

Lesen Sie den Code anderer Völker ( VIEL ) und versuchen Sie zu verstehen, was sie tun und warum sie es tun. Schreiben Sie Ihren eigenen Code ( VIEL ), probieren Sie neue Konzepte und Ideen aus, spielen Sie vor allem und haben Sie Spaß. Der beste Weg, etwas besser zu machen, besteht darin, etwas mehr zu üben, zu üben und dann zu üben.

Lesen Sie Bücher, Tutorials, Artikel, Blogs, RSS-Feeds usw.

Erstellen Sie ein Projekt, an dem Sie in Ihrer Freizeit arbeiten können. Wenn Ihnen nichts einfällt, suchen Sie sich ein Open Source-Projekt, an dem Sie möglicherweise interessiert sind.

Lassen Sie sich auch nicht entmutigen und denken Sie vor allem daran, dass "Meisterschaft" kein Ziel ist, sondern eine Reise - nehmen Sie es in Ihrem eigenen Tempo, haben Sie Spaß und genießen Sie die Landschaft. Wenn Sie es zu ernst nehmen, werden Sie ausgebrannt und das nützt niemandem.

Muad'Dib
quelle
7
Ich wünschte, dies würde automatisch antworten, wenn jemand fragt, wie man X lernt / beherrscht. Hört sich sehr danach an, wie man einen mathematischen Beweis meistert oder einen Roman verfeinert. Sehen Sie sich andere Arbeiten von X an, üben Sie X selbst, spülen Sie, wiederholen Sie -> Master in X.
Chris
@ Chris, Yup. Das ist so ziemlich meine Standardantwort.
Muad'Dib
Obwohl ich sagen kann, dass die Fragen, wo man gute Referenzen / Bücher / Materialien erhält, mir Spaß machen. Ich habe mich kürzlich mit Python befasst und die Frage gestellt, die wir von Programmierern hatten .
Chris
@ Chris Ja, diese Antwort ist eher ein allgemeiner Rat und es fehlen spezifische Schritte, die meiner Meinung nach sehr objektiv sein können. Auch ich sehe gerne Links. Aber dafür ist Google ja gut, oder?
Muad'Dib,
Richtig, aber Google kann keine Reaktionen / Eindrücke des Materials liefern. Google tut gut, aber es tut nicht alles. Trotzdem einverstanden. t
Chris
3

Zunächst müssen Sie wissen, was Ihr Ziel beim Erlernen von JavaScript sein wird. Wenn Sie nur eine Eingabevalidierung durchführen und die Benutzeroberfläche ein wenig vereinfachen möchten, müssen Sie die Sprache nicht vollständig verstehen, wenn Sie Frameworks wie jQuery verwenden .

Wenn Sie jedoch ein solides Verständnis für JavaScript erlangen möchten, versuchen Sie , eine Erweiterung für ein vorhandenes Framework zu schreiben , das ein nützliches Tool implementiert.

In Bezug auf Bücher und andere Ressourcen habe ich nicht wirklich viel über nützliche Bücher gehört und im Allgemeinen habe ich die Sprache gelernt, obwohl ich versucht habe, Probleme zu lösen und zu überprüfen, ob mein Code gemäß JSLint sauber ist . Eine Kombination aus einem interessanten Problem (z. B. Framework-Erweiterung), JSLint und genügend Zeit, um eine solide Übung zu erlernen, ist wahrscheinlich die beste Wahl, um die Sprache zu lernen.

rjzii
quelle
2

Bevor Sie sich mit den Webentwicklungsdetails (DOM usw.) vertraut machen, lernen Sie die Hauptsprache. Sie können auf viele Arten lernen - Bücher, Videos usw. Natürlich müssen Sie Code lesen und schreiben.

ECMAScript (das ist der Name des Sprachstandards - Javascript bezieht sich auf mehrere Implementierungen) ist eine sehr interessante Sprache. Da es sich um eine dynamische, funktionale und prototypbasierte objektorientierte Sprache handelt, sollten Sie sich Zeit nehmen, um die Prinzipien dieser Paradigmen zu verstehen.

Erfahren Sie, wie Sie eine interaktive Konsole in Ihrem Browser verwenden (in Chromium können Sie darauf zugreifen, indem Sie Ctrl+ Shift+ drücken J). Dies ähnelt Tools wie IRB und dem interaktiven Python-Interpreter. Dies ist nützlich zum Testen von Sprachfunktionen und zum Debuggen.

Verwenden Sie JSLint zur Qualitätsprüfung Ihres Codes.

Wenn Sie anfangen, mit DHTML "echte" Entwicklungen durchzuführen, vereinfachen Sie Ihr Leben, indem Sie ein Framework wie JQuery verwenden , um die frustrierenden browserübergreifenden Probleme zu lösen.

david4dev
quelle
1

Viele der Techniken, die einen Programmierer zu einem Experten in einer bestimmten Sprache machen, können hier angewendet werden, obwohl Javascript einige Perlen hat, die es ermöglichen, es mit außerordentlicher Wirkung zu verwenden. Eine der größten Hürden, die ich bei der Verwendung von Javascript überwinden musste, bestand darin, meine "C" -Programmiermentalität rückgängig zu machen.

Es wird allgemein empfohlen, wann immer möglich zu abstrahieren und wann immer möglich Klassen zu bilden, um das allgemeine Verhalten zu organisieren. Erstellen Sie neue js-Dateien für alle Funktionen, die in Ihren anderen js-Dateien (innerhalb des vorgegebenen Rahmens) sinnvoll eingesetzt werden können, und vermeiden Sie globale Variablen, wenn dies möglich ist. Ich würde Ihnen wärmstens empfehlen, jQuery zu lernen, wenn Sie dies noch nicht getan haben. Es ist ein Werkzeug, das ich immer mehr geliebt habe und auf das ich jetzt nicht mehr verzichten würde. Es ist eine extrem flexible Erweiterung von Javascript, mit der Sie Ihren Code enorm vereinfachen können, was der Einfachheit und der schnellen und effizienten Codierung dient. jQuery wird mit einer großen Plugin-Bibliothek geliefert, mit der Sie viele Dinge erledigen können, die beeindruckender nicht wären, wenn Sie sie in Flash erledigt hätten. Überprüfen Sie die jQuery-Benutzeroberflächefür ein gesamtes Themensystem für Ihre Site, mit dem Sie das gesamte Layout Ihrer Site effektiv ändern können, ohne viel zu tun. Im Lieferumfang sind viele Animationseffekte und handliche Steuerelemente enthalten, die häufig auf Websites (Datumsauswahl, Schaltfläche, Fortschrittsbalken usw.) verwendet werden. Die meisten davon können mit einer einzigen Zeile Javascript aktiviert werden.

Hoffentlich hilft das!

Neil
quelle
1

Vieles, was Sie in JavaScript tun, hängt im Wesentlichen mit der Kompatibilität von DOM, CSS und Browsern zusammen. Daher ist das Verständnis des DOM eine der Hauptvoraussetzungen für die Beherrschung von JavaScript.

Das Erlernen der Hauptmerkmale der Sprache wie prototypbasierte Objektorientierung, anonyme Funktionen und allgemeinere Sprachmerkmale wie Schleifen, Bedingungen usw. ist der Schlüssel zum Verständnis des von Ihnen gelesenen Codes, der nicht speziell mit DOM / CSS interagiert .

Sie müssen auch die Sprachstandardbibliothek lernen, z. B. die Funktionen String und Math und andere Kernobjekte.

Sie sollten sich auch mit Algorithmen befassen, wenn Sie ein echtes und vollständiges Verständnis der Funktionsweise und der Implementierung fortgeschrittener Lösungen erlangen möchten. Dieses Wissen ist für das Verständnis der fortgeschrittenen Programmierung von grundlegender Bedeutung und geht über die sprachspezifische Syntax hinaus.

ocodo
quelle
1

Lesen Sie den Code der von Ihnen verwendeten Bibliotheken. Wenn Sie die jQuery- oder Prototype-Quelle lesen, erfahren Sie in Unmengen, was in JavaScript und in der Domäne tatsächlich passiert. Recherchetechniken, die die Bibliotheken verwenden, damit Sie sie verstehen können. Lesen Sie zunächst die Micro-Frameworks unter http://microjs.com/ . Stellen Sie sicher, dass Sie sich die tatsächliche Quelle und nicht nur die verteilten Dateien ansehen. (jQuery hat ungefähr ein Dutzend Quelldateien, die jedoch durch einen Erstellungsprozess zusammengesetzt werden.)

Sean McMillan
quelle
0

Javascript wird derzeit in vielen Entwicklungsbereichen eingesetzt.

  • Es ist die einzige Sprache, die in modernen Browsern vorhanden ist.
  • Dank node.js und der V8-Engine kann es auf dem Server ausgeführt werden.
  • Es kann eingebettet in mobile Geräte über PhoneGap oder andere Alternativen ausgeführt werden.
  • Es kann verwendet werden, um Windows 8-Anwendungen zu erstellen.

Daher glaube ich, dass es mehr Javascript-Meisterschaften gibt. Es hängt davon ab, womit Sie beginnen möchten, aber seien Sie versichert, dass jedes der oben genannten 4 Elemente eine andere Herausforderung darstellt - ok, vielleicht könnten die Felder für Fenster 8 und Phonegap ähnlich sein, aber der Rest ist anders -.

Wenn wir über die Browser-Umgebung sprechen, könnte es einer der möglichen Wege sein, herauszufinden, wie fast jede Webanwendung organisiert sein sollte. Ich gehe diesen Weg und experimentiere mit meinen eigenen Ideen. Ich schaue mir Git-Repos von beliebten Code-Organisationsbibliotheken wie Dojo, Backbone, Ember usw. an.

Wenn wir über die Umgebung des Knotens sprechen, ist das eine andere Geschichte. Wir beschäftigen uns nicht mit der Verkleinerung und Dateigröße. Erstellen Sie ganze Anwendungen in Node, erstellen Sie Systeme, Sites und REST-APIs. Dort gibt es eine Menge zu entdecken.

Wenn wir über die mobile Welt sprechen, kommt uns eine Überoptimierung in den Sinn. CSS3-beschleunigte Eigenschaften, Animationen, Berührungsereignisse und der Versuch, dieselbe Architektur wie das Web mit spezialisierteren UI-Komponenten zu verwenden, sind ein guter Anfang.

Alles in allem, wie andere geantwortet haben, ist das Experimentieren mit Ihrem eigenen Code und mit dem Code anderer der beste Weg, um mitzumachen, auf dem neuesten Stand zu bleiben und wer weiß, vielleicht das nächste große Ding auszudenken.

Eine andere Sache, die hilft, ist das Arbeiten in einem Team und das Verstehen der Unterschiede zwischen Ihrer Art und der Art und Weise, wie das Team Code schreibt. Wenn Sie in einem Team von Javascript-Entwicklern arbeiten, müssen Sie besseren Code schreiben und gut dokumentieren. Ich denke, es gibt keinen besseren Weg, die Architektur einer Anwendung kennenzulernen, als ein Wiki darüber zu schreiben, was Sie implementieren möchten oder bereits implementiert haben.

Vlad Nicula
quelle
-1

Ich hasste JavaScript, bis ich jQuery entdeckte. Jetzt liebe ich es und benutze es die ganze Zeit. Wahrscheinlich zu viel.

bestattendance
quelle
Sie hassten das DOM und die browserübergreifende Kompatibilität, nicht EcmaScript.
Raynos
Mit jQuery macht Javascript Spaß! +1
Dynamisch