Webアプリケーションを作成するには、htmlとjavascriptを学ぶ必要がありますか?[閉まっている]


10

私は経験豊富なJavaプログラマーであり、動的なページや描画などを必要とする複雑なWebアプリケーションを作成したいと考えています(例としてSOを取り上げます)。このようなアプリケーションを作成するには、javascript / htmlを学ぶ必要がありますか?

別の言語を学びたくないということではありませんが(以前にこれを行ったことがあります)、JavaScript環境のテクノロジーは急速に変化しているように見えるため、1つのフレームワークの学習を終了すると、すでに時代遅れです。私はウェブ開発用のいくつかのJavaフレームワーク(スプリング、プレイ)をチェックしましたが、深くは確認していません。それで、これらのフレームワーク(または私が知らない他の可能なJavaフレームワーク)は、html / javascriptを学習せずに使用できますか?また、Pythonの経験もあります。したがって、Pythonでアプリを実行できる場合は、それもオプションです。


22
短い答え:はい!......長い答え:はい!!!!!!!!!!!
rlemon

1
その他のポイント:フレームワークは必要ありません。実際、Javascriptを学習している間は、フレームワークや抽象化ライブラリから離れている必要があります。抽象化ライブラリ(定義上)は、言語やAPIの学習に役立ちません。Javascriptルーム立ち寄って、ルームオーナー/常連の何人かにこの質問をしてください。
rlemon

1
完全に同じ質問ではありませんが、人々が「ショートカット」について尋ねるとき、私はいつもこの答えが役に立つと思います。programmers.stackexchange.com/questions/122191/...
rlemon

3
いいえ、あなたは他の人にそれをするためにお金を払うことができます
Jason Sebring

1
「Androidアプリを書くためにJavaを知る必要があるのか​​」または「iOSアプリを書くためにObjective-Cを学ぶ必要があるのか​​」と尋ねるようなものです-回避することはできますが、ネイティブコードを記述しないと害になります。
TehShrike、

回答:


35

Webアプリケーションを作成するためにJavaScriptとHTMLを学ぶ必要はありません。

しかし、そうします。

本当にJavaでWebアプリケーションを作成したい場合は、JavaからJSまで膨大な量を実行し、Webアプリケーションに必要なコードのかなりの部分を満たすことができるGoogle Web Toolkitをご覧ください。DjangoはPythonに似たフレームワークです。

そして、もしあなたが本当にHTMLを書くことを避けたいのであれば、膨大な量のテンプレートとそこにあなたが見たもの、あなたが得たものエディタがそこにあります。

ただし、抽象化フレームワークやHMTLテンプレートの開始に関係なく、いつかプレゼンテーションに不満を感じることがあります。そして、あなたはあなたがあなたの手に十分なHTML / JSを手に入れ、あなたが望む一つの小さなことを変更するでしょう。そしてもう一つ。そしてもう一つ。

そしてある日あなたは冷たい汗で目を覚ますでしょう。

ここに画像の説明を入力してください

そして、それはあなたが学ぶ方法です。Geocitiesのようなポイントアンドクリックのウェブサイトメーカーの時代に、多くの人がこのようにして学びました。しばらくすると、Webに真剣に取り組んでいる場合は、意図的に、または意図せずに、Webの言語を学習します。

したがって、StackOverflowのようなサイトを作成するためにHTMLとJavaScriptを学ぶ必要はありません。しかし、実際にStackOverflowのようなサイトを作成しようとすると、それらの学習を止めることはできません。


1
私が最初に質問を読んだとき、私の考えはこの答えとまったく同じでした。しかし、どのテクノロジーにも長所と短所があるため、決定する前に、programmers.stackexchange.com / questions / 38441 /…を確認することをお勧めします。がんばって!

html / cssだけでは見栄えの良いプレゼンテーションを作成できない場合は、バスに乗り遅れただけです。
ott-- 2012

CMSまたはEXTJSのような本当にひどい支配的なライブラリを介してフロントエンドに災害を導入した後、学習したものを使用するのは非常に困難です。
Erik Reppen

+1あなたはJSを知る必要はありません、そしてあなたが抵抗したとしても、ある日突然それを知っているでしょう。
スポーク、2013年

16

「Webに関することを行う必要があります」というシナリオに対する考えられる解決策を考えてみましょう。

  1. それを行うために誰かを雇う
  2. 非フロントエンドのものをフロントエンドのものに魔法のように変換する精巧なフレームワークを使用する(html、css、js)
  3. 自分でやれ

私たちはそのように素晴らしいので、私たちは#1を無視します。2つの選択肢があります。どちらを選ぶか、どちらを選ぶか...

#2は魅力的です。それはあなたがあなたの快適ゾーンに留まることができることを意味します、それは特にスラッシュなマシンといくつかのソファを追加した場合、非常に快適です。しかし、使用しているフレームワークに何が起こるかを考えてみましょう:

  1. バグアウト
  2. それは時代遅れになります
  3. それはあなたの期待に完全には一致していません
  4. その他のソフトウェア関連の問題。

あなたは開発者なので、製品(特にライブラリ)が多くの見事な方法で壊れ、ソファをリッピングして汚いマシンを倒し、すべてを明るいマゼンタでペイントするすべての可能な方法を考えるのは難しくありません。

これらのシナリオのいずれでも、回答の冒頭で説明したオプション(今回のみ#2のフレームワークを置き換える)を再検討して、4番目のオプションを追加する必要があります。マイクロレベルで試して修正してください。言い換えると、Webスタックを浅い方法で学習し、その特定の問題の解決策を一緒にハッキングするためにのみ必要です。

その価値はありますか?依存します。フレームワークが失敗することはないと信じているかもしれませんし、あなたは正しいかもしれません。そして、あなたは間違っているかもしれません。

ハイブリッドソリューションを提案します。最初に、Webスタックについて学びます。あなたはそれに多くの時間を費やす必要はありません、あなたはMySpaceページにキラキラを追加することができる通りから14歳のl33t h4x0rzである必要はありません、あなたは何がであるかについての基本的な知識を持っている必要があります続く。次に、それが最適なシナリオであることがわかった場合は、フレームワークを選択します。

これで、快適ゾーンが少し大きくなりました。TVやABBA:Greatest Hitsのアルバムが誇らしげに展示されていることもあります。何かが壊れた場合、あなたはそれを修正する方法を知るでしょう。今、あなたには選択肢があります。そして、選択肢を持つことは、選択肢がないことよりも常に優れています。


1
私を笑わせるだけで賛成です。それも良いアドバイスです。
Ed Hastings

1
良いアドバイスに賛成。それもちょうど私を笑わせました。
rlemon 2013年

2

あなたは絶対に積極的にする必要がありますか?

番号。

しかし、適度にモダンなWebアプリが必要な場合は、おそらくそうする必要があります。それを回避する方法はいくつかありますが、それらは実際に起こっていることを抽象化したものです。あなたがそれで大丈夫なら、それからそれのために行きます。そうでない場合は、言語を学ぶ必要があります。


1

大きくて複雑なWebアプリは、たとえhtmlとjavascriptをすでに習得している場合でも、単独で開発するのは非常に困難で面倒です。

私のアドバイスは、チームまたは少なくともフロントエンドの開発者とWebアプリを開発する可能性を探すことです。

このように、あなたはすでによく知っていることに集中し、専門家にフロントエンドを任せます。
フロントエンドの開発は、たとえばフロントエンドが複数のオペレーティングシステムの多くの異なるブラウザーで動作する必要があるという事実のために、当初考えられているよりもはるかに困難です。


1

いつかHTML / CSS / Javascriptを学ばなければならない可能性が最も高いとコーラスに参加します。

ただし、フロントエンドコードの記述を呼び出さないフレームワークを求めているようです。私はその感情に関係することができます。残念ながら、それを抽象化する成熟したテクノロジーはほとんどありません(多くの理由により)。

見てください重量とJavaのバージョンJWTを。それはあなたが探しているものかもしれません。

一言で言えば、そのフレームワークは、Webアプリケーションをウィジェット中心にすることを試み、HTMLテンプレートを作成するのではなく、デスクトップアプリケーションのようにUIをコーディングします。Webソケットのようないくつかの新しいテクノロジーを使用し、漸進的な拡張を行い、一般に多くのフロントエンドを実行する必要がないようにします。


0

SpringやPlayのようなフレームワークは、アプリケーションロジックの処理に最適ですが、Webアプリケーションのフロントエンドを構築する必要性を抽象化していません。これは、デスクトップアプリケーションのフロントエンドを構築する必要があることと根本的に異なるわけではなく、単に異なる実行です。

これはあなたをあまり怖がらせるものではありません。開発プロセスはほとんど同じですが、デスクトップGUI要素ではなくHTMLとCSSでデータをドレスアップする必要がある点が異なります。午後にはHTMLとCSSの両方の基本を学ぶことができ、インターフェースを好きなだけ複雑にしたり、まったく無駄を省いたりすることができます。

私のアドバイスは、構築しようとしているサイトに類似しているサイトにアクセスして、HTMLソースを表示することです。これらのサイトがHTML設計の観点からどのように流れるかを理解できます。


0

はい、あらゆる種類の最新のWebアプリケーションを作成するには、少なくともHTMLの基本的な知識が必要であり、JavaScriptに精通している必要があります。PythonやJavaなどの言語でフレームワークを使用することは可能であり、それらを使用してサイトの機能の大部分を構築できますが、基本的なサイトであっても、ブラウザがコンテンツを表示するために実際に理解する唯一のものであるため、小さなHTMLが必要です。JavaScriptを知らなくても、ある程度は離れることができますが、何かを更新したいときはいつでもページをリロードする必要があるため、サイトのユーザーフレンドリー性が大幅に低下します。また、非常に便利なツールを失うことにもなります。サイトをハッキングして、ブラウザの互換性の問題とCSSの欠点に対処します。

あなたはウェブ開発でどれほどの変更が行われるかについて少し心配しています。JavaScriptは実装されてから実際には変更されていません。また、JavaScriptをより使いやすくするフレームワークJQueryを知っている必要があるのは1つだけです。その他の急速に変化するもののほとんどは、本当にその月の味であり、実際に知る必要はありません


0

HTMLとJavaScriptを抽象化するWebアプリケーションフレームワークがありますが、正直なところ、治療法は病気よりも悪い場合がよくあります。(例:Google Web Toolkit)。

とはいえ、自分に好意を示して、jQuery、CoffeeScript、その他のJavaScriptフレームワークを学んで、最も退屈な詳細のいくつかを省いてください。同様に、HamlやHamlPyなどを使用して、より優れたバージョンのHTMLで作業することを検討してください。


-2

HTMLはWebの言語なので、多少は知っておく必要があります。

JavaScriptはそれほど多くありません... PHPなども使用できます。JavaScriptは100%必要ではありません。

Webサイトを完全に構築している場合は、JavaScriptをお勧めします。JavaScriptは基本的にすべてのブラウザーでサポートされており、さまざまなブラウジングプログラム間の互換性が維持されるためです。

しかし、Webアプリケーションを作成しているだけの場合、これはWebサイトを作成している場合よりもはるかに適用されません。


-2

JavaScriptを知ることは、ウェブアプリの作成に役立つのでプラスです。HTMLは十分な知識を得るのに最適であり、HTML5はCSS3およびJavaScriptとうまく統合できるので素晴らしいと思います。Microsoft Virtual Academyのコースを閲覧することをお勧めします。

200以上のコースオプションがあり、すべて無料で専門家が指導します。私は個人的に、HTML5を使用したアプリ開発トレーニングのコースから恩恵を受けました。幸運を!


-3

簡単に言えば、はい。しかし、HTMLがすべてのWebの構造であり、JSがWebの相互作用である理由はここにあります。聞いたことがあると思いますが、知っておくことが非常に重要です。一部のフレームワークでは、HTMLおよびJSを使用しない(または使用しない)ことができますが、これらはWebの基本です。コードを学びたくない場合は、誰かを雇ってください。また、これはあなたの質問には含まれていませんが、コードを知らずにチュートリアルをググるだけで、TwitterやGmailを思い通りにしようとして、この間違いを何度もしました。

では、頑張ってね!


1
この質問にはすでに10の回答があり、11番目の質問で同じことを別の言葉で説明する必要はありませんでした。まったく新しい発言がない限り、すでに完全に回答されている質問には回答を追加しないでください。
Martijn Pieters
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.