読者です 読者をやめる 読者になる 読者になる

とあるStartupに勤めるエンジニアの技術ブログ

Salesforce、テスト関係の技術ブログなどを書く予定

Salesforceハックチャレンジ2014に挑戦しました!

Salesforce Lightning

Salesforceハックチャレンジ2014に挑戦しました!何度か挫けそうになりましたが、安西先生の言葉に勇気づけられながら、なんとか応募することができました。

応募作品はこちら。
Chatterメッセージを利用できるLightningアプリケーションを応募しました。

YouTubeでの紹介ムービー

GitHubリポジトリ

結果

ありがとうございます!「オープンソース賞」をいただきました。
Salesforce Developers Japan Blog

実は以前のSalesforce1 Platform Mobile Hack Challenge 2014 Japan で応募したものをLightningコンポーネントで実装したものでした。時間があればもう少し機能を追加したかったんですけど…。今回の応募作品はLightningコンポーネントで再実装したこと以外には新規性などはまったくないので受賞できるとすればこの賞でした。

ちなみに、中の人より個別に評価をいただけるようですが、まだ届いていません(2014/12/31現在)。

技術的感想

Lightningコンポーネントを利用してみました。その感想をつらつら書いてみます。

Lightningアプリケーションについては下記のエントリーと同じことを思いました。Lightning App Builderに追加できるのもLightningコンポーネントのようなのでますます…。FlexiPageとLightningアプリケーションの住み分けもよくわからないところではありますが、どうなっていくんでしょうね。

今回はAngularJSをLightningで再実装しました。大した機能は使っていませんが、基本的にはLightningコンポーネントで置き換えることができました。ただ、Lightningコンポーネントコンポーネントを分割してSingle Page Applicationとして実装する場合はどうすればよいのかよく分からなかったです。このあたりはフロントエンドに強い人の知恵でなんとかしてもらえると嬉しいです。

Salesforce Lightning Componentは今回ベータリリースされたばかりなので、なかなか情報がなかったのが辛いところでしたが、AdventCalendarがとても役に立ちました。Lightningコンポーネントに興味のある方は一読してみるとよいと思います。

最後に感じたことは、「Lightning Componentは正統なVisualforce2.0なんだろうな」ということでした。Visualforce1.0ではコントローラをApex側に実装していましたが、Visualforce2.0(Lightning Component)ではコントローラをブラウザ側のJavaScriptに移動させています。言語としてはJavaScriptを利用していますが、実はApexと同様に独自言語なんじゃないかな、と。そう考えれば外部ファイルにあるJavaScriptを読み込めないのも納得がいってしまいました。

うまく文章にできてないですが、このあたりで。
良い年を!