アイデアをすぐに却下しないでください。すでに機能している(主に)主流のアプローチと競争するのは難しいことを知っているので、私の質問の一部は「学術的」です。
ClojureScriptが存在し非常に優れていることも知っていますが、これは既存の醜いものへのパッチであり、有用な抽象化です。
免責事項:私はプログラマーですが、Web開発者ではありません。そのため、他のユーザーのフィードバックを募集しています。開発者であり、毎日Webを使用していて、さまざまなトピックを読んだり、ページのhtmlソースを時々表示したりしていると、私はWeb開発について何か考えがあると思います。
とにかく、私がそれらを見るときの問題:
- Webは速くて汚い、初心者にやさしいものでしたが、今では優れた最新のインタラクティブなWebページを作成するにはかなりのスキルが必要です。これは多くの場合、迅速で汚い「21日でWebを学習する」だけではまったく効果がないことを意味します。
- HTMLは、noobに適したプロトコルとして、迅速かつダーティに始まりました。現在は混乱しています。
- JavaScript言語には欠陥がないわけではありませんが、問題ありません。
- CSSは物事を片付けるためのまともな試みのようです。別のファイルで外観をスタイル設定できることは、少なくともそれについての考えを保持する価値があります。
- まとめると、JavaScript + Html + CSSはかなりダーティになります。次のような問題を軽減する優れたアイデア/ツールがあります。AJAXライブラリは、JavaScriptの特定のフレーバーを抽象化します。JQuery、Node.jsなどの強力なライブラリを使用すると、JavaScriptでクールなことをそのまま不完全なものにすることができます。Google Web Kitは、GUIデザインをWebページに変換する上で非常に優れています。ウェブMVCは、このような抽象的なもの離れASP.Net、RoRの、ジャンゴとしてフレームワークとあなたのための足の仕事の多くを行う、もつとも、これらは安っぽいベースの上のすべての抽象化したものです。
- 今日のWebで実行できることに対する需要はますます高まっています。GoogleのChromeBookは、その現れです。ブラウザの全画面を実行し、キーボード/マウスの操作、サウンド、ビデオ、ゲーム、テキスト、画像、PowerPointプレゼンテーションなど、やりたいことすべてを実行します。高速なブラウザと高速なコンピュータ、そして「クラウド」に感謝しますが、はるかに良いかもしれません!
グラフィックの観点から見ると、ブラウザは、何でもペイントできる長方形のキャンバスです。現在、ブラウザー実行可能ファイルは、Html、JavaScript、CSSを解析してすべてを表示する方法を知っている必要があるため、数メガバイトの重さがあります。
ゼロから始めて、ペイントするのはキャンバスにすぎないことに気付いた場合、ブラウザはもっと小さくてシンプルになると思います。支払うべき代償は、LispやClojureなどのファンキーな構文のすべてに対して有効なプログラムを作成しなければならないことです。以前はHTMLのクールな部分でした-段落を入力するだけの場合は、そのまま入力します。これはめったに起こりません。テキストの段落を入力するだけの場合は、インラインまたはCSSのスタイル設定、配置について考える必要があります。次のHTMLの一部(このサイトのフロントページにあります)
<a href="/software/tagged/programming-languages" class="post-tag" title="show questions tagged 'programming-languages'" rel="tag">programming-languages</a> <a href="/software/tagged/learning" class="post-tag" title="show questions tagged 'learning'" rel="tag">learning</a>
いくつかの代替Lispy構文よりも作成するのはそれほど簡単ではありません(そして、私はそれほど深く考えていません)。
(create-link :target "/questions/tagged/programming-languages" :class "post-tag" :title "show questions tagged 'programming-languages'" :rel "tag" :content (text "programming-languages"))
これは有効なClojure構文ではない可能性があります。私はちょっとそれを作りました。HTMLを模倣する必要はありません。実際、それが最初から開始するポイントです。ここでの大きな利点はそれで(text ...)
あり(create-link ...)
、ブラウザーが理解する必要があるコア言語の一部ではありません。ブラウザは、「安全な」Clojure(ハードドライブをきれいにワイプできないもの)を理解し、音楽を描画して再生し、キーボードやマウスなどを聴くことができ、その他すべて-テキストの描画、ビデオの再生ができる必要があります。 、コンボボックスの表示とそれとの対話はすべて、慎重に設計されたライブラリで行われます。
なぜClojureを選択したのですか?それは多くのことを達成できる小さな言語であり、単純なビルディングブロックから複雑なプログラムを構築するという哲学は非常に魅力的です。
Clojureなどの単一の強力な言語をサポートできれば、HtmlとHtml5、CSSとJavaScript、SilverlightとFlashで実現できるすべてのことを実現できると思います。
接線の議論のいくらか-私は同じことがLaTeXにも当てはまると思います-それは基礎言語としてClojureでやり直すことができ、ソースファイルは実行時にPDFまたはpsを吐き出す本格的なプログラムになります。
最近のブラウザにはたくさんの便利な機能があるので、ゼロから始めるのは非常に難しいことを理解しています。クリーンなベースから始めれば、成果を上げることができます。
このクレイジーなアイデアについてどう思いますか?この質問の性質上、答えはおそらく主観的なものになると思いますが、私はあなたがこれについてどう思っているかまだ知りません。