現在、私は「フルスタック」開発者(役職上のアプリケーション開発者)として会社でインターンをしており、フロントエンドタスクへの対応に困難を感じています。これは、新しいフロントエンド機能の実装を任されているときに特に当てはまり、フロントエンドの開発哲学と構造にこだわるのに苦労しているように見えます(魔法のように感じられる場合、HTMLとJavaScriptがどのように連携しているかは正確にはわかりません。 Angular.jsを追加すると、バックエンド(静的型付き言語(Java、C#)があり、すべてがどのように定義されているかを確認する方法を見つけることができ、コードを簡単にたどることができます)に比べてさらに奇妙になります)。
注* RESTカーテンの後のすべてとしてバックエンドを定義し、RESTカーテンの前にすべてとしてフロントエンドを実行するコードとして、 Webブラウザ用。
これまで、私の仕事とインターンシップはすべて、バックエンドのコード、サーバー、データベース、ファイルを扱ってきました。ハッカソンでは、チームメイトがフロントエンドのコーディングを行う間、私は特に自分でバックエンドアーキテクチャを行います。
そうは言っても、バックエンドの経験だけでフロントエンドの開発に取り掛かるのに最適なアプローチは何でしょうか?言語固有、javascriptとangularjsがHTMLでどのように機能するかを理解するための最良の方法は何ですか?これらの言語をトラバースしてすべてがどのように接続されているかを見つけるにはどうすればよいですか?
この質問の根拠は、Javascript、HTML、CSSとその派生物がどのように機能するかを理解し、それがどのように機能し、どのようにトラバース/プログラミングするかを理解できるようにする方法を探すことです。私はWebコースで基本的なJS構文を理解していますが、それがWebデザインにどのように統合されているかはわかりません。
どのようにしてバックエンド開発者になったのですか?当時は非常によく似ていたはずです。それでもあなたはそれを管理しました。フロントエンドについても同じことをすると思います。
これが私があなたの学習を提案する方法です:
最終的にはすべてが適切に配置され、理解できるはずです。
私はおそらく基本的なHTMLとCSSから始めます。
プログラミング方法をすでに知っている場合は、難しくありません。
まず、HTML、CSS、JavaScriptを使用して個人プロジェクトを作成します。
jsに慣れてきたらjQueryに進んでください。
問題は、同時に多くを達成しようとしていることだと思います。
そうは言っても、今日はオンラインで基本的なフロントエンドを学ぶための多くのリソースがあります。
簡単な答えは、Angularの優れた本を読んで、もう一度読んでから、コーディングを練習することです。とはいえ、UIを使用したことがない場合は、すべてをまとめるのに役立ついくつかの基本的な概念情報が欠落している可能性があるため、興味深い挑戦になる可能性があります。
以下では、HTMLタグとは何か、フォーム要素がどのように機能するかを理解していることを前提としています。そうしないと、これは長い道のりになるでしょう。
次のHTMLについて考えてみます。
<span id="name"></span>
あなたはサーバースペシャリストなので、XMLやJSONなどのコンテンツをクライアントに提供するだけでなく、HTMLページをブラウザーに提供することもできると思います。データベースから値を検索し、そのスパンタグの中央に挿入して、ブラウザに出力できるとしたらどうでしょう。
<span id="name">Rufus McGillicutty</span>
これはおそらくデータバインディングの最も基本的な形式です。つまり、ページの要素をデータベースのコンテンツで埋めます。そして、それを行うためにJavaScriptやCSSを知る必要さえありません。 JavaScriptフレームワークは、サーバー側で文字列を一緒に貼り付けるのではなく、DOMを操作してデータバインディングを行います。
あなたが持っている場合
<form></form>
その後、ユーザーが[送信]ボタンを押すと、そのフォーム内のコントロールの値を取得できます。これらの値をデータオブジェクトにバインドする方法があり、データベースに挿入できるデータがいくつかあります。
作成、読み取り、更新、削除。これらは、サポートする必要がある操作です。さて、それらと「注文」のようなもの。サーバーで重要な作業を行ったことがあれば、これは既におなじみのはずです。
うまくいけば、MVCやMVVMのような頭字語を聞いたことがあるでしょう。正確な複雑さを理解するためではなく、それらを研究する必要がありますが、これらの組織化の原則がなぜ有用で保守可能なユーザーインターフェースを構築するのにうまく機能するのかを理解するために、さらに検討する必要があります。
次の用語を勉強、理解、理解する必要があります。
Model
View
ViewModel
Controller
Service Layer
Data Layer
Angularは、学習するのに最適なフロントエンドフレームワークではない可能性があることに注意してくださいfirst。ノックアウトは、その点でおそらくより適切です。なぜなら、よりシンプルで、学習曲線がかなり長くないためです。また、jQueryについて少なくともある程度の知識が必要です。