Engineering Full Stack Apps with Java and JavaScript
Java, being one of the most popular programming languages, has many frameworks, and some of these frameworks even solve similar problems. So the question is to use which framework or feature to solve a particular problem. You can read about our current technology directions and some reasons for chosing one framework or feature over the other here.
As you might have already seen and guessed from the website name itself, this website is mostly about Java programming language.
Java has lots of frameworks and design patterns ready to be used and have already solved many programming problems. Java also has lot of job opportunities.
Our approach is more oriented towards web services and lightweight frameworks like Spring and Hibernate.
I am not telling EJBs are not good. They have evolved well and have become lighter than before, but still need an application server like Glassfish, Websphere Application Server, JBoss or Weblogic. Lightweight frameworks like Spring and Hibernate, can be used to get the same functionality and only requires a web container like Apache Tomcat.
Our approach is more oriented towards web services and lightweight frameworks which are less complex and doesn't require an application server, but only a web container to deploy. With the introduction of RESTful webservices, webservices have become more easy to learn, code and even deploy. We will also be giving more preference to REST over SOAP.
I recently got questions on whether Swing or JavaFX should be chosen for a new desktop UI project. Swing is mature enough, but JavaFX is the future path of Java according to Oracle who are now the owners of Java. When Oracle itself says so, who am I to say otherwise. Refer to the link http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html where Oracle confirms it is the replacement for Swing and its future path.
Comparing JavaFX vs Adobe Flex I strongly believe JavaFX is the way now eventhough I have worked more on Adobe Flex. The fact that it is from the owners of Java and is free are good enough reasons. Adobe is also moving most of the Flex to into a community-driven open source project (Ref: http://www.adobe.com/devnet/flex/whitepapers/roadmap.html) mainly due to other competing technologies such as JavaFX and HTML5.
So we are also planning to start a new tutorial series on JavaFX. Watch out our facebook page for details.
By the way, we are not against HTML5 and we already have another website www.ososys.com where we will discuss more on HTML5.
Currently Spring MVC is much popular than Struts.
We will mostly use a Apache Tomcat, which is a web container for our examples. An application which can be deployed on a web container should work on an application server, but not the reverse.
We will mostly use eclipse for our training and development as it is more popular and has enough plugins for most use case. We are not against Netbeans which is also a good IDE, but in our software industry experience we have been using eclipse for almost all projects till date. You can find our eclipse notes @ eclipse-ide-notes.
Personally we also prefer intellij, if you can spend some money.
We will mainly use Oracle, MSSQL Server and MySQL DBMSs in our tutorials.