2012 09-26-scala

Description
1. ScalaでAndroidアプリを作ると 何が良いのか? 株式会社hemplant  麻植泰輔 Twitter:@OE_uia Facebook:oe.taisuke 2.…

Please download to get full document.

View again

of 16
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Technology

Publish on:

Views: 0 | Pages: 16

Extension: PDF | Download: 0

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

    Thanks to everyone for your continued support.

    No, Thanks