descjop で遊ぼう day 1 : はじめに

descjop (Electron + Clojure) Advent Calendar 2015 - Adventarの1日目です

Story Permalink
descjop で遊ぼう day 1

ひょんなことからdescjop (Electron + Clojure) Advent Calendar 2015 - Adventarという一人アドベントカレンダーをすることになりました。

経緯などは、上記Adventarのサイト内に記載しています。できる限り続けていきたいと思いますのでどうぞよろしくお願いします。

本日は第1日目です。

descjopの紹介

このアドベントカレンダーをやるにあたり、まずはdescjopというのはなんぞやというところから語っていきたいと思います。

descjopというのは、僕 @kara_dが作っているClojure環境向けのElectronベースのアプリケーションを構築するためのプロジェクトテンプレートです。

現在、GitHubのスター数は148です。もし応援してくれる方がいたらスターしていただけると嬉しいです。

Clojure?、Electron?っていうのを初めて聴いた人もいると思います。

Clojureというのは、designudgeでもなんども触れているのでここでは触れません。バックナンバーなどでいろいろととりあげているので読んでみてください。

Electronとは何か

Electronというのは、GitHubがオープンソースで公開しているプラットフォームで、Windows、OSX、Linuxというクロスプラットフォームなデスクトップアプリケーションが作れる環境です。

Electronは、ChromiumというオープンソースのWebブラウザと、Node.js、そしていくつかのネイティブ用の言語でできています。

これを使うとWebの技術でデスクトップアプリケーションがつくれます。ここで言っているWebの技術というのは、HTML/CSS/JavaScriptを指します。

こういったWeb技術でデスクトップアプリケーションを作成できるツールというのは、過去いろいろありましたし、今もNW.jsbrackets-shell など、様々なものが存在しています。

descjopはそれなりに歴史があるプロダクトで、まだElectronがElectronと呼ばれる前の時代から地道にアップデートによるバージョンアップを続けてきていて、現在は0.5.2が最新となります。基本的にElectronのバージョンが少し上がると、descjopもアップデートを行い動作確認をしつつ今に至ります。

descjopで出来ること

descjopは、Node.jsをインターフェースとしているElectronに対して、ClojureScriptというClojureベースのJavaScript開発環境を通じてアプリケーションを動作させる方法をとります。この部分については、今後詳しく書いていこうと思いますが、ClojureScriptを通じて開発するものには大きく分けて2つのレイヤーになります。

  • HTML/CSSなどをコントロールするフロントエンドアプリケーションとしてのJavaScript
  • Electronに対して様々なAPIを通じてアクセスするためにNode.jsアプリケーションとしてのJavaScript

一見ClojureScriptがわかればすぐにつくれそうに思えますが、テンプレートまで行くのにはそれなりに試行錯誤がありました。出来上がったプロジェクトテンプレートはシンプルなものですが、最初の頃は謎のエラーを吐きまくったものです。

ということで、descjopでは、ある程度準備されたElectronアプリケーションのための最低限の土台と設定を提供しています。

descjopのマイルストーン

descjopに関して、あんまり大風呂敷を広げたくないのですが、いくつか決まっていることがあります。リポジトリの説明には下記のようにスタート時から書いてあります。

「A Leiningen template for Web based desktop application with Electron(atom-shell) and others. (now Electron(atom-shell) based only. will build nw.js based later...) 」

つまり、Electron向けのテンプレートというわけではなく、いろいろなランタイム上で動かせるようなものにしていこうという意思(だけは)あります。

ということで、現在予定しているのは以下の通りです。

  • nw.js向けのビルドも可能にする
  • 開発を楽にしてくれるライブラリの同梱

この先、様々なサンプルなどを公開していこうかなとか考えています

これからクリスマスまでどうぞよろしくお願いします。

無事ゴールを迎えられることを祈って。

Colophon

編集長
Greative GK. 原一浩 ( kara_d )
製版システム
Clojure / Compojure / Ring / Enlive / markdown-clj / Jetty / MySQL
Share this magazine!
Follow designudge

Magazine Archives

vol.122

2016-2-01

Cover

台湾に行ってきました。

今回のカバーは、台湾にて撮影したものです。

自治体Webデザイントレンドこぼれ話 : ここだよマップ

CSS Niteの年末イベントShiftでやっているセッションにデザイントレンドというのがあります。

descjop で遊ぼう day 16 : Windows版のメニューを表示する

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

そういえば、まだ2015年の振り返りをマガジンに掲載していませんでした

編集後記

vol.121

2016-1-14

Cover

今回のカバーは、、、UFO?

自治体Webデザイントレンドこぼれ話 : 予告

CSS Niteの年末イベントShiftでやっているセッションにデザイントレンドというのがあります。

descjop で遊ぼう day 11 : Omのコンポーネントで遊ぼう

descjop で遊ぼう day 12 : Omのコンポーネントで遊ぼうその2

descjop で遊ぼう day 13 : Clojure ワークショップでTAしてきた話

descjop で遊ぼう day 14 : アプリケーションメニューを作ろう

descjop で遊ぼう day 15 : descjop 0.5.3をリリースしました

編集後記

vol.120

2016-1-14

Cover

今回のカバーも、初詣に行ったときのショットです。

descjop で遊ぼう day 6 : Electronがうまくダウンロードできないとき

descjop で遊ぼう day 7 : Hello Worldを出力してみるには

descjop で遊ぼう day 8 : Om basedテンプレートを使ってみる

descjop で遊ぼう day 9 : Om basedテンプレートにボタンをつける

descjop で遊ぼう day 10 : Om basedテンプレートにボタンをつけるその2

編集後記

vol.119

2016-1-10

Cover

今回のカバーは、初詣に行ったときのショット。

「descjop で遊ぼう」について

「descjop で遊ぼう」というのは年末にやったアドベントカレンダーのシリーズなのですが、前段としてまずはその解説をば。

descjop で遊ぼう day 1 : はじめに

descjop で遊ぼう day 2 : 3つのテンプレート

descjop で遊ぼう day 3 : 環境構築をしよう

descjop で遊ぼう day 4 : Helpを見てみよう

descjop で遊ぼう day 5 : デフォルトアプリケーションのビルドと起動

編集後記

vol.118

2015-10-22

Cover

今回のカバーは、Stack Overflow DevDaysのイベントをお手伝いしたときの窓からのショット。

Vaqum Web Design Review

創刊以来延々と続くWebサイトレビュー

ミカヅキClojure : ゼロからはじめるClojure入門第2回

Clojureっていうじつに面白いプログラミング言語をとりあげていきます

インフォメーション

おすすめのイベント・勉強会情報を紹介

編集後記

vol.117

2015-10-07

Cover

今回は散歩道からのショット

Editor’s Picks

designudgeで扱っている内容に近いジャンルのリソースのうち気になったものなど

U.S. Web Design Standardsを見てみる

今話題となっているU.S. Web Design Standardsの周辺情報など見てみました

Bootstrap 4徹底攻略 (3)

Bootstrap 4のアルファ版がでているので使おう

インフォメーション

おすすめのイベント・勉強会情報を紹介

編集後記

vol.116

2015-9-28

Cover

今回は帰省した際に通った三島からのショットです

Vaqum Web Design Review

創刊以来延々と続くWebサイトレビュー

みそじ過ぎからの英語再学習

40を目前に今までサボっていた英語学習をはじめました

Bootstrap 4徹底攻略 (2)

Bootstrap 4のアルファ版がでているので使おう

ミカヅキClojure

Clojureっていうじつに面白いプログラミング言語をとりあげていきます

インフォメーション

おすすめのイベント・勉強会情報を紹介

編集後記

vol.115

2015-9-13

Cover

前回と同じ開発合宿のショットから一つ

Vaqum Web Design Review

創刊以来延々と続くWebサイトレビュー

開発合宿へ行こう! : Python mini hack-a-thon 夏山合宿 2015

先週末に行ってきた開発合宿について書きました。

ミカヅキClojure

Clojureっていうじつに面白いプログラミング言語をとりあげていきます

インフォメーション

おすすめのイベント・勉強会情報を紹介

編集後記