2010-02-09 15 views
21

मैं जावा डेवलपर हूं। जावा के लिए कुछ Django/रूबी-ऑन-रेल प्रकार की ढांचा है? मैं प्रत्येक प्रोजेक्ट के लिए व्यवस्थापक पैनल बनाना पसंद नहीं करता हूं। यह बार-बार वही काम करने के लिए उबाऊ है। इसके अलावा मेरी नई परियोजना के लिए मेरे पास एक छोटी समयसीमा है और मैं कुछ प्रकार के जावा फ्रेमवर्क का उपयोग करना चाहता हूं जो विकास को गति देता है।जावा के लिए फ्रेमवर्क की तरह Django

उत्तर

12

हाल ही में मैं एक रूपरेखा है जो काफी हद Django की तरह दिखाई देता पाया। यह playframework कहा जाता है और आप इसे यहाँ पा सकते हैं:

http://playframework.org/

मैं सुझाव है कि आप पहले पन्ने पर वीडियो देखते हैं।

एक अन्य जावा आधारित डीजेंगो-जैसा ढांचा स्प्रिंग रू है, लेकिन मेरी राय में यह काफी तैयार नहीं है। पिछली बार मैंने इसका इस्तेमाल किया था प्रलेखन लगभग मौजूद नहीं था।

http://www.springsource.org/roo

+0

उत्तर देने के लिए धन्यवाद। क्या एक आवेदन टॉमकैट पर प्ले रन का उपयोग करके devloped कर सकते हैं ?? – user267067

+0

जहां तक ​​मुझे पता है कि आप अपनी सभी फाइलों को एक .war में पैकेज कर सकते हैं जिसे फिर टॉमकैट सर्वर पर तैनात किया जा सकता है। लेकिन इसके लिए वास्तव में कोई ज़रूरत नहीं है। आप बस एकीकृत सर्वर का उपयोग कर सकते हैं और इसके सामने http proxy जैसे nginx/lighty का उपयोग कर सकते हैं। – Jens

+0

फिर से थानक्स। मुझे किसी तीसरे पक्ष से साझा सर्वर पर एप्लिकेशन को डिप्लोप करना होगा। तीसरी पार्टी मुझे अनुमानित एकीकृत सर्वर चलाने की अनुमति नहीं देगी। – user267067

4

Grails में देखो:

http://www.grails.org/

+0

टिप्पणी गैर-रचनात्मक के रूप में चिह्नित की गई। – Jon

13
इसके अलावा मेरी नई परियोजना के लिए

का उपयोग कर मैं एक छोटी समय सीमा है और मैं जावा ढांचा किसी तरह का उपयोग करना चाहते हैं JVM में चलाया जा सकता है जो विकास को गति देता है।

मैं एक छोटी समय सीमा के साथ एक परियोजना कर रही एक रूपरेखा है कि मैं से परिचित नहीं हूँ उपयोग करने के बारे में सावधान रहना होगा। यह समय सीमा ओवररन्स के लिए एक नुस्खा की तरह लगता है। उस तकनीक से चिपके रहें जो आप पहले से परिचित हैं ... और एक परियोजना के लिए अधिक आराम से समय सीमा के साथ प्रतीक्षा करें जहां आप कुछ गलतियों को करने के लिए समय बर्दाश्त कर सकते हैं।

21

स्प्रिंग/जेपीए समर्थित वेब अनुप्रयोगों के लिए LightAdmin pluggable administration interface पर एक नजर डालें।

आमतौर पर, वेब अनुप्रयोग विकास में, आपको किसी भी प्रकार का प्रशासन उपयोग करने योग्य यूआई के साथ बैक-एंड होना चाहिए और यह हर समय खरोंच से इसे विकसित करने और भविष्य में इसे बनाए रखने के लिए उबाऊ है।

व्यक्तिगत रूप से, मैं बस LightAdmin पुस्तकालय प्लग और डीएसएल विन्यास से कुछ अनुकूलन करने से मेरी जावा परियोजनाओं के लिए इस हल किया।

तुम सब करने की ज़रूरत है Maven निर्भरता & अपने web.xml में प्रशासन पैनल सक्षम घोषित करने के लिए है।

@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); 
     } 
    }; 
} 

} 
+4

आपको ध्यान रखना चाहिए कि आप मुख्य लेखक हैं। यद्यपि यह सार्वजनिक जानकारी [lightadmin योगदानकर्ता पृष्ठ] (https://github.com/la-team/light-admin/graphs/contributors) के माध्यम से उपलब्ध है, मुझे लगता है कि यह आपके उत्तर के मूल्य को कम नहीं करता है (मैंने इसे ऊपर उठाया)। – Kariem

+0

दुर्भाग्यवश, यह अब विकसित नहीं हुआ है, और यह पूरी तरह से स्प्रिंग बूट एप्लिकेशन को तोड़ देता है। – kravemir

2

एक है: इस के बाद ठीक है तुम पूरा CRUD समर्थन, छानने, स्कोप, सुरक्षा, आदि

LightAdmin के व्यवस्थापक पैनल अनुकूलन उदाहरण के लिए डीएसएल के साथ एक सुविधा संपन्न यूआई होगा जेएचप्स्टर को देखो। यह अच्छा क्यों है?

  • बूटस्ट्रैप आधारित जीयूआई इंटरफ़ेस जेनरेट करें।
  • क्लाइंट साइड उत्पन्न कोड NodeJS और AngularJS
  • सर्वर साइड उत्पन्न कोड स्प्रिंग बूट पर आधारित है
  • यूनिट परीक्षण और एकीकरण के परीक्षण स्वचालित रूप से उत्पन्न कर रहे हैं पर आधार है।
  • आपके पास क्लाइंट साइड और सर्वर साइड फ्रेमवर्क के बारे में विस्तृत विकल्प हैं।

इन बिंदुओं का मतलब है, आप कला टूलसेट और ढांचे की स्थिति पर अपना विकास तैयार करेंगे। JHipster इससे कहीं अधिक है, https://jhipster.github.io/

0

यदि आप वेब के लिए जावा में कोड करना चाहते हैं तो आप स्प्रिंग फ्रेमवर्क या प्ले फ्रेमवर्क भी आज़मा सकते हैं। जीयूआई बनाने के लिए, आप उपयोग कर सकते Vaadin

यहाँ वसंत में मेरी नमूना परियोजनाओं में से कुछ हैं (मैं केवल का उपयोग किया है अब तक वसंत और यह अच्छी तरह से काम करने लगता है के लिए मुझे क्या करना चाहते हैं):

  • Spring Security demo
  • Sample CRUD application with a database - डेटाबेस कनेक्शन के लिए, मैंने Hibernate ORM का उपयोग किया और सत्यापन के लिए, मैंने हाइबरनेट वैलिडेटर का उपयोग किया।

आप Project Lombok का उपयोग करके अपने वर्गों में मौजूद फ़ील्ड के आधार पर स्वचालित रूप से गेटर्स/सेटर्स जेनरेट कर सकते हैं। मैं अपनी परियोजनाओं में भी इसका उपयोग करता हूं, यह मुझे कम कोड लिखने और मुख्य कोडिंग पर ध्यान केंद्रित करने में मदद करता है जो मुझे अपने कोडिंग कौशल का उपयोग करके हल करना है (यदि मैं स्वचालित रूप से जेनरेट की गई विधियों में कस्टम कोड जोड़ना चाहता हूं, तो मैं उन्हें बाद में लिख सकता हूं मुझे जरूरत है)।

+0

कम से कम कुछ लिंक जोड़ें, एक-दूसरे की मदद करें। – AMAN77

+0

कृपया इसे पढ़ें [कैसे करें जवाब] (http://stackoverflow.com/help/how-to-answer) और गुणवत्ता उत्तर प्रदान करने के लिए दिशानिर्देश का पालन करें। – thewaywewere

संबंधित मुद्दे