JavaScriptマスタリーへの道は何ですか?[閉まっている]


18

JavaScriptを使用して開始する方法を知っています。スニペットをカットアンドペーストして、クライアント側の機能または検証を少し行います。

しかし、リッチな対話型動作を実装しようとしてこのパスをたどると、泥だらけのビッグボールを作成していることに気付くのにそれほど時間がかかりません。

それでは、相互作用層のプログラミングにおける専門知識への道はどのようなものでしょうか?堅牢で保守可能なJavaScriptをプログラミングする能力に役立つ書籍、チュートリアル、演習、およびプロセスはどれですか?

私たちは皆、あらゆる努力において実践が重要であることを知っていますが、ここでの答えに似たパスを探しています:https : //stackoverflow.com/questions/2573135/


「相互作用層?」
ロバートハーベイ

1
P:私の意見では、新しいタグでなければなりません
マイク・

1
答えが習得したい他のフィールドと同じように練習である別の質問。練習し、あなたの仲間(より熟練した仲間)から学び、練習について言及しました。プログラミング言語xを習得するプロセスは、プログラミング言語yの場合と同じです。これは、彫刻やかぎ針編みなどの取引を習得するのと同じです。
クリス

1
@johnny:あなたは、スタックトレースから例外を奪うことができます...
TMN

1
@Chris-私が含めたリンクをたどると、そのような質問に役立つ回答が得られることがわかります。「答えは練習です」と言っても役に立ちません。便利な道に沿っていくつかのランドマークを指してください。ただ歩き始めるように言ってはいけません。
エリックウィルソン

回答:


15

他の人々のコード(A LOT)を読み、彼らが何をしているか、なぜ彼らがそれをしているのかを理解しようとする。独自のコードを書く(A LOT)新しいコンセプトやアイデアを試してみてください。何よりもまず、遊びましょう。何かを良くするための最良の方法は、練習し、練習し、さらに練習することです。

本、チュートリアル、記事、ブログ、RSSフィードなどを読んでください。

空き時間に作業するプロジェクトを作成します。何か考えられない場合は、作業に興味があるかもしれないオープンソースプロジェクトを見つけてください。

また、落胆しないでください。何よりも、「マスタリー」は目的地ではなく、旅であることに注意してください。真剣に考えすぎると、燃え尽きてしまい、だれも役に立たなくなります。


7
誰かが「Xを学ぶ/マスターする」と尋ねたときにこれが自動応答することを望みます。数学的な証明をマスターしたり、小説を洗練したりする方法によく似ています。Xの表示他人の仕事、練習X自身、リンス、リピート- Xの>マスター
クリス・

@クリス、うん。これはほとんど私の標準的な答えです。
ムアッドディブ

良い参考文献/本/資料をどこで入手できるかについての質問は、私が楽しんでいる質問です。最近pythonを使用し、programmers.stackexchange.com / questions / 12189 /に質問がありました。
クリス

@クリスはい、この答えはより一般的なアドバイスであり、私の心には、非常に客観的であることができる特定の手順が欠けています。私もリンクを見たいです。しかし、それがGoogleの目的ですよね?
ムアディブ

正しいが、グーグルは素材の反応/印象を提供することはできません。Googleは良いことをしますが、すべてを行うわけではありません。関係なく同意しました。t
クリス

9

JSマスタリーのリンクはほとんどありません


3

最初に、JavaScriptの学習に関する目標が何であるかを知る必要があります。入力検証を行い、ユーザーのUIを少し簡単にするだけの場合、jQueryなどのフレームワークを使用している場合、言語を完全に深く理解する必要はありません。

ただし、JavaScriptをしっかり理解したい場合は、既存のフレームワークの拡張機能を作成してみてください、有用なツールを実装。

書籍やその他のリソースに関しては、有用な書籍のことをあまり聞いたことはなく、一般的には、JSLintに従って問題を解決し、コードがクリーンであることを確認することで言語を学びました。興味深い問題(フレームワークの拡張など)、JSLint、および確実な練習を行うのに十分な時間の組み合わせが、言語を学習する上で最善の策になる可能性があります。


2

Web開発の詳細(DOMなど)を学習する前に、コア言語を学習します。書籍、ビデオなど、さまざまな方法で学習できます。もちろん、コードを読み書きする必要があります。

ECMAScript(これは言語標準の名前です-javascriptはいくつかの実装を指します)は非常に興味深い言語です。動的で機能的でプロトタイプベースのオブジェクト指向言語であるため、これらのパラダイムの原則を理解するために時間をかける必要があります。

ブラウザでインタラクティブコンソールを使用して学習します(Chromiumでは、Ctrl+ Shift+J)。これは、IRBやインタラクティブPythonインタプリタなどのツールに似ています。これは、言語機能のテストとデバッグに役立ちます。

JSLintを使用して、コードの品質をチェックします。

DHTMLを使用して「本物の」開発を開始するときは、JQueryなどのフレームワークを使用して、イライラするクロスブラウザーの問題を処理することで、生活を楽にします。


1

プログラマーを特定の言語の専門家にする多くの手法をここで適用できますが、javascriptにはいくつかの真珠があり、それを使用して異常な効果を得ることができます。おそらく、JavaScriptを使用して克服しなければならなかった最大のハードルの1つは、「C」プログラミングの考え方を取り消すことでした。

一般的なアドバイスとしては、可能な限り抽象化し、一般的な動作を整理するために可能な限りクラスを作成するようにします。(理由内で)他のjsファイルで有効に使用できる機能用の新しいjsファイルを作成し、可能な限りグローバル変数を使用しないでください。まだjQueryを学んでいない場合は、ぜひお勧めします。それは私が愛するようになったツールであり、今ではなくてはなりません。これは非常に柔軟なJavaScriptの拡張機能であり、コードを大幅に単純化できます。これは、単純化に役立ち、迅速かつ効率的にコーディングすることもできます。jQueryには大きなプラグインライブラリが付属しているため、フラッシュでやったとしてもこれほど印象的ではない多くのことを実行できます。チェックアウトjQuery UIをご覧サイトのテーマシステム全体で、ほとんど何もせずにサイトのレイアウト全体を効果的に変更できます。Webサイトで一般的に使用される多くのアニメーション効果と便利なコントロール(日付ピッカー、ボタン、プログレスバーなど)が付属しています。これらのほとんどは、1行のjavascriptを使用してアクティブにできます。

お役に立てば幸いです!


1

JavaScriptで行うことの多くは、基本的にDOM、CSS、およびブラウザーの互換性と絡み合っているため、DOMを理解することはJavaScriptをマスターするための主要な要件の1つです。

プロトタイプベースのオブジェクト指向、匿名関数、ループや条件などのより一般的な言語機能など、言語のコア機能を学習することは、DOM / CSSと特に対話しないコードを理解するための鍵です。

また、文字列や数学、その他のコアオブジェクト関数など、言語標準ライブラリを学ぶ必要があります。

また、アルゴリズムを学習する必要があります。物事の進め方やより高度なソリューションの実装方法を真に完全に理解したい場合、この知識は高度なプログラミングを理解するための基本であり、言語固有の構文を超えます。


1

使用しているライブラリのコードを読んでください。jQueryまたはPrototypeのソースを読むと、javascriptとdomで実際に何が起こっているのかがわかります。あなたがそれらを理解できるように、図書館が使用する研究技術。http://microjs.com/でマイクロフレームワークを読むことから始めてください。配布されたファイルだけでなく、実際のソースを確認してください。(jQueryには12個程度のソースファイルがありますが、ビルドプロセスによってアセンブルされます。)


0

現在、Javascriptは多くの開発分野に適用されています。

  • 最新のブラウザに存在する唯一の言語です。
  • node.jsとV8エンジンのおかげで、サーバー上で実行できます。
  • PhoneGapまたはその他の代替手段を使用して、モバイルデバイスに埋め込み実行できます。
  • Windows 8アプリケーションの作成に使用できます。

したがって、私はより多くのjavascriptマスタリーがあると信じています。それはあなたが何を始めたいかに依存しますが、上記の4つのアイテムのそれぞれはあなたに異なる挑戦を与えるでしょう-OK

ブラウザー環境について話している場合、ほぼすべてのWebアプリケーションをどのように編成するかを学習することは、進むべき道の1つです。私はその道を進んで、自分のアイデアを試し、dojo、backbone、emberなどの人気のあるコード編成ライブラリのgitリポジトリをチェックします。

ノードjs環境について話している場合、それは別の話です。縮小とファイルサイズは関係ありません。ノード、ビルドシステム、サイト、REST APIでアプリケーション全体を作成すると、そこには多くの発見があります。

モバイルの世界について話している場合、過剰な最適化が思い浮かびます。CSS3は、プロパティ、アニメーション、タッチイベントを加速し、より専門的なUIコンポーネントを備えたWebと同じアーキテクチャを使用しようとすることから始めるのは素晴らしいことです。

全体として、他の人が答えたように、あなた自身のコードを試し、他の人のコードを試すことが、関与し、最新のものに追いつき、おそらく誰が次の大きなことを考え出すのに最適な方法です。

チームで働くことと、あなたのやり方とコードを書くチームのやり方との違いを理解することも役立ちます。JavaScript開発者のチームで作業すると、より良いコードを記述し、適切に文書化する必要があります。実装しようとしているもの、または既に実装したものについてwikiを書くことよりも、アプリケーションのアーキテクチャについて学ぶ良い方法はないと思います。


-1

jQueryを発見するまでJavaScriptが嫌いでした。今、私はそれを愛し、いつも使っています。おそらく多すぎる。


EcmaScriptではなく、DOMとブラウザ間のコンプライアンスを嫌っていました。
レイノス

jQueryはJavascriptを楽しくします!+1
ダイナミック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.