RIA-リッチインターネットアプリケーション。
Spring Framework-アプリケーションフレームワーク。
オープンソース - オープンソース 。 取って使用します。
RIAアプリケーションの開発内容について、それを表示してhabrakatでソースを取得できる場所について。
はじめに
学習は実際には価値があると思います。 実践は有意義であり、関心を喚起するものでなければなりません。 つまり 私たちはアイデアを思いつき、研究された技術、ツール、アプローチなどを使用して、全力でそれを実現しようとします。
Spring Frameworkの学習を開始したとき、学習した単語を繰り返すプロセスを簡素化するリストのアイデアがありました。 つまり 私たちが勉強している言語で文学を読むとき、私たちは翻訳がわからない単語に直面します。 私たちはそれを電子辞書に追加し、夕方には新しい単語を繰り返します。このリストをより効果的な繰り返しに変換できることを望みます-単語を混ぜて、翻訳の方向を逆にします。 プロジェクトのために、特別なエンティティが発明されました:
- ミームは情報の単位です。 たとえば、翻訳付きの単語。
- マップ-ミームのリスト。
- スペース-カードのコレクション。
数ヶ月のゆったりとした作業の後、プロジェクトが始まりました。 この間にデザインが変更され、 OpenJPAはHibernateに変更され、jsオブジェクトモデルはjQuery UIを使用して完全に書き直されましたが、Chrome用に開発されたレイアウトはChromeのみに残りましたが、Firefoxでも問題ないように見えます。
技術について少し
Spring Framework 3-主にネイティブDI 、 Spring MVC 、 Spring Securityを使用 。 Spring Securityは 、グループとロールを使用したユーザー権限の区別を使用して、標準のギアでのみ構成されます。 JDBCを介したデータベースへの直接アクセス、悪名高い私とmd5ハッシュ-すべて込み。
Hibernate-表記法を使用して調整。 検索には、休止状態の基準と少しのHSQLが使用されました 。
Tilesはサーバー側のテンプレートエンジンです。
テンプレートを適用できない場合、 View ResolverはTiles View (ページ)またはJSONを返します。 JacksonJsonを使用して、オブジェクトはjson形式に自動的に変換されます。
この混乱はすべてMavenに行きます。
クライアント側では、 ajaxは非常に広く使用されています。 部分的に広すぎる。 何らかのキャッシングレイヤーを挿入したいと思います。 サーバー側の本質を繰り返すオブジェクトモデルが作成されますが、オブジェクトの構造の動的な分析が行われます。 マップオブジェクトはjQuery UIに基づいています。 その助けにより、オブジェクトの継承は簡単に実装されます。
EJSは、クライアント側のテンプレートエンジンです。 テンプレートファイルを個別に取得するため、非常に便利です。 Microsoft Translator APIに基づくトランスレーターモジュールを実装しましたが、システムにはまだ実装されていません。 フォントはCufonライブラリを使用して描画されます。
サーバーケース
開発の開始以来、プロジェクトリポジトリはさまざまな場所に存在していました。 なぜなら プロジェクトのソースは異なるコンピューターから必要だったため、最初にDropboxを使用しました。 プロジェクトフォルダを同期しました。 1週間の苦労の末、ローカルSVNリポジトリを開始し、すでに同期しました。 次に、プロジェクトをオンラインリポジトリに転送しました。 将来的にプロジェクトをGitに移行したかったのですが、最初はまだSVNを使用したかったのです。 この場合、リポジトリはプライベートである必要があります。 急いで、検索はunfuddleを見つけました 。 プロジェクトをgithubに移行したようです。
サービスはjelasticでホストされます 。 このプロジェクトは、リバースプロキシサーバーアーキテクチャ用に開発されたもので、 jelasticの下で少しやり直さなければなりませんでした 。 このため、 jelasticには奇妙なバグがあります -サービスへの最初の呼び出しでは、静的リソースはサーバーから与えられません。 ページを更新する必要がありますが、すべては大丈夫です。
持って行け!
インターネットにはSpring Frameworkの開発例がたくさんありますので、もう1つ悪いことはありません。 このプロジェクトに関連する活動は大歓迎です。
参照資料
プロジェクト: http : //memorized.jelastic.com
出典: https : //github.com/evgenij-kozhevnikov/memorized
高度な対応: trello.com ( UPD。devIceManによる )