Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

I have dreamed about being able to compile a ClojureScript project without installing Java ever since coming to know that ClojureScript can compile itself. While projects like Planck and Lumo can either run arbitrary ClojureScript forms at the REPL or run ClojureScript scripts, none have actually supported flat out compiling an entire ClojureScript project. Until now. Wait... what?! That's right.
Om-nextは、1.0.0-alpha45でサーバーサイドレンダリングに対応していますが、前はなぜかうまく動かせず、cellophaneというライブラリを使って実現させていました。今回はその続き Clojure Advent Calendar 2016 - Qiitaの10日目。 今日はサーバーサイドレンダリングの話です。 Clojureのサーバーサイドレンダリングについては、以前Lisp meetupというイベントで話しました。 Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてこれが、その時の発表資料です。その時はOmやOm-next、Reagent、Rumなどの各種Reactラッパー系のサーバーサイドレンダリングの現状について紹介しました。 また、サーバーサイドレンダリングでどういう実装スタイルが存在しているかという話もしました。なので、
本記事は Clojure Advent Calendar 2016 4日目の記事です。 はじめに ClojureScript を使って Web 開発をしたい、と思った時に、プロジェクトの環境設定は面倒くさく悩ましいネタの一つです。Clojure で代表的な Web フレームワークであるluminus や duct、あるいは(フレームワークではないかもしれないが) chestnut等だと、めんどくさい設定等を間違えることなく良きにはからってくれる leiningen template が用意され、開発を容易に始めることができます。ですが、自動生成された環境は、時に自分の思い通りと少し違っていたり、オーバースペックゆえにいじりにくかったりする場合があります。 そこで本記事では、今時の ClojureScript を前提とした Web 開発の環境について、一旦シンプルなところから徐々に拡張してい
Clojureではユニットテスト用のフレームワークとコマンドが標準で用意されているので楽チンですが、ClojureScriptはちょっと面倒です。そこで、今回は楽にするdooを紹介。今回は、ちょっと記事が長め。 Clojureには、clojure.testというユニットテストフレームワークが標準で用意されています。 deftestマクロなどを使って書いたテストケースはこんな感じです。 (deftest a-test (testing "FIXME, I fail." (is (= 0 1)))) あ、これは標準のプロジェクトテンプレートで書かれているものですが、これを下記のleinコマンドで実行すると、テスト結果が出力されます。 $ lein test Testing cljs-test.core-test FAIL in (a-test) (core_test.clj:7) FIXME,
re-frameは、reagentを利用したClojureScriptによる、SPA開発のためのプラクティスで、充実したガイドラインと少量のライブラリを提供しています。 reagentとre-frameの関係はReact.jsとFluxの関係に似ています。 概要 re-frameでは、app-dbと呼ばれる単一のグローバルなステートのみが存在しています。app-dbの値を更新し、app-dbを変更をサブスクライブすることで、リアクティブな動作を実現できます。 reagent単体では、イベントの実行方法や、関心のあるステートの更新のみをサブスクライブする統一された記述方法が定義されておらず、実装者任せになりますが、re-frameを用いると標準的な枠組みで実装できるようになります。 re-frameで、登場する主な要素は以下です。 要素 役割 react-reduxでのイメージ
23 December 2015 It’s been a very exciting year for ClojureScript. It’s clear that things have been accelerating and here is a personal selection of highlights: CLJSJS While technically it appeared in late 2014, CLJSJS took off when ClojureScript landed enhanced and standardized support for foreign dependencies in January. Thanks to the tireless work of many contributors, the wider community of Cl
はじめに iOSアプリ開発の主流は,Objective-CやSwiftを用いたネイティブアプリ開発です.HTML5を用いたCordovaや,UnityからiOSエクスポートするといった方法もあります.そのような中,Facebookの発表した[React Native][react-native]では,Virtual DOMで大きな注目を浴びたReact.jsと同様のスタイルでJavaScriptを記述することで,iOSアプリ開発を行うことができます. 一方で,Clojureの文法で記述したコードをJavaScriptにコンパイルするClojureScriptの世界では,[Om][om]と呼ばれるReact.jsラッパーが人気です.React.jsの仕組みはイミュータブルであることを根幹においているClojureと非常に相性が良いといわれています. React.jsのような仕組みを使えるRe
In ClojureScript, you can annotate a function's parameters or return type using ^boolean. This post describes the what and why. First off, its worth saying that you normally don’t need to do any of this. But, if you are working with some performance-critical code, understanding what's going on may help. Let’s look at what gets generated for this form: (defn foo [x] (if x 1 2)) To easily see what i
// JavaScript "hoists" variables to the top of // their scope. So the following function: function printName() { console.log('Hello, ' + name); var name = 'Bob'; } // is equivalent to this function: function printName() { var name; console.log('Hello, ' + name); name = 'Bob'; } printName(); // Hello, undefined
はじめに Light Table Plugin Tutorialの翻訳になります。 LightTable のプラグインに関する日本語情報が不足しているため、翻訳してみました。 間違い等ありましたら、ご指摘いただけると助かります。 Original article: Light Table Plugin Tutorial by Jakub Arnold ちなみにオリジナルの記事はLightTableのwikiにもリンクが貼ってあります。 元記事の著者の許可は取得済み↓ Hi, @darthdeus. Would you mind if I translate this article(http://t.co/UrF1TYuRpR) in Japanese? and post on my blog?— Satoshi Kondo (@snufkon) 2014, 3月 2 @darthdeus
ClojureScriptという選択肢 Presentation Transcript ClojureScript という選択肢 2013/10/19 大なごやJS VOL.7 前田康行(@maeda_) 自己紹介 前田康行 (@maeda_) 名古屋在住のフリーランス 好きな言語 • Scala • Smalltalk 近況 • ひょんなことからRubyの仕事してます。 今流行りのaltJS 今回のテーマ ClojureScriptはこっち側ですよって話 XX言語で書いて、 XX言語で書いて、 JavaScriptに変換できる <<< (超えられる壁) <<< JavaScriptの代用となる 大事な観点 言語的なメリットだけでなく、既存のJSのエコシステムが活用できる or 代用があるか? ・既存のライブラリやAPI(JSONPとか)との親和性 ・開発周りのツール類(Gruntと
Land of Lispの作者が作っているClojureScriptのフレームワーク、WebFUIが面白い。僕がJS書くときによく使うPastaとよく似ているので盗めるところは盗みたい。 Clojure/conjでの動画 githubリポジトリ 状態 イミュータブルな辞書で状態を表現して、リファレンスを張り替えることで状態の遷移を行うところはPastaと共通。この方法はよくあるオブジェクト指向のMVCフレームワークで行われるミュータブルな辞書をその場で書き換える方法と比べて、 後で必要になるデータをcloneなしで取っておける.(もちろん必要ない物はGCされる) 同じ状態の時に必ず同じUIになることを保証できる. (上記に関連して、)アプリの状態をそのままサーバなりローカルストレージなりに突っ込んで、そこからUIを含め完全に状態を復元できる などの利点がある。 状態の辞書を作るのにパッチ(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く