Elmでやってみるシリーズ10:ボールの衝突回数で円周率を計算する id:wamanさんからひっそりと提案もらいましたので、やってみました。 今回は記事自身もElmで書きましたので、github-pages上の全画面(github上のソース)からどうぞ。 以下にも一応hatena blog記事中にiframeで表示しましたが、スクロールや文字の配置が読みにくい・もしくはJSの実行速度が遅いです。hatena blogではiframeにseamless属性つけられば良いのだが。iPhoneのSafariでもiframe中だとうまくいきませんが、全画面なら動くようです。 ソースはこちら。 PiByBall.elm module PiByBall where import Window import Debug (log) import Graphics.Input (input, Input,
CSS is unnecessary given a layout language with means of abstraction and combination [ fp ] CSS, a language for specifying visual appearance on the web, is … so complex that it has never been implemented correctly; yet, successive versions specify even more complexity. At the same time, it is so underpowered that many elementary graphic designs are impossible or prohibitively difficult, and contex
Elmでやってみるシリーズ7: elm-htmlでTwitter Bootstrapを適用。 つい先日、「Blazing Fast HTML」と銘打って、elm-htmlライブラリが公開されました。これはElmでDOMツリーを構築・更新するための低レベルライブラリであり、Virtual DOMという技術を使っているので非常に画面更新速度が速いそうです。SPA(Single Page Application)ではDOMの更新速度が重要になりますが、Elmは純粋関数型・イミュータブルデータなのでそのことを利用してさらに効率良く実装できるそうな。 従来、ElmはCSSとの連携はあまり重視されておらず、「ElmはCanvasを使ったアニメーションが得意」とされてきましたが、現代的な見た目のHTMLベースのアプリも自在に開発できるようになる、という道筋の第一歩なわけです。まだ未成熟ですがね。 個人的
Elmでやってみるシリーズ6: 今日の天気予報を表示する。 今回は、以下の手順でお天気情報を表示します。 Graphics.Input.dropDownとGraphics.Input.Field.fieldで、場所情報を入力させる 上記の2つはInputを共有させる 変更があったらHttp.sendGetでhttp://openweathermap.org/の各地天気を得るWeb APIを呼び出す ここを選んだ理由は、認証が無いことと、CORSに対応するクロスドメインになってるからです。具体的には、レスポンスヘッダに「Access-Control-Allow-Origin: *」が付いているからです。 得られた結果をJSONとしてパースして、天気情報に相当する部分を取り出して表示する。 コードは以下のとおり。 import Http import Graphics.Input import
Elmでやってみるシリーズ5: 逆ポーランド電卓。 いわゆる一つの逆ポーランド記法(Reverse Polish Notation, RPN)電卓です。入力フォームをSignalに結びつけて入力として使う例になります。私は本物のRPN電卓を使ったことがないので本物とはたぶん動作が違います。 import Graphics.Input (input, button) -- 電卓のボタン操作の種別 data Keys = Number Int | Add | Sub | Mul | Div | Clear | Enter -- GUIからの電卓に対する操作入力列を表現するシグナル。初期値はClear。 keys = input Clear -- 画面を作る。 calculator (n, xs) = let btn = button keys.handle btnN n = btn (Numb
GoogleのソフトウェアエンジニアであるGilad Bracha氏は、ニューヨークで開催されたQCon開発者会議の壇上で、Webアプリケーションについて触れた。同氏はWebアプリケーションについて、機能と使いやすさでデスクトップアプリケーションを上回る可能性を有している。しかし、実現するにはWebアプリケーション開発でより多くのプログラミング言語が選択できる必要があるだろうとしている(ITWorld、Slashdot)。 その理由として、Webアプリケーションには、ネットワークに接続できない環境では使えないという欠点がある。将来的にはWebアプリケーションをオフラインで実行する能力は重要になる。このためどんなWebプログラミング言語でも、オフライン使用のための何らかの方法が必要になるだろう。またプログラマがアプリケーションを組み上げたり、テストするのがより簡単になる必要がある、と語った。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く