Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ScalaでAndroidアプリを作ると         何が良いのか?         株式会社hemplant  麻植泰輔                 Twitter:@OE_uia               Facebook:oe....
自己紹介麻植(おえ)Twitter:@OE_uia, Facebook:oe.taisukeScalaでAndroidアプリ&オレオレAPI開発株式会社hemplant(麻 hemp + 植 plantが由来)決して大麻工場ではありません(‘・...
ScalaでAndroidアプリ開発?AndroidアプリをScalaで開発するときの問題について、@lyrical_logicalさんが第86回で発表済み。Twitter界隈では素人は手を出すな、ということでFA? (‘・ω・`)
ScalaでAndroidアプリ開発?じゃあ反論するのか?答)できません (‘・ω・`)でも良いとこもあるよ?というのをAndroidという文脈でアピールするのを試みます。
Scalaで開発するメリットとにかく簡潔に書ける その1ScalaのCollection APIは並行コレクションを除いて使用可能。高階関数 ヒャッハ-!!
Scalaで開発するメリットとにかく簡潔に書ける その2Androidアプリで頻出のEventListenerやRunnableも、関数から暗黙の型変換で無名クラス化すると簡潔に。処理のカプセル化>コード量削減
Scalaで開発するメリット         EventListenerの書き換え例JAVA:button.setOnClickListener( new View.OnClickListener() {   public void onCli...
Scalaで開発するメリットとにかく簡潔に書ける その3Resourceへのアクセスや、Viewのコンストラクタに必ず使われるContextを、暗黙の引数化注:Contextはメモリリークの頻出場所なので、注意は必要
Scalaで開発するメリット    Contextの暗黙の引数化JAVA:Toast.makeText( context,"写真を保存しました。",Toast.LENGTH_SHORT).show()SCALA:"写真を保存しました".toast
Scalaで開発するメリットとにかく簡潔に書ける その4構造的部分型(Structual Subtyping)ArrayAdapter(縦スクロール型)とPagerAdapter(横スワイプ型)は、どちらもnotifyDataSetChange...
Scalaで開発するメリット    ViewPagerとArrayAdapterを纏めるtype Observer = {def notifyDataSetChanged():Unit}val vAdapter = new ArrayAdapt...
Scalaで開発するメリットとにかく簡潔に書ける その5TypedResourcesResourceIDとViewを結びつける際、通常は型キャストが必要だが、android-pluginのTypedResourcesでは型キャスト不要。
Scalaで開発するメリット    Resourceファイルから型情報も取得JAVA:Button button = (Button)findViewById(R.id.button1);SCALA:val button = findView(...
その他のメリットTraitのmixin継承で、デフォルトの実装パターンをオレオレフレームワーク化ServerSideのオレオレAPIも同じ言語でサクっと作れるから、頭の切り替えが不要。
Scalaで開発するメリットこんな感じでAndroidアプリの工数が下がるだけでなく、作るのも楽しくなりますYO!勿論環境設定+習熟に時間がちょっぴり(?)かかりますので、最初は締切の緩いプロジェクトでの使用を推奨します。
参考文献:Scala my Androidhttp://ktoso.github.com/scala-android-presentation/#/現状 #Scala で #Android をやるのは思っている以上に罠が多いという話 -Toge...
Upcoming SlideShare
Loading in …5
×

2012 09-26-scala

2,202 views

Published on

第88回Scala勉強会 #rpscala LT資料

Published in: Technology
  • Be the first to comment

2012 09-26-scala

  1. 1. ScalaでAndroidアプリを作ると 何が良いのか? 株式会社hemplant  麻植泰輔 Twitter:@OE_uia Facebook:oe.taisuke
  2. 2. 自己紹介麻植(おえ)Twitter:@OE_uia, Facebook:oe.taisukeScalaでAndroidアプリ&オレオレAPI開発株式会社hemplant(麻 hemp + 植 plantが由来)決して大麻工場ではありません(‘・ω・`)次回のScalaConferenceで会計職担当。
  3. 3. ScalaでAndroidアプリ開発?AndroidアプリをScalaで開発するときの問題について、@lyrical_logicalさんが第86回で発表済み。Twitter界隈では素人は手を出すな、ということでFA? (‘・ω・`)
  4. 4. ScalaでAndroidアプリ開発?じゃあ反論するのか?答)できません (‘・ω・`)でも良いとこもあるよ?というのをAndroidという文脈でアピールするのを試みます。
  5. 5. Scalaで開発するメリットとにかく簡潔に書ける その1ScalaのCollection APIは並行コレクションを除いて使用可能。高階関数 ヒャッハ-!!
  6. 6. Scalaで開発するメリットとにかく簡潔に書ける その2Androidアプリで頻出のEventListenerやRunnableも、関数から暗黙の型変換で無名クラス化すると簡潔に。処理のカプセル化>コード量削減
  7. 7. Scalaで開発するメリット EventListenerの書き換え例JAVA:button.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { // クリック時の処理 } });SCALA:button.setOnClickListener{(v:View)=> // クリック時の処理}
  8. 8. Scalaで開発するメリットとにかく簡潔に書ける その3Resourceへのアクセスや、Viewのコンストラクタに必ず使われるContextを、暗黙の引数化注:Contextはメモリリークの頻出場所なので、注意は必要
  9. 9. Scalaで開発するメリット Contextの暗黙の引数化JAVA:Toast.makeText( context,"写真を保存しました。",Toast.LENGTH_SHORT).show()SCALA:"写真を保存しました".toast
  10. 10. Scalaで開発するメリットとにかく簡潔に書ける その4構造的部分型(Structual Subtyping)ArrayAdapter(縦スクロール型)とPagerAdapter(横スワイプ型)は、どちらもnotifyDataSetChanged():Unitを持つが継承関係なし。
  11. 11. Scalaで開発するメリット ViewPagerとArrayAdapterを纏めるtype Observer = {def notifyDataSetChanged():Unit}val vAdapter = new ArrayAdapter[POJO]{...}val hAdapter = new PagerAdapter[POJO]{...}val adapterMap:Map[String,Observer] = Map( "vertical"->vAdapter, "horizontal"->hAdapter )def onComplete(){ adapterMap.values.foreach{_.notifyDataSetChanged}}
  12. 12. Scalaで開発するメリットとにかく簡潔に書ける その5TypedResourcesResourceIDとViewを結びつける際、通常は型キャストが必要だが、android-pluginのTypedResourcesでは型キャスト不要。
  13. 13. Scalaで開発するメリット Resourceファイルから型情報も取得JAVA:Button button = (Button)findViewById(R.id.button1);SCALA:val button = findView(TR.button1)
  14. 14. その他のメリットTraitのmixin継承で、デフォルトの実装パターンをオレオレフレームワーク化ServerSideのオレオレAPIも同じ言語でサクっと作れるから、頭の切り替えが不要。
  15. 15. Scalaで開発するメリットこんな感じでAndroidアプリの工数が下がるだけでなく、作るのも楽しくなりますYO!勿論環境設定+習熟に時間がちょっぴり(?)かかりますので、最初は締切の緩いプロジェクトでの使用を推奨します。
  16. 16. 参考文献:Scala my Androidhttp://ktoso.github.com/scala-android-presentation/#/現状 #Scala で #Android をやるのは思っている以上に罠が多いという話 -Togetter http://togetter.com/li/367665

×