2011-10-22 9 views
3

私はAndroidアプリケーションを作成しています。コードが大きくなるにつれて、より良いアーキテクチャのために依存性注入フレームワークを使用する必要があることがわかりました。Android用Lightweight Dependency Injectionフレームワーク

(1)春はAndroidアプリにとって重過ぎますか?

(2)この場合、代替の軽量フレームワークがありますか?

ありがとうございます!

+0

Andromeda http://andromeda.webuda.comをご覧ください。それは春の最高の伝統ではAndroid用のDIフレームワークです – alexey28

答えて

2

Android用の春の特別な拡張子があります:Spring Androidです。

春のAndroidは、ネイティブのAndroidアプリケーションの開発を簡単にすることを目的としたSpring Frameworkの拡張版です。

だから、私は春は一般的にAndroidのために重くはないと言います。

もちろん、あなたはspring-all-in-one.jarを使っていません。

一方、Google-Guiceは多分もっと自然な選択でしょう。 AndroidとGuiceの約スタックオーバーフローの質問があります:Tiny SpringGuice Performance on Android

+0

提案ありがとう!私はGuiceに試してもらうだろうが、いくつかの記事を読んだ後、Springと同じような機能はないと述べられている。しかし、私は背後に理由があるはずだと思います。 –

3

は、Androidのための新しい春のプロジェクトもありRoboGuice

RoboGuice: Dependency Injection for Android

+0

これは廃止予定です。 – Snicolas

0

を見てみましょう。これはXML設定の非常に基本的なことを解決しますが、Springが行うすべてのことを行うわけではありません。

1

AndroidでSpringフレームワーク(core、webmvc、hidernate、aop)+ DWR + H2を移植することに成功しました。 4ヶ月前、私は、Springプラットフォーム で構築されたサーバーアプリケーションをAndroidプラットフォームで移行することを検討することにしました。そして、現時点では、2つのアプリケーションを移植するのに成功した経験があります。

1

また、JSR-330に準拠したアンドロイド最適化依存性注入システムであるDaggerも考えられます。 Guiceに触発され、Guiceの貢献者によって書かれたものです。

これは、アンドロイド仮想マシンでのリフレクションの大幅なコストを回避し、最後の責任ある瞬間までのクラスローディングを避けるためにリンクを延期するコード生成アプローチをサポートしています。これの副次的な利点は、コンパイル時エラーとグラフ分析です。

1

RoboSpringというプロジェクトをご覧ください。説明から:

RoboSpringは、Androidプラットフォームに対するSpring Frameworkの(実際の)ポートです。さらに、RoboGuiceによって導入された機能を、アクティビティなどにViewリファレンスを注入するような予備的なサポートを提供します。 RoboSpringは、Springのコアコンテキスト AOPコンポーネントのバージョン3.1.0 RELEASEに基づいています。Spring構成ファイル (XML)と

  • 設定アプリケーションコンポーネント、Springアプリケーションコンテキストからの豆と
  • AutowireあなたのAndroidコンポーネント:それは、次の機能を提供しています。
  • あなたのSpring BeansにAndroidアプリケーションコンテキストを注入します。
  • ビューをアクティビティに挿入します。
  • ...ともっと

https://github.com/dthommes/RoboSpring

RoboSpring - Inversion of Control for Android

HAPPY注入!

1

Featherは、フットプリントが小さく、高性能であれば面白いかもしれません。このプロジェクトには、PicoContainer、Guice、Dagger、Springと比較したベンチマークが含まれています。

+0

フェザーは実際にはダガー1よりも高速です。フェザーの著者によれば2倍速くなりますが、ダガー2は同じテストでフェザーより5〜10倍高速です。 FeatherはDagger 2のようなコード生成を必要としません。 –

1

Toothpickでもよい。

TP: Fast & Simple DI for Android

として、高速ダガー2などとRoboGuiceような単純な

注:はい、私は著者の一人です。

関連する問題