筆者も時折、npmライブラリを公開していますが、
timeengine / Time Engine FRP ( Functional Reactive Programming / 関数型リアクティブ プログラミング) npmライブラリの公開
https://www.npmjs.com/package/timeengine
今、npm(node.js)の公開ライブラリ数が加速的に増加しており、物凄いことになっています。
CodeZine Node.js/JavaScriptの情報収集手段 ~変化が激しいOSSは、直接GitHubをウォッチするより引用
だいたいこのグラフで見ると、1年で2倍になっており、文字通り、指数関数的に増加している様相です。
また、ここ数年、GitHubでホストされているプロジェクトの言語でJavaScriptが1位です。
ここ最近、注目を集めているnpmライブラリ、GitHubに公開されているプロジェクトを示します。
JAWS: The Server-less Stack
https://github.com/jaws-stack/JAWS
今GitHub@JavaScript界隈で一番注目されているプロジェクト。
著書でもちらっと触れた、関数型クラウドサービス、 Amazon Web Services Lambda Functionsを利用したアプリケーションスタック。
JavaScriptで関数型プログラミングやるのがそもそも適していない、などなど一部国内の界隈で眠いことを言う方々を尻目に、Amazonクラウド環境でホストされるJavaScriptの関数のみをコールしてWebアプリケーションのバックエンドを構築するという次世代アプリケーションスタック。
Goals:
- Use No Servers: Never deal with scaling/deploying/maintaining/monitoring servers again.
- Isolated Components: The JAWS back-end is comprised entirely of AWS Lambda Functions. You can develop/update/configure each separately without affecting any other part of your application. Your app never goes down… only individual API routes can go down.
- Scale Infinitely: A back-end comprised of Lambda functions comes with a ton of concurrency and you can easily enable multi-region redundancy.
- Be Cheap As Possible: Lambda functions run only when they are called, and you only pay for when they are run.
ということで、
とにかくクラウドでもなんでも自サーバーを保持しないので、いろんな面倒から解放される(はず)だ、
とにかく隔離されたコンポーネントだ、関数型のAWSラムダ関数だ、サーバーはないので落ちることはない、
無限にスケールする、マルチリージョンのコンカレントの関数だ、
関数コール分の従量制課金なので、コスパ最強のはずだ、
という、まさに次世代クラウドコンピューティング全開のWebアプリケーションの未来像が提示されています。
個人的には、まだ時期尚早、というか時間が加速しているので、そのうちすぐ検討しなければいけないのかな、という予感もありますが、今のところはAzureクラウドで快適なので、やはり人柱になるには現在の時間スケールで早熟すぎるという印象で、正直まだ面倒臭い感じがします。ただ時流に乗りまくってるビジョナリー、パイオニア達が一定数存在しており、やはり時間が加速している雰囲気をひしひしと感じています。
dragula
http://bevacqua.github.io/dragula/
GoogleKeepみたいな軽快なドラッグUIのライブラリ
ドラッグとドラキュラでドラグラというネーミング。
オフィシャルのReactコンポーネントのブリッジもある。
https://github.com/bevacqua/react-dragula
Reactはすでに業界標準。これは普通に使える。
algebra.js
http://algebra.js.org/
https://github.com/nicolewhite/algebra.js
Build, display, and solve algebraic equations in JavaScript.
代数の方程式を書いたり、LaTeX表示にも対応して表示したり、解くライブラリ。
Mathematicaみたいな大掛かりなものでなく、こういう基本的で簡潔なライブラリは今後何気に重宝しそう、と個人的に思いました。
Professor Frisby’s Mostly Adequate Guide to Functional Programming
https://github.com/DrBoolean/mostly-adequate-guide
JavaScriptの関数型プログラミング教本。
GitHubはもはやコードのプロジェクトだけではなく、書籍(Eブック)の発表の場としても活用されている。
Summary
- Chapter 1: What ever are we doing?
- Chapter 2: First Class Functions
- Chapter 3: Pure Happiness with Pure Functions
- Chapter 4: Currying
- Chapter 5: Coding by Composing
- Chapter 6: Example Application
- Chapter 7: Hindley-Milner and Me
- Chapter 8: Tupperware
- Chapter 9: Monadic Onions
軽妙な語り口とイラストで内容も非常に濃密で品質が高く必読。
ライセンスは、CC BY-SA 4.0。こんなものがクリエイティブ・コモンズのライセンスででGitHubに無料でポンポンと(すべてのプロジェクトは開発者、筆者が心血を注いだ結晶(自分がそうだからわかる)だが、客観的事象としては加速しすぎていてそのようにしか見えない)UPされている時代になっている。
You Don’t Know JS (book series)
https://github.com/getify/You-Dont-Know-JS
https://www.kickstarter.com/projects/getify/you-dont-know-js-book-series
同じく、GitHubにUPされているCC3-BY-NC-ND ライセンスの無料で読めるJavaScript本。
http://www.amazon.co.jp/You-Dont-Know-JS-Going-ebook/dp/B00V20DQU8
AmazonKindle版でも無料。
先ほどの関数型本もそうだが、他のGitHubプロジェクト同様にIssueがあり、
https://github.com/getify/You-Dont-Know-JS/issues
タイポはもちろん校正が集合知によって為されていくという、出版物とWikiの垣根も曖昧になってきたという趨勢。
すでにここにある未来
とにかく、レイ・カーツワイルの収穫加速の法則でシンギュラリティに向けて邁進する塩梅がどんなものか、一番「身近で手軽に」感じられるのがGitHubのJavaScript関連のレポジトリーやnpmライブラリ界隈だと思います。
0 コメント:
コメントを投稿