私はAndroidアプリケーションを作成しています。コードが大きくなるにつれて、より良いアーキテクチャのために依存性注入フレームワークを使用する必要があることがわかりました。Android用Lightweight Dependency Injectionフレームワーク
(1)春はAndroidアプリにとって重過ぎますか?
(2)この場合、代替の軽量フレームワークがありますか?
ありがとうございます!
私はAndroidアプリケーションを作成しています。コードが大きくなるにつれて、より良いアーキテクチャのために依存性注入フレームワークを使用する必要があることがわかりました。Android用Lightweight Dependency Injectionフレームワーク
(1)春はAndroidアプリにとって重過ぎますか?
(2)この場合、代替の軽量フレームワークがありますか?
ありがとうございます!
Android用の春の特別な拡張子があります:Spring Androidです。
春のAndroidは、ネイティブのAndroidアプリケーションの開発を簡単にすることを目的としたSpring Frameworkの拡張版です。
だから、私は春は一般的にAndroidのために重くはないと言います。
もちろん、あなたはspring-all-in-one.jar
を使っていません。
一方、Google-Guiceは多分もっと自然な選択でしょう。 AndroidとGuiceの約スタックオーバーフローの質問があります:Tiny Spring:Guice Performance on Android
提案ありがとう!私はGuiceに試してもらうだろうが、いくつかの記事を読んだ後、Springと同じような機能はないと述べられている。しかし、私は背後に理由があるはずだと思います。 –
を見てみましょう。これはXML設定の非常に基本的なことを解決しますが、Springが行うすべてのことを行うわけではありません。
AndroidでSpringフレームワーク(core、webmvc、hidernate、aop)+ DWR + H2を移植することに成功しました。 4ヶ月前、私は、Springプラットフォーム で構築されたサーバーアプリケーションをAndroidプラットフォームで移行することを検討することにしました。そして、現時点では、2つのアプリケーションを移植するのに成功した経験があります。
また、JSR-330に準拠したアンドロイド最適化依存性注入システムであるDaggerも考えられます。 Guiceに触発され、Guiceの貢献者によって書かれたものです。
これは、アンドロイド仮想マシンでのリフレクションの大幅なコストを回避し、最後の責任ある瞬間までのクラスローディングを避けるためにリンクを延期するコード生成アプローチをサポートしています。これの副次的な利点は、コンパイル時エラーとグラフ分析です。
RoboSpringというプロジェクトをご覧ください。説明から:
RoboSpringは、Androidプラットフォームに対するSpring Frameworkの(実際の)ポートです。さらに、RoboGuiceによって導入された機能を、アクティビティなどにViewリファレンスを注入するような予備的なサポートを提供します。 RoboSpringは、Springのコア、豆、コンテキストと AOPコンポーネントのバージョン3.1.0 RELEASEに基づいています。Spring構成ファイル (XML)と
https://github.com/dthommes/RoboSpring
HAPPY注入!
Featherは、フットプリントが小さく、高性能であれば面白いかもしれません。このプロジェクトには、PicoContainer、Guice、Dagger、Springと比較したベンチマークが含まれています。
フェザーは実際にはダガー1よりも高速です。フェザーの著者によれば2倍速くなりますが、ダガー2は同じテストでフェザーより5〜10倍高速です。 FeatherはDagger 2のようなコード生成を必要としません。 –
Andromeda http://andromeda.webuda.comをご覧ください。それは春の最高の伝統ではAndroid用のDIフレームワークです – alexey28