At my work I'm using C#, Microsoft SQL Server, Windows Server and Microsoft Visual Studio. As you can see I'm totally in the Microsoft world.
But i want to broaden my development knowledge and start with java again. I had java classes at school, but my first development job was in .Net VB and till then I'm stuck in the .Net world. It's not that I don't like .Net. I love Visual Studio in combination with R#, and the SQL Management Studio is also very easy to use and very comfortable.
I have good knowledge of ASP.Net Webforms and started with the release of ASP.NET MVC 2 creating intranet applications using this platform.
I want to create small web applications at home with java and want to know, what tools you, as an experienced java developer, can recommend me.
For the IDE: I've used eclipse in version 3 i think and it was around 2004. Is it still a good free IDE or are there now some better ones? Or would you recommend NetBeans or the community edition of IntelliJ for web development?
Is the equivalent of Asp.Net MVC the Spring Framework in Java?
What else do I have to look for, for a smooth switch from java to .net?
Thanks in advance to everybody...
I would go with Intellij, but that is a personal preference.
As for Spring, it definitely is a useful tool to have in your back pocket or on your resume. It provides most of the stack you'll need to develop an application. The biggest missing part is persistence. It interacts with all the popular persistence frameworks out there, Hibernate being the one I would use, so that isn't really an issue.
If you don't like the Spring web framework, you can with others like Struts2. You can use Struts2 with Spring instead of their own MVC framework. Also, there's Guice, which is a dependency injection framework like Spring, which I like better than Spring.
There's also the Play! framework, which attempts to be a full stack like Rails. I've only looked at it briefly so I don't know too much about it. It looks good, though.
Just my 2 cents.
Related
I want to create a desktop application using Java, but I'm new to desktop development and Swing. From web development I know I have to apply MVC to my project. Are there any tools or frameworks that simplify this task? Because I am a web developer I know such tools and frameworks exist for PHP. Are there any books that explain how to structure my project? My IDE of choice is Eclipse. So far I found this article http://www.oracle.com/technetwork/articles/javase/mvc-136693.html
Java Swing components are already the "V" and "C" of the MVC approach. You have to add the models part. In fifteen years of Java I have never found any tools that are better than knowing the Swing components back-to-front. The Swing tutorials from Oracle are the best free way to start.
The Eclipse Rich Client client platform (RCP). This PDF(http://wiki.eclipse.org/images/6/61/Frank_Gerhardt_Eclipse_Data_Binding.pdf) has a complete overview of applying MVC in RCP.
I know I read about people using the Spring framework for rich desktop applications. The Spring Rich Client Project (Spring-RCP) hasn't been updated since 2009, so I'm not sure how many people are doing this with Spring.
Griffon ( http://griffon.codehaus.org/ ) is a framework specifically built to make desktop MVC easy to do. It's in Groovy, a dynamic, Ruby-like language built on the JVM, in which you typically write code in Groovy, but can also mix in Java code.
You can see an introduction with an example that I posted on my employer's blog at http://blog.chariotsolutions.com/2010/12/painless-java-desktop-application.html
Does anyone know if there is any equivalent to Microsoft's ASP.NET Model View Control Framework with Visual Studio/C# but for Eclipse with Java?
Or put it another way one could build a website in C# using MS Visual Studio with ASP.NET MVC, is there anything similar for Java using the Eclipse IDE?
I've built up good knowledge with Java and the Eclipse IDE creating some Android Apps that I'd like to leverage, now I need to turn my attention to web apps and I'd like to stick with Java and the Eclipse IDE. Cheers!
There are a bunch. I'd check out Play!
but there are also: Apache Wicket, Spring MVC and some others.
There is also a version of Play! for Scala which is a bonus if you intend on moving up from Java to Scala one day.
There is also a similar question with a more detailed answer here:
Choosing a Java Web Framework now?
Spring MVC is worth a look. Spring goes way beyond "just" MVC, with APIS for DB, JMS, and loads more, which may be a little offputting if you're just keen to get to grips with an MVC platform, but it's arguably worth it.
http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html
http://static.springsource.org/docs/Spring-MVC-step-by-step/
Tapestry or Wicket is worth trying.
Yes, there are a lot of them. Your problem is that there are too many, actually. Narrowing down the list can be a challenge. Everybody has their favorites (mine is Apache Tapestry, because it's actually fun to use, and very powerful).
My recommendation is to pick 3 or 4 (I'd go with Tapestry, GWT, Spring MVC and Wicket), and then spend a couple days working through the introductory tutorial that each of them offers. You'll soon know which one feels right to you, and you'll be basing your decision on your own experience rather than the strongly-worded opinions of strangers.
in your opinion, what is java web framework that most close to or similar to the paradigm of the Ruby on Rails (like convention over configuration, DRY, noXML, etc), but without the need to learn scripting languages like Groovy. And of course have a great documentation and community.
Take a look at Grails which follows the paradigms of Ruby on Rails.
You can take a look to Play Framework it follow MVC and RESTful architectures.
Maybe too late, but have looked at Spring Roo?
This question is a bit old, but this information may still be useful for people looking for a good java framework:
Try ninja framework (http://www.ninjaframework.org). I have tried various java web frameworks and this one was by far the easiest to setup and use. Just follow the tutorial on their page.
Developing with it is very easy, ninja web projects are standard Maven projects so you can open them with any ide that supports Maven. For example, you can open the project with Netbeans, and have the development server running in a commandprompt/terminal window. Any time you save your changes the development server will pickup your changes and restart very quickly.
Or you can use a standard text editor if you want.
Very comfortable to develop with. You can also debug very easily from Netbeans (http://www.ninjaframework.org/documentation/debugging.html)
Note: if you use an ide like netbeans, you dont actually run the project from netbeans, you just edit your changes on the ide and save. The development server picks up the changes automatically.
I think Stripes is what you are after.
http://www.stripesframework.org/display/stripes/Home
You can also take a look at Java on Rails
http://www.javaonrails.net/
I've been doing quite large application recently with Java - Swing. Now I'd like to move to web. Basically - I am not Microsoft guy, Java is fine with me. I've checked some basics of Java EE framework and decided that my choice will be Spring. I already am familiar with JDBC. Learning Spring is one thing, but working just with GUIs (C++ and Java) means that I have very poor knowledge of web development.
Before I start reading tutorials of Spring MVC, what should I know to develop web solutions? I am mainly interested "how to" with graphics ... start from scratch or some nice IDE RAD-like development ? I kind of like f.e. Silverlight and integrating to web or asp.net win forms - allows us 'GUI' people develop faster. So can you please give me some useful advices?
Thanx
You might want to check http://code.google.com/webtoolkit/ for some client-side GUI javascript code compilationn from Java language. The code might even look like Swing in a way :)
Another thing of note is, perhaps you might want to use something like Hibernate with Spring instead of using JDBC.
In web, the GUI is mainly done by CSS. You can find here a quick CSS tutorial/reference. You get here some ideas of the capabilities of CSS. The "raw" UI part is done by plain HTML, which are in case of a Java EE webapplication usually served up from good old JSP files or in case of JSF, Sun's own MVC framework, also from XHTML files, powered by Facelets.
Talking about JSF, there exist several rich UI component libraries which can be used on top of JSF, such as RichFaces (showcase here) and IceFaces (showcase here). With those libraries you don't need to pull the hairs out to do the CSS based look'n'feel work.
Spring MVC doesn't offer any rich UI component libraries like that. Spring is in my honest opinion also obsolete in the improved Java EE 6 API which (finally) offers many Spring-like facilities out of the box.
Before you start learning Spring, consider Grails. It is built on top of Spring and Hibernate and it is much easier to learn and use. Grails use Groovy, but if you know java, learning groovy is very fast. Developing Java EE or Spring apps is just too painful and boring. And you can use grails with NetBeans or Eclipse.
Im porting a project from php to java. The project is a web-app based on php and ajax techniques with a javascript front-end. What java-frameworks would you use for something like this?
Does the result have to be written in Java, or does it just have to run on the JVM? In the latter case, you might want to consider Grails, which uses Groovy, a Java-based dynamic language that compiles to Java byte code and has full access to the Java standard API.
How well do you know Java?
Why are you porting it?
I can't really tell based on your description, but there are lots of Java web frameworks out there. Pick one. I prefer Spring.
I fear that you're about to be very disappointed. I anticipate a lot of questions like "Why can't I do X in Java? It's easy in PHP!"
Apache Wicket is a possible java based web framework you might consider. The default would be the java servlet and jsp frameworks.
without seeing the source code - you will need a complete rewrite. just "porting" will probably not work.
out of all available frameworks i'd recommend two: wicket if you want clean lightweight technology. with ajax. jsf/seam if you are in a corporate environment where it it easy to get tons of experienced developers.
I really like Stripes.
There's a really good book out on it too. Stripes ... and Java Web Development is Fun Again.
This question seems to come up alot. Related:
What Web Application Framework for Java is Recommended?
Best java mvc framework implementation for web apps
Does it make sense to use a framework for a simple java web app?
What language/platform to choose for a new web application?
In my opinion you would still do the same but generate the html with JSP and javabeans instead of php. javascripts and ajax will still work without a problem if the outputed html is the same.
It depends by the size of your project, the features and your resources.
If the project have'nt a lot of particular needs you can use Struts. Thsi is a stable framework, not really advanced but simple and powerfull for the development.
Another frameworks more recent and advanced are Spring and Wicket.
Before you start, I recommend you to do a check-list of your need:
Do you must porting a O/R mapping too?
Have you a stable developer knowing Java/J2EE?
Do you think to add some feature during the porting or in short-run?
etc etc
good luck! :)
I would port it to GWT
Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript. GWT is used by many products at Google, including Google Wave and the new version of AdWords. It's open source, completely free, and used by thousands of developers around the world.