This week, we'll add an additional layer of complexity and interactivity to everything we've learned so far. We'll continue to write object-oriented Java applications using the Behavior-Driven Development process, JUnit, and Gradle. We'll also begin creating web-based front-end user interfaces with a tool called Spark.
Over the weekend we'll learn a little about how the internet in general works. This includes HTTP requests and responses, IP addresses, and the meaning behind URL. This may be review for some students, but this information will assist greatly in our understanding of the Spark framework, and the complex routing that will occur in our apps.
Then, we'll learn about a tool called Handlebars that will allow us to create dynamic, reusable HTML to display in our web applications. With Handlebars, we'll even be able to execute small amounts of Java logic directly in our HTML!
When we can successfully create and launch Spark applications in our browser we'll begin integrating more and more user interactivity. First, we'll add forms to collect information and dynamically display results. Then, we'll create, manipulate, and display entire Java objects with user-provided information.
Beginning on Monday, we'll spend multiple days building a much larger project together. We'll create a simple blog where we can store posts and comments. We'll start by creating a basic application with only a few pages. Throughout the week we'll integrate more features, including class-wide methods and variables to keep track of all objects, saving objects of one variety within objects of another variety to better organize our applications, and RESTful routing that follows best practices. We won’t be storing data in a database yet, but once you have worked through week 3 of our curriculum, you’ll be able to add a database for data persistence
There will be a lot of new information introduced in the early and mid portions of the week. We'll spend extra time practicing all these new concepts on Thursday. Only a few additional tips and tricks will be introduced Wednesday night; like automatically cleaning up between tests, creating project templates, and handling errors.
It's going to be a great week!
At the end of the week, you will create an independent project using the concepts we've learned. It will be reviewed for the following objectives: