http://www.publickey1.jp/blog/14/javascript_8.html
Vanilla JavaScriptとは、要するに何もトッピングされていないバニラアイスクリームのように、
jQueryなどのライブラリを使わない素のJavaScriptのことを示しています。
比較的小規模から中規模な開発を行おうとするときには、バニラなJavaScriptを使うことを
まじめに検討すべきだ。ときにそれはまるで古い手仕事のように思われるかも知れないけれども。
それぞれのコードを並べてみることは、どちらの立場にとっても有用だ
(「jQueryは必要ないかも」であって「jQueryは必要ない」ではない点に注意)。
jQueryは便利すぎるので、1つのレイヤになっちゃってるんだよね。
http://blog.asial.co.jp/1187
全然触ったことないものばかり。
開発者じゃないから、ってのは理由にならなくて、
開発者とコミュニケーションを取る可能性がある限りは、
ちょっとぐらいは触っておいたほうが良いんだろうなあ。
むむぅ。
http://www.atmarkit.co.jp/ait/articles/1301/18/news087.html
アンダースは、
- Turbo Pascal
- Delphi
- C#
を作った偉い人。
「TypeScriptとは何か」を一言でいえば、
「最終的にJavaScriptコードを出力するための
スクリプト言語(と、その関連ツール)」ということになる。
似た言語は沢山あるけど、
TypeScriptは、JavaScriptのスーパーセット(=上位拡張仕様)
これが違うところっぽい。
あくまでTypeScript言語はJavaScript言語の
糖衣構文(Syntactic Sugar)であり、
全てのJavaScriptプログラムは
またTypeScriptプログラムでもあるというわけだ。
コードを見る限り、素のJavaScriptよりわかりやすそう。
それにしても、JavaScriptって、素のまま書くことは
まずなくなってきてるよなあ。
表示側だと、JavaScriptを書く、というより、
jQueryをいじる、という感じだし、
サーバサイドだとコンパイルして動かすのが普通だし。
ただ、ちゃんと使うには、JavaScript のある程度の
知識は持っておいたほうが良いんだろうなあ。
http://d.hatena.ne.jp/zentoo/20120831/1346418528
説明するのに良いサンプルコードが書いてある。
アプリケーションロジックは複数の場所/コンテキストから
呼び出される前提で書くものだぜ!
http://2012.8-p.info/japanese/3/9/semicolon
ないほうがスッキリするような気はする。
Ruby なんかも普通は書かないし。
ただ、Ruby と JavaScript では若干セミコロンの扱いが違ったはず。
ググった。
これか。
行末のセミコロン省略の違い
http://d.hatena.ne.jp/otn/20100719/p1
別の言い方をすると、Rubyは行末のセミコロンは常に省略できるが、
JavaScriptの場合は省略できないことがかなりある。
たしかに、こういう動きだとすると JavaScript の場合は、
とりあえず付けとけ、ってほうが安全な気もするなあ。
http://blog.64p.org/entry/2012/08/10/192328
サーバ側で自動リンクするよりエレガントかも。
http://diary.hatenablog.jp/entry/2012/08/13/014843
"if (!module.parent)" 以下にテストを書いておくと、
直接実行された時のみテストが走る。
モジュールとして外から require された場合は実行されない。
なるほどなあ。
http://news.mynavi.jp/news/2012/06/19/007/index.html
AngulaJS
http://angularjs.org
このサイトに動画デモがある。
これを見ると jQuery を使うより、格段にシンプルに動的なページが
作れそうなことがわかる。
破壊力あるフレームワークに見えるなあ。
関連) サーバサイドで使う手軽なJavaScriptフレームワーク
UbuntuでMeteorを試してみた --> [2012-06-16-1]
http://www.visual6502.org/JSSim/expert.html
JavaScript で書かれた 6502 のシミュレータ。
なんかすごい。
6502は Apple II やファミリーコンピュータに使われたCPU。
Wikipedia - MOS_6502
http://www.nooopes.com/blog/none/215/
手元のUbuntu 12.04 LTS が入ったノートPC上でこの通りやってみた。
まずは、インストールスクリプトを取得
% wget install.meteor.com
index.htmlが拾えて、中身はシェルスクリプトなので、実行。
% sudo sh index.html
無事にインストール完了。
ちゃんとdebパッケージとしてインストールしてくれる。
何がインストールされたかは以下で確認可能。
% dpkg --listfiles meteor
これで環境構築完了。
簡単。
実際に、サンプルアプリケーションを作ってみる。
以下のサンプルがインストールされてるので、
/usr/lib/meteor/examples/leaderboard
/usr/lib/meteor/examples/todos
/usr/lib/meteor/examples/wordplay
とりあえず、leaderboard を展開してみる。
% meteor create --example leaderboard
これで、leaderboard ディレクトリが作られるので、
% cd leaderboard
% meteor
で実行。
Running on: http://localhost:3000/
と言われるので、ブラウザでアクセスすると投票プログラムが動く。
超簡単。
ソースコードは、以下の3本だけ。
見ればなんとなく動きもわかる。
leaderboard.html
leaderboard.css
leaderboard.js
このお手軽さって、Rails よりインパクトでかいんじゃないのか?
さらに勉強するには node.js の勉強をする必要があって、
以下のサイトドキュメントを読んだり、本を読む必要があるのかな。
Node.js 日本ユーザグループ
http://nodejs.jp/
WEB+DB PRESS Vol.68
実践JS サーバサイド JavaScript 入門
関連)
体感!JavaScriptで超速アプリケーション開発−Meteor完全解説 --> [2012-06-11-13]
vert.x – Node.jsの代替フレームワーク --> [2012-05-08-7]
さてと、気になるのは、meteort が IPv6 対応してるか、なんだけど、
残念ながら、今のところ対応はしてなさげ。
せめて、http://[[::1]]:3000/ でアクセスしたいとか思うんだけど、
/usr/bin/meteor コマンドはシェルスクリプトになってて、
/usr/lib/meteor/app/meteor/meteor.js を呼びだしている。
これを眺める限り、手軽に ::1 で listen はできなさそう。
ちょっと残念ではある。
まあでも Rails でもオプションを付けないぐらいだし、
IPv6 対応はまだまだアプリ開発者的としては、優先度低いんだろうな。
参考)
Rails(WEBrick) で ::1 で listen させる方法↓
IPv6をハックしよう~IPv6ハッカソン~
http://gihyo.jp/dev/serial/01/llplanets/0002
http://www.moongift.jp/2012/06/20120607/
table に class 指定を入れてやるだけ。
これは便利そうだ。
Wikiのテーブル全部にソート機能を追加しといても良いかもだなあ。
http://www.itmedia.co.jp/news/articles/1106/17/news028.html
http://wise9.jp/archives/2245
歴史が良くまとまってる。
仕様や実装は人の思いがつまってるものよね。