Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Building Applications with Spring 5 and Vue.js 2

You're reading from  Building Applications with Spring 5 and Vue.js 2

Product type Book
Published in Oct 2018
Publisher Packt
ISBN-13 9781788836968
Pages 590 pages
Edition 1st Edition
Languages
Author (1):
James J. Ye James J. Ye
Profile icon James J. Ye

Table of Contents (23) Chapters

Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
1. Modern Web Application Development - This Is a New Era 2. Vue.js 2 - It Works in the Way You Expected 3. Spring 5 - The Right Stack for the Job at Hand 4. TaskAgile - A Trello-like Task Management Tool 5. Data Modeling - Designing the Foundation of the Application 6. Code Design - Designing for Stability and Extensibility 7. RESTful API Design - Building Language Between Frontend and Backend 8. Creating the Application Scaffold - Taking off Like a Rocket 9. Forms and Validation - Starting with the Register Page 10. Spring Security - Making Our Application Secure 11. State Management and i18n - Building a Home Page 12. Flexbox Layout and Real-Time Updates with WebSocket - Creating Boards 13. File Processing and Scalability - Playing with Cards 14. Health Checking, System Monitoring - Getting Ready for Production 15. Deploying to the Cloud with Jenkins - Ship It Continuously 1. Other Books You May Enjoy Index

Introduction


If you're creating a résumé page for your personal website, it will most likely be sufficient to write it in vanilla JavaScript, HTML 5, and some creative CSS style sheets that make it look special and unique. And if you're creating the jobs page of your company's official website, doing it barehanded might work. But if you use a number of frameworks to style the page and to process logic and animations, you will find yourself in a much better position that you can still go home from work earlier than usual and enjoy a cup of coffee with friends at the weekend. And if you're building something likeMonster (https://www.monster.com/) I hope that you are not just carrying those favorite frameworks with you to the battlefield, and if you go barehanded, you wouldn't even make it there. With the level of complexity of such an application and the fact that you will need to keep improving or changing features because of the neverending stop-change requirements, you need to bring the tools for modern web application development with you.

Note

Sometimes, people use the term vanilla JavaScript to refer to using plain JavaScript without any additional libraries, such as jQuery, Lodash, and many more. That means that you write your code with only the APIs that the JavaScript language itself provides.

In this book, we will create a modern web application called TaskAgile, which is a Trello-like application for task management. Let's first get an overview of the technologies that we will use to build it.

For the frontend, we will use Vue.js 2 as our frontend application framework, Bootstrap 4 as the UI framework, and we will write our frontend in ES6, also known as ECMAScript 2015, or ES 2015, and then use Babel to compile it into ES5 code. We will use ESLint to check our JS code to make sure it follows all the rules we defined and use Flow (https://flow.org) for static type checking. We will use Jest to write our frontend unit testing's and use Nightwatch.js to run our end-to-end test cases. We will use webpack 4 to bundle all the dependencies and use npm to take care of the package management.

For the backend, we will use Spring Boot 2 to create a Spring 5 application. And we will use Hibernate 5 as our object-relational mapping (ORM) framework, and MySQL as our database. We will use Spring Security for authentication and authorization, and we will implement a real-time-update feature with Spring WebSocket. We will use Spring AMPQ for asynchronously processing background tasks and Spring Session for server-side session management.

Now, before we introduce Vue.js 2 and Spring 5, for readers who are not familiar with JavaScript, let's learn the basics of it, starting with the part that Java developers would easily get confused with. 

 

You have been reading a chapter from
Building Applications with Spring 5 and Vue.js 2
Published in: Oct 2018 Publisher: Packt ISBN-13: 9781788836968
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}