Help us understand the problem. What is going on with this article?

WEBフロントエンド開発にHaxeつかってたけどElmに乗り換えてもいいかなって思った話

More than 3 years have passed since last update.

WEBフロントエンド開発にHaxeつかってたけどElmに乗り換えてもいいかなって思った話

by k-motoyan
1 / 18

これは市ヶ谷Geek★Night「型のあるフロントエンドの世界〜フロントエンド・フロンティア〜」でのLTで発表内容です。


これはElm使ってみたら良かったよというお話です。

この発表のタイトルにHaxeが含まれていますが、”型のあるフロントエンドの世界”という当勉強会のタイトルにちなんで付けているだけで、Haxeに対する不満は殆ど出てきません。

あらかじめご容赦下さいm(__)m

まぁ、でもHaxeという名前も出したのでHaxeについてもちょっとご紹介しておきましょう。


Haxe使ってた理由

  • DeadCodeEliminationでコンパイル後のコードが必要なコードだけになる!
  • 標準ライブラリがそこそこ豊富(フロントエンドのJavascriptと比較して)
  • 構造的部分型便利!
  • コンパイル時にAssetをコードに埋め込める機能
  • コンパイル早い
  • 何か言語機能が欲しくなった時のマクロ

Haxeやめようかなって思った理由


_人人人人人人人人人人人人人人人人人人人_
> FlashDevelopがWindowsでしか使えない <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

Haxeの弱点はエディタが少ないことにあるのは既知の事実かと思いますが、これまで愛用していたIDEAのHaxeプラグインの更新が止まってしまい、Macから利用できるまともなIDEがなくなってしまいました…


スクリーンショット 2016-11-04 13.05.44.png

最後に更新されたのが、約1年前…
その間にIDEAの最新バージョンが上がり利用出来なくなってしまいました…


そんな失意の中、ある噂を耳にします。


Elm、FRPやめるってよ


Elmって何?

  • AltJSの一種
  • Haskell由来のシンタックス
  • ElmArchitectureという概念でアプリケーションを構築する

Elmへの最初の印象

  • ミニマムであり、シンプルな言語仕様というコンセプトは大変興味深かった
  • ElmArchitectureという概念が昨今のフロントエンドライブラリ/フレームワーク戦争から一線を外れている(言語がArchitectureを持っている)ことに好感が持てた
  • でも、Signalという概念を用いてFRPだというあたりで、ちょっと仰々しいなと思って敬遠…

最新のElm

  • Signalを撤廃しました
  • ClosureCompiler対応
  • RequireJS、CommonJS対応

Signalを撤廃したことで、ElmArchitectureが非常にシンプルなものになり、また、ClosureCompilerやRequireJS、CommonJSへ対応することで実用性も大分高まってきました。


家庭をもってしまって学習時間を無限にとれるわけでもないエンジニアにとって、これから習得する技術がシンプルであることは非常に重要です。

Elmは学習する点に於いて次のようなメリットがあります。


  • 言語仕様がシンプルなので、習得までの時間がそこまで必要ない(主観だけどES6覚えるより楽)
  • Elmには仮想DOMのモジュールがパッケージとして提供されているので、Js界隈にある仮想DOMライブラリ戦争を気にしなくても良い
  • ElmArchitectureを学んでおけばいいので、プロジェクトによってArchitectureを提供するフーレームワークを学習する必要はない

Elmいいかもと思った方は早速試した見よう

http://elm-lang.org/try


おわり

k-motoyan
プログラミング楽しいよ
diverse
結婚支援事業を中心に、友達・恋人探しのマッチング事業を展開。深刻化する恋愛離れ、未婚率の上昇を解決すべくWEB・アプリサービスを展開。すべての人へ出会いのプラットフォームを提供しています。
http://diverse-inc.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした