Why learn Java?
- Java has been leading the TIOBE index (a measure of popularity of programming languages) for the last 3 years by a large margin
- It’s a mature language (20+ years old) with a vast and lively ecosystem with quality open-source tools for basically anything (Apache Commons, manipulating Excel, messaging, Object-Relational Mapping, real-time streaming, distributed in-memory cache, distributed scheduling, reporting, full-text search engine, etc.). You name it, we have it
- There’s a reason why it’s been used heavily by most tech giants (Google, eBay, Netflix, Apple, etc.) and most financial institutes
- Currently, there’s a shortage of Java developers. Companies just can’t find enough skilled Java developers
Why Learn the Spring MVC/Spring Framework?
- It’s the de facto standard for building enterprise applications in Java
- It’s used by companies like Netflix, Groupon, Cisco, BMW, etc.
- It’s way more productive than using Java Enterprise Edition
- It’s one of the most mature Java web frameworks
- It’s not just an MVC, but a whole platform. When you use Spring MVC, you get a dozen other Spring frameworks for “free”, including:
- Spring Boot – Spring on steroids
- Spring Security – for authentication/authorization
- Spring Data – the simplest and easiest way in Java to communicate with both SQL and NonSQL databases
- Spring Cloud – to run the application in the cloud and to benefit from the open-source netflix libraries
- Spring Batch – for batch processing
- Spring Social – to easily integrate with APIs like Facebook, Twitter, Linkedin, etc.
- Spring XD – that simplifies development of big data applications