f:id:y_temp4:20170726220930p:plain

先日、NEM Libraryの最初の安定版が公開されたようです。

medium.com

ここで、このライブラリで使われている(というか、公式ドキュメントにてサポートすると書いてある)技術について、簡単に解説してみようと思います。

NEM Libraryで使われている技術

解説するのは一部主要技術のみにしておこうと思います(ブラウザの解説とかしても仕方ないと思うので)。

TypeScript

まずはTypeScriptです。

www.typescriptlang.org

TypeScriptはマイクロソフトにて開発されている、JavaScriptに静的型付けをするための言語です。

NEM Libraryでは、主にJavaScriptの代わりにこちらの言語を使って開発されているようです。なぜTypeScriptを使う必要があるのかというと、ある程度のコード量を伴うライブラリで堅牢性を維持したいからではないかと思います。

JavaScriptは本来型定義をせずにコードを書くことができますが、TypeScriptでは型を書くためエラーに気づきやすくなり、安全性が増します。

最近ではJavaScriptのコードを書く際に、なんらかの方法で型を付与するパターンが増えてきているように思います。

他にJavaScriptに型をつける方法としてはFlowを使うことが考えられます。

flow.org

Angular

Angular Docs

Angularは主にGoogleにて開発されているJavaScriptのフレームワークです。このフレームワークは先ほど紹介したTypeScriptで書くことが推奨されています。

Angularはフレームワークがカバーしている技術領域が広い印象があり、これ1つで全部できるみたいなイメージがあります。

余談ですが、Coincheckのサイトもフロント部分はこのフレームワークで書かれています。

ionic

ionicframework.com

ionicはAngularを使って書かれたモバイルアプリケーションを作るためのフレームワークです。

UIが綺麗で、高速な開発ができるっぽくて有名らしいです。

・・・雑な説明で申し訳ないですが、正直これに関してはあんまり知らないです・・・。

少し古い記事ですが、こちらの記事あたりを参考にしてみてください。

html5experts.jp

さいごに

先日書いたStatusで使われている技術解説の記事に続き、また読者層がよく分からない記事を書いてしまいました・・・。

coin.y-temp4.com

一応、あまり技術寄りではない方向けの記事のつもりですが、どうでしょうか?

最後に個人的な感想を書いておくと、NEMは応援しているプロジェクトなのですが技術面はあまり自分の好みでない感じでちょっと残念です。反面、上記のStatusは興味をそそられる部分が多いです。

まぁこれは好みの話なので、人によっては「NEMで使ってる技術、最高やんけ!」と思ってるかもしれませんが。

NEMは今後も好材料が多そうですし、今後もがんばってほしいです。