web-dev-qa-db-ja.com

Django Java

私はJava開発者です。Java用のDjango/Ruby-on-Railsのようなフレームワークはありますか?プロジェクトごとに管理パネルを作成するのは好きではありません。退屈です。同じことを何度も繰り返します。また、私の新しいプロジェクトでは期限が短く、開発をスピードアップするある種のJavaフレームワークを使用したいと思います。

23
user267067

最近、Djangoに非常によく似たフレームワークを見つけました。これはplayframeworkと呼ばれ、ここで見つけることができます。

http://playframework.org/

フロントページのビデオをご覧になることをお勧めします。

もう1つのJavaベースのDjangoのようなフレームワークはSpringRooですが、私の意見ではまだ準備が整っていません。前回使用したときは、ドキュメントは事実上存在しませんでした。

http://www.springsource.org/roo

13
Jens

Spring/JPAがサポートするWebアプリケーションの LightAdminプラグ可能管理インターフェース を見てください。

通常、Webアプリケーション開発では、使用可能なUIを備えた何らかの管理バックエンドが必要であり、常にゼロから開発して将来的に維持するのは退屈です。

個人的には、LightAdminライブラリをプラグインし、DSL構成からいくつかのカスタマイズを行うだけで、Javaプロジェクトのこれを解決しました。

あなたがする必要があるのは、Mavenの依存関係を宣言し、web.xmlで管理パネルを有効にすることだけです。この直後に、完全なCRUDサポート、フィルタリング、スコープ、セキュリティなどを備えた機能豊富なUIが表示されます。

LightAdminの管理パネルカスタマイズ用DSLの例:

@Administration( Booking.class )
public class BookingAdministration {

public static ScopesConfigurationUnit scopes( final ScopesConfigurationUnitBuilder scopeBuilder ) {
    return scopeBuilder
        .scope( "All", all() )
        .scope( "Smoking Apartments", specification( smokingApartmentsSpec( true ) ) )
        .scope( "Non Smoking Apartments", specification( smokingApartmentsSpec( false ) ) )
        .scope( "Long-term bookings", filter( longTermBookingPredicate() ) ).defaultScope().build();
}

public static FiltersConfigurationUnit filters( final FiltersConfigurationUnitBuilder filterBuilder ) {
    return filterBuilder
        .filter( "Customer", "user" )
        .filter( "Booked Hotel", "hotel" )
        .filter( "Check-In Date", "checkinDate" ).build();
}

public static FieldSetConfigurationUnit listView( final FieldSetConfigurationUnitBuilder fragmentBuilder ) {
    return fragmentBuilder
        .field( "user" ).caption( "Customer" )
        .field( "hotel" ).caption( "Hotel" )
        .field( "checkinDate" ).caption( "Check-In Date" )
        .field( "smoking" ).caption( "Smoking" )
        .field( "beds" ).caption( "Beds" )
        .build();
}

public static DomainTypePredicate<Booking> longTermBookingPredicate() {
    return new DomainTypePredicate<Booking>() {
        @Override
        public boolean apply( final Booking booking ) {
            return booking.getNights() > 20;
        }
    };
}

public static DomainTypeSpecification<Booking> smokingApartmentsSpec( final boolean isSmokingApartment ) {
    return new DomainTypeSpecification<Booking>() {
        @Override
        public Predicate toPredicate( final Root<Booking> root, final CriteriaQuery<?> query, final CriteriaBuilder cb ) {
            return cb.equal( root.get( "smoking" ), isSmokingApartment );
        }
    };
}

}
21
max-dev

また、私の新しいプロジェクトでは、期限が短いので、開発をスピードアップするある種のJavaフレームワークを使用したいと思います。

なじみのないフレームワークを使って、期限の短いプロジェクトをやるのは慎重だと思います。締め切り超過のレシピのように聞こえます。あなたがすでに精通している技術に固執しなさい...そしてあなたがいくつかの間違いをする時間がある余裕があるよりリラックスした締め切りのあるプロジェクトを待ちなさい。

12
Stephen C

Djangoはjythonを使用してjvmで実行できます。詳細については、こちらをご覧ください http://docs.djangoproject.com/en/dev/howto/jython/

7
Shuwaiee

Grailsを調べてください:

http://www.grails.org/

4
Jon

JHipsterをご覧ください。なんでいいの?

  • bootstrapベースのGUIインターフェイスを生成します。
  • 生成されるクライアント側のコードは、nodejsとAngularJsに基づいています
  • 生成されるサーバー側コードはSpringブートに基づいています
  • 単体テストと統合テストは自動的に生成されます。
  • クライアント側とサーバー側のフレームワークに関しては、幅広い選択肢があります。

これらのポイントは、最先端のツールセットとフレームワークに基づいて開発を構築することを意味します。 JHipsterはこれ以上のものです。以下をご覧ください: https://jhipster.github.io/

3
Ahmed Hammad

Web用にJava)でコーディングする場合は、SpringFrameworkまたはPlayFrameworkも試すことができます。GUIを生成するには、Vaadinを使用できます。

Springでの私のサンプルプロジェクトのいくつかを次に示します(これまでSpringのみを使用しており、やりたいことにはうまく機能しているようです)。

Project Lombok を使用して、クラスにあるフィールドに基づいてゲッター/セッターを自動的に生成することもできます。私は自分のプロジェクトでもそれを使用しています。コードを少なくして、コーディングスキルを使用して解決しなければならない主な問題に集中するのに役立ちます(自動的に生成したメソッドにカスタムコードを追加したい場合は、後で私は欲しい)。

1