Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I would like to get an opinion what language is better to use with LifeRay. I would like to build some app that I would like to integrate with LifeRay. What language do you suggest would I learn first?
Java? - A friend suggested that Java and LifeRay goes well.
Django? - I recently new this and seen the overview I find this pretty straight forward and I think would be easy for me to learn But I don't know if fits with LifeRay.
Liferay is written in 100% Java.
I don't know if there even exist a portlet in Python/Django. There is a Ruby/Rails bridge for Liferay Portlets http://rails-portlet.rubyforge.org/ , but I would definitely go for Java.
(Liferay) Portlets are based on Java Standards (JSR-268, JSR-186) so Java is the way to go.
Others have already answered that Liferay is a Java application. Let me add that there are definitely numerous ways to utilize other languages to customize liferay.
However, as you ask about what language to learn first be warned that a portal container is not the easiest environment to learn and - in addition to the language - you'll have to learn a great deal about the specifications implemented, the coding style and other used frameworks.
In code size, Liferay is huge. If you start to learn one of the two languages there are two aspects:
Regarding Liferay, support in the forums on www.liferay.com is best in Java, I've rarely seen support for other languages (neither questions nor answers)
Regarding your personal learning curve: If you're working closely together with django folks you might get better support for them in django.
Basically: You have to decide for yourself. Learning a new language and a new framework/server/environment is tough.
There are ways to write JSR compliant portlets in Ruby, PHP and Groovy as well as Java through Portal Pack - you could also run Django through Jython on the app server backing LifeRay and use this to back portlets. I'm not sure how preferable this would be to just doing it in Java though...
I thought Liferay was a Java-based portal product. If Django and Python are an option, I'm not aware of it.
This link suggests that I'm correct.
Liferay does support creating portlets in scripting languages.
Take a look at their wiki for help
I have worked with Liferay DXP with many languages: Java, Kotlin, Scala. Liferay also works with web frameworks like JSF, Lexicon, Groovy, GWT, JQuery, Twitter Bootstrap, Metal.js, React.JS, Angular JS and Angular 2, Node.js, Ruby and special mention Vaadin. Personally I´ve experience in Vaadin and Angular 2.
What I mean is that Liferay (just as develop portal, ant take out any content manager functionality) it is an excellent front integration for different developer teams, you can unified in a single security, look&feel, notification portal (and for the end-user it is seamless).
Django was developed with other objectives like reusability and pluggability, which it does an excellent work. But I don´t see any many Django portals.
So if you are looking to develop a portal using "micro-front" (term for web pages as micro-server is for back systems) using OSGi standard for many different system, go for Liferay. Django is more for monolitic systems.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm an ASP.NET developer, I'm happy with ASP.NET MVC and Entity Framework...
I want to use Java EE in a new web project, but there is a lot of specifications and frameworks (jsf, ejb, hibernate ...),
I'm looking for the best combination of Java EE specification tu use for a big Web Project (I must use HTML5, Javascript, JQuery, Javascript Framework like Telerik Kendo UI, Json, Webservices ...) and I love MVC so I'm looking for the MVC support in Java EE
For now, I decided the deployment server: Debian + Glassfish
I don't care about learning curve, but I do care about stability and performance
You can use Spring Web MVC for following reasons.
Active Community
Great Documentation
Ease of learning
MVC Architecture Supported
Used in the Industry
You probably wanna go with Spring, MVC being only one of the reasons. I can't tell whether it is the best in the Java landscape (maybe it is, I love it), but given how widely used it is you will most likely find someone able to help whenever you run into something you can't figure out by yourself.
Same applies for Maven when it comes to dependency management. Another viable alternative would be Gradle, but Maven is probably used more widely.
I would also suggest keep your project "Mavenized", i.e. buildable without IDE. That does not mean don't use IDE of course, just make sure it is buildable right after pulling the project from the repository, without starting your IDE.
Just yesterday I read this great article that might help you adopt some good habits right from the start: http://www.jamesward.com/2014/12/03/java-doesnt-suck-youre-just-using-it-wrong
In fact there are many amazing Java EE tools and frameworks, I think the best combination will be using:
Spring framework, Hibernate ORM and JSF (precisely Primefaces) because they all have highly active communities, Good documentation with great tutorials.
I have very good experience with Tapestry5 and for the model layer JDBC templates or JPA(Hibernate) which is an ORM tool like Entity Framework.
Tapestry5 is a component based framework and it works nice. Great support for AJAX. They have a quite big community and a lot of components.
You can also use JSF (check primefaces, richfaces) + Spring(or CDI) + model layer
If you want something for rapid development use Vaadin or Liferay.
You can also go with Spring MVC which is also a good choice.
For testing use Selenium tests which are just great.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
In the last period, I tried to learn something about the Google cloud technology and I quite liked it.
I made a test project for learning GWT bound to GAE, too. In my opinion, the web toolkit is a nice framework for building a Web 2.0 UI from scratch, for those who always worked with Java, but... I think my team is not ready for that, unfortunately.
So, I have to choose another front-end technology, rather than leave my mates writing thousands-code-lines JSP.
What do you recommend to me? Last year I worked a little with Spring MVC and Struts, but since the project we're going to start is a "green field", I'd like to go for a state of art framework.
Remember:
traditional "page" approach (html views, forms, and so on)
must work on Google App Engine
This link lists all the supported frameworks on GAE. After going through that list I'd either go with Spring MVC or Struts 1.
Here is a CRUD tutorial with sprint MVC to get you started.
If you have to go with GAE I would stick with GWT (if your devs are good they should be willing to learn :) ), or maybe a simple framework like apache click. Otherwise developing something other than simple Servlet/JSP is a pain even if it doesn't look so at the beginning of the project.
Try PLAY (http://www.playframework.org/), watch the video and I think you would be sold.
It supports GAE through a plugin (http://www.playframework.org/modules/gae). It states that it supports GAE 1.4 but we are using the 1.5.3 SDK and it works just fine. You can also use the siena plugin which is a hibernate-like layer for the GAE datastore. You can develop locally (and have the same file-backed datastore and in-memory memcache), once you are done, hit "gae:deploy", enter your email and password and you're done.
Let me recommend you using Spring MVC, but using Thymeleaf [http://www.thymeleaf.org] --of which I'm author-- as a view-layer technology instead of JSPs.
This combination will provide you with the traditional approach you require (HTML views, forms...) and at the same time will allow you to use a more elegant approach to prototyping and developing your HTML interface.
Good luck with your projects.
I would try Jello framework. It is a Java Application Framework optimized for Google App Engine including comprehensive Data Authorization model, a powerful RESTful engine, and out-of-the-box UI views.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to develop a basic web app very quickly (1 week) for a demo.
My requirements are
Java (I need to make use of existing Java libraries to access the relevant data)
2 screens
One for static data view, maybe some search parameters
Other for basic form entry
No fancy AJAX required
Ideally easy for a web designer to come in and tart it up as necessary, without having to rewrite everything
My first stop was going to be to checkout Wicket as I've heard good things about it. I don't have the time right now to dive into anything heavy, which probably writes off JSF in my mind (I played with JSF1, steep learning curve which I've now slid back down).
I'm happy to treat the result as throwaway so if there's a framework which starts of well but then doesn't scale up to bigger projects, that would be ok.
Any suggestions appreciated on frameworks/approach.
Spring roo can very quickly create web applications using GWT for CRUD, and tarting it up later. Check out the Keynote from Google I/O 2010 (Especially Day 1, Part 9) where the skeleton of a basic expense tracking application is developed from scratch in about 2 minutes.
GWT support is in Roo 1.1.0.M1
As a milestone release, Roo 1.1.0.M1 isn't intended for mission-critical use.
It is probably easiest to get in the form already integrated with the eclipse based SpringSource Tool Suite
I suggest the Play framework which has the huge advantage to be full Java (so less learning curve if you don't know Groovy). Check out the demo!
Use Groovy/Grails. Full access to all Java libraries and you will be done so much faster it will make your head spin.
This is from a hardcore java user, by the way. It's just not the appropriate language for most web apps.
Oh, you could probably also use JRuby on rails.
Google App Engine. There are some good video tutorials from Google that get you up and running in no-time.
http://code.google.com/appengine/
Intro (< 10 min): http://www.youtube.com/watch?v=bfgO-LXGpTM
Check out CUBA platfrom, it matches your requitements.
I can suggest GWT. It works on Google App Engine too if this is an internet app.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to start web developing with java. I don't know how to start, what to learn,
or what is the best web framework to learn and use. Help me out?
I assume, that you're only new to web apps and not to Java itself.
For a starter, I can recommend the Apache Wicket framework for the front end. Their web site is full of examples, the mailing lists are a great place to get started, and Wicket in Action was an enjoyable read.
If you want to work with Java Server Pages (JSP), then you should definitely also include Java Server Faces (JSF) which make working with JSPs a lot easier. I can't advocate any good books to you as I went for web tutorials mainly. You might want to have a look at Apache MyFaces.
For the business logik, I guess the standard is Enterprise JavaBeans (EJB). I liked Mastering Enterprise JavaBeans 3.0. An older version of the book is available for free at TheServerSide.com. You should avoid EJB versions older than 3.0, because they are a PITA!
A separate part of the EJB 3.0 specification is the Java Persistence API 1.0 (see, e.g., Apache OpenJPA though the documentation is patchy). Other frameworks that support JPA are, e.g., Spring or JPOX (now being called DataNucleus).
Finally, if you want an application server for testing, there are JBoss by RedHat, SUN's Glassfish and Apache Geronimo (I preferred the last one, but you may have noticed my preference for Apache projects already ;-))
Good luck!
Well if you do not know much about Java, then first I suggest going back and getting your foundation in Java strong first (cause after all JSPs are java code embedded inside HTML), then proceed to learning about servlets and then move on to JSPs.
As far as learning JSPs is concerned, I would suggest buy a book, Head First Servlets and JSP is pretty good book.
Head First Servlets and JSP
JSP Tutorial
Getting Started with Web application - JSP/Servlet
I think Grails is a great way to get started. You can use the scaffolding to get started quickly, which allows you to dip down into the more complex aspects of Java web development at your own pace. I recommend you watch this screencast to see what you think.
This is a big subject and you will need to learn a lot.
I can recommend first learning Java very well.
Head First Java - http://books.google.dk/books?id=5VTBuvfZDyoC
The Java Tutorial - http://java.sun.com/docs/books/tutorial/
You will need to be very proficient in Java, as most framework documentation expect this of you.
When you have those under your belt, you are much better equipped to determine which framework is best for you, as that very much depends on which facilities you actually need, and which you do not have any use for.
The WEB4J tool is likely worth a look.
It has a much smaller number of classes in comparison with other tools. It is "full stack", so it helps you build all parts of your web app. Thus, you don't have to learn several different tools - just one.
A college instructor related to me that he felt it was "almost perfect" for his students, since it was at just the right level, and didn't hide things behind complicated abstractions - it was plain to see how all the parts worked together.
If you know java you can always start reading this book, https://secure.manning.com/books/deshmukh It will give you the basic foundation for java web development.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
At my current job I've been working on making web apps with Java, Tapestry, Hibernate, MSSQL, and Tomcat.
I've got an idea for a little web game I'd like to write. I'd like to know what the SO community would use for something like this.
Should I stick to what I know? I was thinking it would be very beneficial for me to learn different languages and frameworks. Any suggestions?
If its a personal project then take this as an opportunity to learn something new.
Spring Framework using Spring MVC 3.0
I recommend learning something new because even if your idea is a failure, at least you learned some new technology out of it.
I can suggest Grails as it is a modern and easy to use RAD Web-Framework, has a small learning curve and is proven to be scaleable.
It builds upon Spring MVC, Hibernate and other sophisticated frameworks and merges them with the dynamic nature of Groovy (dynamic language for the JVM) into a full-stack webframework. It follows modern principles like CoC (Convention over Configuration) and DRY (Don't repeat yourself). You can deploy the applications straightforward as .war file in tomcat or any other servlet container or applications server.
My recommendation would be to see what you could do with a combination of Google App Engine, Django, and JavaFX.
In doing so, you'd learn some new technologies (App Engine) and languages (Python for Django, JavaFX) while taking advantage of what you already know about web apps and Java.
I'd pick Haxe.
Haxe (pronounced as hex) is an open source programming language
While most other languages are bound to their own platform (Java to the JVM, C# to .Net, ActionScript to the Flash Player), Haxe is a multiplatform language.
It means that you can use Haxe to target the following platforms : Javascript, Flash, NekoVM, PHP, C++, C# and Java
If your thinking about an online game like a RPG or card game I might be selfish and suggest you have a look at Project Darkstar and let us know how you got on. I've been trying to get started with it and cannot get it up running in my environment.
PHP and MySQL is an easy place to start for web apps. Your ISP will support it and there are tons of tutorials on the web.
Once you have got the hang of it, take a look at MVC architecture. It's a way of structuring web apps.
Personally I'd then recommend looking at CodeIgniter.
However a game is a different matter, maybe try Flash?
If you want to improve your skills push what you already know. If you want to learn new languages and ways of doing things, then look at alternative technologies and stacks.
It all depends on what your goals are...