社会的貢献

descjopというAtom-ShellのClojureScript版Leiningenテンプレートをリリースその後

昨日lein_template_descjopというleiningenテンプレートをリリースしました。

descjopと名付けているこのプロジェクトは、今はleiningenテンプレートのみの提供ですが、周辺ライブラリの準備なども考えていて、ClojureScriptおよびClojureを使ったデスクトップアプリの環境周りをラクチン&気持ち良いものにしていくプロジェクトとして考えています。

Clojure本家のMLでもリリース案内などさせていただき、何人かの人にスターをつけていただきはじめ、頑張っていこうとした矢先、本家のAtom-Shellがちょうどその日に改名してしまいました。

今後は、Atom-ShellでなくElectronという名前になるようです。

もともとAtom-Editorのベースとして使われていてAtom-Shellというちょっと暫定的な名称ではあったのですが、Atomに対するElectron、原子を構成する電子という名称となったぽいです。アイコンも変わりました。

つまり、正常動作しなくなりました

問題は、単に名称変更だけでなく、リポジトリ名も変わってしまったこと。

すごい偶然! このリリースタイミングで、この変更(笑

つまり、lein_template_descjopで利用しているGruntタスクの一つであるgrunt-download-atom-shell

で参照しているAtom-Shellも機能しなくなってしまったわけです。つまり、残念ながら今ダウンロードしても動きません。。。

解決に向けて

そこで、すぐにgrunt-download-atom-shellにissueを立ててみました。

僕はissueを立てるのみでしたが、1日経って開発者による複数のプルリクエストが投げられていました。

やはり、このあたりの動きはとても速いです。

ということで、このプルリクエストが反映され、新しいバージョンが出次第、lein_template_descjopも0.1.1としてリリースを行いたいとおもいます!

Read More

HTML5/CSS3/JSでデスクトップアプリを作れるAtom-ShellのClojureScript版Leiningenテンプレートをリリースしました

descjop

descjop(デスクジョップといいます)というClojureのビルド環境であるleiningen向けのテンプレート環境をリリースしました。

descjop – A Leiningen template for Web based desktop application with atom-shell and others.

Atom-Shellアプリの雛形として、プロジェクト作成時に使えます。

これはなに?

Atom-Shellというライブラリがあります。

これは、Atom editorのベースとしても使われているもので、Webの技術を使って、クロスプラットフォームなデスクトップアプリケーションを作ることができます。

つまり、このライブラリでWindows, OSX, Linux向けのアプリが作れますよということなのです。

このAtom-Shellを、JVMベースのプログラミング言語であるClojure(正確にはClojureScript)で作りはじめるのを楽にするテンプレート環境がdescjopです。

近年では関数型プログラミングの話題とともに取り上げられることも多く、Java系サーバ環境構築に強いClojureでデスクトップクライアントを書けるのは、サーバーとデスクトップクライアント、そしてWebで同一のノウハウが使えるため、スムーズな開発が行えます。

使い方

使い方はいたって簡単で、プロジェクトを作りたい場所で

$ lein new descjop アプリケーション名

を実行するだけです。

これで、リポジトリから自動でダウンロードされ、アプリケーション名のフォルダとベースのファイルが生成されます。

あとは、下記の通りに依存解決やビルドを進めていくと、アプリが出来上がります。

$ npm install -g grunt-cli
$ npm install
$ grunt download-atom-shell
.
Running "download-atom-shell" task
.
Done, without errors.
and run extern commands,
.
$ lein externs > app/js/externs.js
run cljsbuild.
.
$ lein cljsbuild once

アプリの起動

起動は、無事ビルドが完了すれば、下記のような感じで起動します。

ここからは普通のAtom-Shellアプリケーションと一緒

// Windows向け:
$ .\atom-shell\atom.exe app

// Linux向け:
$ ./atom-shell/atom app

// OS X向け:
$ ./atom-shell/Atom.app/Contents/MacOS/Atom app

今後

今後は、descjopやAtom-Shellまわりの細かな話を連投していこうとおもいます!

あと、このハンズオンとかもやっていきたいとおもいます。(どこか、小さめの会場提供してくださる方募集 -> https://twitter.com/kara_d まで)

最近のClojure関連への取り組み

FacebookのReactをいい感じに使えるReagent

play-clojure(Play 2アプリをclojureでつくる)その1

play-clojureその2(ビューでScalaテンプレートを利用する)

Read More

2014年の振り返り的な一人レトロスペクティブ

2014年も、もうすぐ終わるので、一人レトロスペクティブをはじめようと思います。

印象に残っているやったこと

1月

  • Play framework 2 徹底入門発売
    • サポートサイトを作るものの、ちゃんと運用しなかったのでまじでアカン。猛省。
  • 2013/01からはじめたPlayの仕事が丸1周年を迎える。Playを中心にAPIの設計からWEBまでいろいろとこなす
  • Webデザイントレンド in 静岡出演。ゲストに清家順さん。膨大なキャプチャアーカイブから見えてくる、Webデザインの潮流・ビジュアル/UIトレンドと題して。
  • 今年の勉強するぜ言語はClojureにしようと決める

2月

3月

  • はじめての決算書類作成&提出。いろいろ考えた末に自分でやってみる方面でいったため、非常に大変な思いをした(がすごく勉強になった)

4月

  • Webデザイントレンド in 大阪出演。ゲストは、深沢 幸治郎さん。
    • このセッションは再演というわけではなく、再度全キャプチャを取得しなおしているため、2014年のその時点での最新版。新しい発見などもあった。
  • このころ、Playもくもく会を精力的に開催する。結局20回以上開催された
  • キャプチャシステムをPlay 1ベースからPlay 2ベースに再構築をはじめる。結局10月くらいまでかかった。。

5月

  • Play 2 meetup参加。「フロントエンドとバックエンドのビルド構成について」というたぶん僕らしいテーマで話した。
    • パネルディスカッションでは、Play java代表(?)という立ち位置で参戦することに。ネタ的なトークをした。

6月

  • メインPCを、Macbook Pro 15インチRetinaから、Thinkpad x240sへ切り替える。あらゆることをWindowsにシフトチェンジした。
  • 先端味見部にてSwiftをいろいろと試す。
    • Swiftは、Scalaに似てるかもと感じた。Xcodeがすぐおちた。

7月

  • 古い仲間の結婚式があり、めでたやとなる。

8月

  • pyhack 夏山合宿に参加
    • Pythonをほとんどやらないにもかかわらず、この会には毎回参加している。知らない世界なので、聞きなれないことや知らないことが多く、それゆえ勉強になりおいしい。
    • バーベキューうまかった
    • 近所のおばあさんに人生に関するアドバイス的なものをうける
  • このころは、仕事でPlay三昧な日々を送り、私生活でもPlayでキャプチャ&クローラシステムのリニューアルをし、趣味ではClojureに打ち込むという印象しかない。。

9月

  • Scala Matsuri(Scalaのカンファレンス)にグレーティブとして去年に続きスポンサーとして参加
    • 大いに刺激をうける、いつもお世話になっている言語のイベントにスポンサードするのは貢献の一つとしてありだと思ってる。
  • エンプラなCMSをやってたけど独立してWordPressをやってみたというイベントに参加
    • これくらい包括的なCMSの話題を展開してのWordPressの評価みたいなセッションは今までにないのでほんとみんな聞くべきと思った

10月

  • このころ、Play 2化が終わる。Play 2.3.4でリリースし、安定のクローリング&キャプチャシステムとなった。AWSのEC 2とRDS全開なかんじ。
  • サバゲーに参加してみる
    • つかれた…
  • ひたすらサイトリサーチをする日々

11月

  • ひたすらサイトリサーチをする日々
  • 決算準備として、年末調整の説明会や決算説明会などに赴く
  • Clojureをつかったいくつかのコードを実装する
  • Sublime TextからEmacsへの移行を試みた(現在継続中)

12月

  • グレーティブの第2期が終わり、第3期のはじまり
  • Shift 8出演
  • 約2年続けたPlay 2の仕事が一旦終わり
    • 就職していたわけじゃないから退職っていうわけじゃないけど、これくらい一つの案件にぎっしりというケースは個人的にはあまりなく。1月からは全然違う系の仕事をするです。
    • スクラムマスターも終わり
  • Playアドベントカレンダー、あまり盛り上がらず申し訳ないです。

SSC – Start, Stop, Continue

ぐだぐだ書いてもあれなので、3つずつ

Start

  • もう少し法人としての体制を整える(人増やすとかそういう系ではなく、内部実務的に結構ぐだぐだ感あるので)
  • 新しいプロジェクトに参加予定。Clojureつかうかもです。
  • Design Wedge

Stop

  • 紙書籍の購入(最近はKindleにない本のみしか紙の本は買わなくなりつつあるので。こういう方向が進んでいった先にあるものが豊かさなのかそうでないのかを知りたい)
  • iPhoneの利用(Androidかfirefox phoneとかに)
  • Playもくもく会(ちょっと最近できていないし、一旦とめようかと)

Continue

  • ライフワークのデザインクロール&キャプチャ
  • Clojureの学習の継続
  • play-clojureという模索 : 十分に稼働実績があるPlayの仕組みを有効活用できないものかと
Read More