23

前文

動的な Web サイトを構築するには、少なくとも 4 つの言語を習得する必要があります。

  • Web ページ構造の HTML
  • レイアウトとデザインのための CSS
  • インタラクティブな JavaScript
  • ビジネス ルールまたは動的駆動データ用の言語

さらに、永続ストレージ用の SQL、セッションとキャッシング用の Memcache、さまざまなコンテンツ管理システム用の API があります。また、興味深い Web アプリケーションを構築する際に、OpenID、Facebook、Twitter、OpenSocial との対話を検討する必要があります。

全体として、それは完全な混乱です!

2 つの目的を考慮すると、次のようになります。

  • 子供たちにウェブ開発を教える
  • チームとしての生産性を維持する

質問

HTML + CSS + Javascript + (ここに高水準言語を挿入、PHP を推奨)を統合する高水準システムは何ですか?


バックグラウンド

  1. 私は、ブロードビジョン、オートノミー、エンタープライズ Java、オラクルなどのテクノロジーのプロジェクト リーダーおよび開発者として 15 年以上の経験を持つソフトウェア エンジニアです。

ここ数年は、Drupal や CakePHP などの PHP フレームワークを使用して、コミュニティ Web サイトの開発に注力しています。私は Web 開発が好きで、関連するテクノロジー間のインピーダンスの不一致を楽しんでいます。それでも私がたどり着く必然的な結論は、もっと良い方法があるに違いないということです。

  1. 私は 2 人の息子 (13 歳と 9 歳) の父親であり、彼らにはプログラマーになってほしくありませんが、コンピューターをゲーム機以上のものとして理解してもらいたいと思っています。私は、彼らが自分自身を表現するために Web 開発を少しいじるように動機付けたいと思っています。

断片的に見せるときはいつでも、日曜日の午後の 1 時間か 2 時間で「興味深い」結果を作成できるツールセットを提供してもらいたいと思っています。

4

19 に答える 19

12

GWTは、Java を記述して Javascript を作成できるようにする、高レベルのツールキットになる方向に進んでいます。

于 2009-08-30T19:38:11.923 に答える
8

Web プログラミングは、本質的に複数の分野にまたがる技術です。

これの主な理由は、懸念事項が分離されているためです... HTML と CSS、JavaScript、SQL などが 1 つの言語にまとめられていない理由は、それぞれに個別の目標、注意事項、落とし穴、および長所があるためです。

SQL、CSS、JavaScript、および PHP コードが同じソース ファイルに混在しているサイトをデバッグしようとすることを想像できますか? あなたはすでにそうするという不幸を経験しているかもしれません。悲しいことに、このように書かれたサイトは文字通り何千もあり、プレゼンテーション、データ、および構造のこのような乱雑な融合をデバッグまたは追加しようとするのは完全な悪夢です.

全体として、完全な混乱です!子供に Web 開発を教えるにはどうすればよいでしょうか?

一番大切なことは、プログラミングの基礎を教えて定着させることだと思います。変数、ロジック、ポインタ、メモリ管理、アルゴリズム、データ構造など

プログラミングの基礎があれば、複数の言語で作業したり、新しい言語を習得したり、時代に合わせて簡単に変更したりできます。これは、Web プログラミングのように常に進化し、トレンドに基づいているものにとって非常に貴重なスキルです。

私の意見では、プログラミングに慣れていない人は、C などの低レベル言語から始める必要があります。人々は、プログラミングの本質的で基本的な概念を学び、PHP や Python のような高レベルの言語を見せる前に、舞台裏で何が起こっているかを知る必要があります。

プログラミングを教えることに対するこの姿勢は、より優れた Web 開発者を育成するだけでなく、興味や知性を持たない人々を除外する参入障壁を提供する効果があると思います。この種の態度の結果は、より優れた開発者、より優れたソフトウェア、そして最終的にはより強力な言語とツールになると思います。

于 2009-08-30T19:53:06.557 に答える
8

子供に Web 開発を教えるにはどうすればよいでしょうか?

Web 開発の子供たちの軍隊は、私たちの職業を低下させたものです。現在、ほとんどの人が自分自身をプログラマーと呼んでいます。

多くの言語と技術をマスターするには?それは良いことです。開発者の仲間入りをするための参入障壁を設けましょう。

追加: コメントをたどることで、私が自分自身を完全に明確にしていないことがわかります. 10 歳、30 歳、50 歳、80 歳など、年齢については何も言いません。すべては態度です。デザイナーや CMS でマウスを使ってコントロールを移動する以上のことが職業にあるという事実を理解し、受け入れるかどうか。プロのソフトウェア開発者のワークショップに属する、CS、アルゴリズム、データ構造、データベース、アーキテクチャ、拡張性、メンテナンス、パフォーマンス、スケーラビリティ、ユーザビリティ、マーケティングなどの基礎を含む多くの知識を得ることができます。私はそれらのことを知らず、自分自身を教育し、ますます熟練しようと努力する動きをせず、彼らは職業に属していません. そして、この意見を偏らせてください。

于 2009-08-30T19:35:41.023 に答える
6

最も近いのは .NET だと思います。多くの言語には多くのフレームワークがありますが、完全にすべてを処理できるフレームワークは私が知っているものではありません。それに加えて、プログラミングは公園を散歩するようなものだと子供たちに納得させようとしてはいけません。それは難しいキャリアであり、多くの研究と維持が必要です。私たちは、今日ここにあり、明日にはなくなるテクノロジーを使用しています。

考えてみれば、プログラミングは大工仕事や航空学と何ら変わりはありません。どんな職業を選んでも、より良い仕事をするためには、さまざまなことを学ぶ必要があります。

于 2009-08-30T19:35:22.410 に答える
5

子供たちに Web 開発をどのように教えるべきですか? うわー、それは厄介なものです。彼らに外科医、知的財産法、土木工学をどのように教えたらよいのでしょうか? それとも、自動車整備、配管、または一般的な契約ですか?

セサミストリートのテープをはじくことを考えたことはありますか?

エルモは、自分の職業を矮小化するのが好きではありません。

于 2009-08-30T20:43:32.663 に答える
4

ソフトウェア業界は、質の低い製品を作成するだけでなく、この職業が真のエンジニアリング分野になることから遠ざかる資格のない個人に苦しんでいます。これは認定を受けるものではありません。念のため、誰にもソフトウェア開発を「教えて」はいけません。優れたソフトウェアを作成することは、長年の経験と過去および現在のテクノロジに関する豊富な知識の結果としてのみもたらされることを彼らに説明してください。あなたができる最悪のことは、彼らと一緒に働いている他の人のために仕事を作成するさらに別の中途半端な開発者を紹介することです. 彼らに教育を受けるように言いなさい。これはおそらくあなたが聞きたかった答えではないことはわかっていますが、私はこれを読んでもらいたかった.

于 2009-08-30T19:56:25.113 に答える
2

Opaをチェックしてください:http://opalang.org/

これは、新進気鋭のWeb開発テクノロジーです。それは非常に有望に見えます。私は過去2年間に多くのウェブ開発を行ってきましたが、5〜10年後にウェブサイトが開発される主な方法となる新しいフレームワーク/言語/テクノロジーを予測する必要があるとしたら、 Opaになります。

ドキュメントは素晴らしく、コミュニティは素晴らしく、チュートリアルとプロジェクトに取り組んでいるチームに尋ねられた質問への応答性は素晴らしかったです。全体として、彼らは比類のないように見えるこの新しいフレームワークの開発に関して細部に注意を払っているようです。

于 2012-03-28T04:37:37.983 に答える
2

Djangoは、そのクリーンさの途中であなたを連れて行くことができます。それは生産性に焦点を合わせています。教えることは他のどの言語/フレームワークよりも簡単ではありませんが、このように見てください。このツールを教えるとき、生徒はそれがいかに簡単であるかについての知識を十分に備えています。Djangoを学んだ後は、Javaのサーブレットや同様の悪夢を受け入れることはありません。

于 2009-08-30T21:35:44.947 に答える
2

言語の心配はほとんどありません。彼らが取り組んでいるのは複雑な問題領域です。異なる言語を使用すると、a) 境界が明確になり、b) ドメインに合わせて言語を最適化できるため、実際には物事がより管理しやすくなります。

于 2009-08-30T20:26:16.317 に答える
2

プログラミング (PHP/JS) とドキュメント形式 (HTML/CSS) は別物です。PHP と JS のプログラミングを同時に学習することも難しくなります。

最初は、クライアントの HTML と JS に集中する必要があります。その後、サーバー上で JavaScript をプログラムすることもできます。これにより、プログラミング言語は 1 つだけになり、最初は CSS よりも HTML に重点が置かれます。

JS と HTML の基礎を習得したら、より広く使用されているサーバー側プログラミング言語 (PHP、Ruby など) と CSS を教えることができます。

于 2009-08-30T20:28:08.327 に答える
2

Web 開発の問題点は、もともと現在使用されているものに合わせて設計されていないことだと思います。HTML+CSS+JavaScript に加えて、それを生成するサーバーサイド テクノロジーを使用して、ブラウザー内にリッチ クライアント アプリケーションを構築します。はい、動作しますが、面倒なブラウザーの非互換性が特に厄介です。Flash と Silverlight の存在がこれを証明しています。それらを使用すると、ブラウザ内で単一のテクノロジを使用してアプリを構築できます。ただし、コンテンツにプラグインが必要になることのマイナス面は明らかです。

于 2009-08-30T19:54:01.780 に答える
1

あなたのアプローチを再考する必要があるかもしれないと思います。私の意見では、これをそれが何であるかと考えてください、しかし私はこの順序付けがよりうまくいくかもしれないと思います。

最優先事項:(順不同)

  • 問題解決スキルを開発する
  • チームとして生産的になる

次:

  • 基本的なプログラミングスキル(PHP、Pythonなど)

個人として、またチームとして問題を解決する方法を知った後、次のような詳細に進むことができます。

  • クライアント/サーバーモデル
  • マークアップ(HTML、XHTML、XMLなど)
  • スタイリング(CSS)
  • クライアント側のスクリプト(JavaScript / jQuery)
  • サーバーサイドスクリプト(PHP、Rubyなど)

バットの奥深くに飛び込むのではなく、何が関係しているのかについての知識を少しずつ積み上げていきます。彼らはすぐに圧倒されます。

この時点で、ファイルI/Oやデータベースなどの導入を開始できます。

これにより、かなり包括的なスキルセットが得られます。ここから彼らは本当に学び始めることができます。

さらに、永続ストレージ用のSQL、セッションとキャッシング用のMemcache、コンテンツ管理システムのAPI、OpenID、Facebook、Twitter、OpenSocialなどを処理して、興味深いものを構築する必要がある場合があります。

これらはそれ自体がトピック全体であり、すべてを1つのチャンクにまとめることはできません。特に、これらの人々を0から取っている場合。何か面白いものを構築する前に、ありふれたものを構築することを学ぶ必要があります。

HTML5は、FlashやSilverlightよりも、おそらくあなたが探しているものに近いものになるでしょうが、まだ完全にはここにありません...サポートは構築されていますが。

赤ちゃんのステップ、オラフ-これがマトリックスの場合、すべての情報を一度にダウンロードできますが、私たちはそこにいません...まだ;-)

今のところ、そして近い将来、Web開発は、興味深いユーザーエクスペリエンスを提供するために連携する多くの異なるテクノロジーの相乗効果です。

まあ、それは私の2セントです

于 2009-08-30T21:39:04.813 に答える
1

Web 開発の多分野にわたる性質は、特にチーム環境での作業を楽しくするものの 1 つです。

チームとしてうまく機能するには、UI/グラフィック担当者から DBA やシステム管理者に至るまで、さまざまな専門知識を持つ人々のグループと自然に結ばれます。グループの 1 つの層 (バックエンド プログラマーなど) 内であっても、各人は一般的に異なるセットを専門としています。たとえば、UI の経験が豊富な人もいれば、データの経験が豊富な人もいます。

10 人の Java プログラマー全員が何らかのミドルウェア アプリケーションに取り組んでいる部屋で作業するのと比較して、私はいつでもこの多様性を受け入れます。

于 2009-08-31T00:35:58.413 に答える
1

多くの技術を習得することは良いことではありません。エリート主義者が何と言おうと、Web 用の Visual Basic が必要です。

于 2009-08-30T19:55:28.267 に答える
1

目的ごとに異なる言語が必要です。ほとんどの Web アプリケーションでは、実際にはかなりのことが行われているため、さまざまな言語とソリューションが必要になります。

目標が単一の言語で統一することであれば、それは可能です。サーバー上で Javascript を使用し、それを使用してページを構築document.createElement()し、プロパティにスタイルを直接適用できますstyles。サーバーでは、Javascript を使用してデータをファイルに直接保存します。

明らかに、これはうまくいきません。HTML は完璧ではありませんが、HTML がどこにでもあるのには理由があります。CSS は複雑で単純すぎますが、オーバーライド可能なルールを定義してデザインを表現するという根本的な考え方は適切です。また、SQL を理解するのが面倒な場合もありますが、この方法でデータベース クエリを表現すると表現力が豊かになり、実際にはかなりうまく機能します。

そうは言っても、1 つのアーキテクチャがある、または 1 つのアーキテクチャであるべきだと言っているわけではありません。あってはならない。各プロジェクトは、その要件に沿ったアーキテクチャを使用する必要があります。

次のプロジェクトでは、単純化してみてください。データベースは本当に必要ですか? GWT、アプレット、Flash、.NET などを使用して、ビュー レイヤーを組み合わせて簡素化できますか? (CSS、HTML、および Javascript の複雑さを導入する) ブラウザーでコンテンツを提供する必要が本当にあるのか、それとも単にアプリケーションを作成できるのか?

于 2009-08-30T20:42:38.093 に答える
0

angularjsがオプションになる可能性があります。これは、単一ページのアプリケーションを対象としており、nodejs スタック上で実行され、テンプレート JavaScript の「魔法」を実行します。

例 (テンプレート/コード): 入力フィールドの値を見出し (h1) に (自動生成されたクライアント側の js を介して) バインドします。入力フィールドに何かを入力すると、見出しのテキストが更新されます。また、frontend-js を記述する必要はありません。

  <input type="text" ng-model="yourName" placeholder="Enter a name here">
  <h1>Hello {{yourName}}!</h1>
于 2013-08-07T11:28:51.457 に答える
0

動的な Web サイトの作成方法を単に教えたい場合は、w3schools.com の HTML チュートリアルを使用して設定し、完了したら、適切な外観のスタイルシートを見つけて、PHP で使用できるように設定します。そうすれば、趣味として始めて実行することができます。さらにやりたい場合は、CSS や JavaScript などの追加の知識をつなぎ合わせることができます。

于 2009-08-31T03:52:04.100 に答える
0

Ruby on Rails はそれらすべての統合に向けてかなり進んでいますが、CSS に関しては、あなたを完全に取り残します (ただし、CSS を時代遅れにする RoR 用のフレームワークがいくつかあるかもしれませんが、別のマークアップ言語があると思います)。そして、まだ Javascript が必要です (ただし、多くの Javascript とすべての DB コードを作成します)。

一方、あなたの子供について言えば、プログラミングはプログラマーのためのものです。日曜日の午後、数時間で何かを組み立てるには、フレームワークを理解し、いくつかのプラグインを購入し、多くの作業をせずにすべてを稼働させる必要があります。Drupal や Joomla のようなもので、テンプレート (Joomla の場合は何百ものパックを購入できます) とあらゆる種類のことを行うためのプラグインを販売しています。そして、それが失敗した場合、あなたの子供はおそらく ODesk に行き、$100 を落としてあなたのフレームワークで何かを成し遂げる方法を知っているはずです。プログラマーになりたいなら、プログラミングを学ぶのは良いことです。それ以外の場合は、優れたプログラマーを雇うか、完成した優れたコンポーネントを購入するために必要なことを学び、それを行うための現金を用意することをお勧めします。

子供たちについての最後のポイント:彼らにビデオゲームをさせてください。これは、コンピューター側で将来が待ち受けているものに備えて、彼らが得ることができる最高のトレーニングです。ビデオ ゲームを使用すると、コンピューターで調べたり、遊んだり、リラックスしたりできます。それができたら、HTML、CSS、Javascript、およびいくつかのアプリケーション スタックを学習するのは簡単です。

于 2009-09-14T00:19:08.123 に答える