Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

The information about the course Web Development for Java Programmers

Notifications You must be signed in to change notification settings

gAmUssA/WebDevForJavaProgrammers

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
47 Commits
 
 
 
 

Repository files navigation

Modern Web Application Development for Java Programmers

Java ecosystem offers lots of different ways to architect, develop, and deploy a distributed Web application. The parallel ecosystem known as HTML5 offers lots of different ways to design, develop, and deploy the cross-platform UI that works on multiple Web browsers and variety of devices.

Enter The Modern Web Application Development

This online training class will give you a practical knowledge of developing front and back end components by immersing into an environment similar to a real-world enterprise setup. Be prepared to download, install and master lots of various software packages that will be used at different stages of training.

We’ll spend about 40% of the time developing User Interface in HTML5 and about 60% working on the server-side Java code. During the first three sessions we’ll be working only with HTML and related JavaScript libraries. The server side Java programming starts on session 4, when the UI is ready.

Course Outline

  • Unit 1. Creating a wireframe of the UI of the online auction. Developing and Debugging in HTML/JavaScript. Fast pace introduction to JavaScript. Intro to GIT/Github. Think mobile: Intro to Responsive Web Design. Mocking up the UI. Creating the first prototype of the auction in pure HTML/JavaScript/CSS. Configuring the auction project in IntelliJ IDEA. Styling with Bootstrap. Here’s the timeline of this lesson.

  • Unit 2. Becoming productive with JavaScript: Intro TypeScript. Intro to Google AngularJS framework. Configuring libraries in IntelliJ IDEA. Re-creating the first two pages of the auction app. Installing NPM and Grunt. Configuring Grunt. Here’s the timeline for this lesson.

  • Unit 3. Creating the second prototype of the UI with AngularJS. Scopes. Adding more tools: package management with Bower. Project scaffolding with Yeoman. Here’s the timeline of this lesson.

  • Unit 4. AngularJS framework in depth. Forms, REST interaction and custom reusable components. Mocking up server side with AngularJS.

  • Unit 5. Introducing Test-Driven Development in JavaScript. Test-driven is not test-first. Creating test scripts for models, views, controllers with Jasmine.js. AJAX. JSON. REST, HATEOAS. Creating the third prototype of the UI (consuming JSON from the server via HTTP protocol). Here’s the timeline for this lesson.

One week break for self study and catching up.

  • Unit 6.

    Prerequisites

  • Install JDK8

  • Install WildFly server (TBD link)

  • Configure IDE (TBD link to video)

    Java SE 8. Overview of the new features (lambda-expressions, Streams API, Default Methods in interfaces). Applying bulk operations on the collections of auctions items. Java build automation with Gradle. Test-Driven Development in Java. JUnit and Spock. Here’s the timeline of this lesson.

  • Unit 7. Java EE 7. Overview of the new features. Creating the Java EE version of the server-side auction (JAX-RS, CDI). Intro to WebSockets (WebSocket API, JSR-356). Pushing the auction data to the client using WebSocket.

  • Unit 8.

    Prerequisites

  • Install DBMS server

  • Configure IDE to connect to the database

    Creating data storage for online auction. JDBC vs JPA. SQL mapping framework MyBatis. Database versioning and migration (Dev → QA → Prod).

  • Unit 9.

    Prerequisites

  • TDB

    Intro to Java Messaging. Configuring Messaging Server (mocking a bidding engine). Testing communication between the Java EE application and messaging servers. Load testing with JMeter.

  • Unit 10. Spring Framework 4 (core, security, MVC, JdbcTemplate). Creating the Spring version of the server-side app. Integration with the auction UI. Code review and discussing the final version of the online auction Web application.

Prerequisites

Attendees should plan on committing about 15-20 hours a week for studying and working on the assignments from this course. We’ll split the class into small teams to work on the assignments during the week, so your contribution is required.

Attendees must know basic HTML tags (see http://docs.webplatform.org/wiki/html/tutorials ).

While we’ll spend 15 min in Unit1 covering Git basics, we recommend you to watch this video before this training starts.

Attendees must have a working knowledge of core Java, and understanding of Java EE technologies.

Each attendee has to have a modern computer with plenty of disk space (4+ GB of RAM is recommended).

Having a decent Internet connection (more than 2Mbps) is a must.

How

This class will be a a mix of theory (40%) and practical work (60%). During this training attendees will develop an online auction. This auction should look good and be functional on desktops, tablets and smartphones.

This training will consist of 10 weekly online live sessions on the weekends (each session is about 3hr and 20min) and 9 optional-to-attend one-hour meetings in between. We’ll use screen-sharing software. Attendees will be able to hear and see the instructors and will communicate with them via a chat room.

When’s the Next Training

The registration page of the upcoming class is here.

Tools and Technologies

Here’s the current list of the software that we’ll use in this course.

Front end

Middle Tier

DBMS

  • Oracle

Miscellaneous

  • JetBrains TeamCity (continuous integration, code coverage)

  • Git (version control system), GitHub (Git hosting service)

  • IntelliJ IDEA IDE Ultimate. Our special thanks to JetBrains for providing free classroom license for all the students enrolled into this class.

FAQ

  1. I’m a professional programmer, but have never actually worked in Java. I took some classes both in SE and EE, worked though several Java books. Would it be enough?

    We don’t know. It depends on your ability to learn new material. If your Java is a little rusty, start watching Java video lessons by Yakov Fain - they are being published weekly.

  2. I have Eclipse Juno with Java EE 7. I’m currently taking Intro to Android Programming and would prefer to keep my existing setup.

    In this training we use IntelliJ IDEA IDE as it has good support of both JavaScript and Java. All instructions will be provided for this IDE only. Instructors will not be addressing issues related to Eclipse IDE.

  3. What other software do I need to have installed on my laptop?

    We’re providing instructions for the software required for each lesson as we proceed.

  4. How deep knowledge of SQL is required? I’m OK with not too complicated queries.

    No deep knowledge of SQL is required.

  5. Are we starting JavaScript practically from scratch?

    Yes, but in a fast pace.

  6. How much "extra help" will be available if I’d be having a trouble with something?

    Students communicate with each other by posting questions/answers in the forum. Instructors are monitoring this list too. Also, there is one hour consultation time between the lesson where instructors answer questions.

  7. Do I need to know GIT for this course?

    Yes, you do. Please watch this video to get familiar with GIT and GitHub.

  8. I’m still not sure if I can absorb all these materials within 10 weeks

    This is an intensive training that’s targeted busy professionals who need to master new software in a fast pace. If you can’t commit 15-20 hours a week for studying, do not enroll as you’ll be wasting money.

Instructors

This course is taught by three instructors who are practitioners employed by Farata Systems:

  • Yakov Fain (USA) - Co-founder of Farata Systems, the IT consultancy. Java Champion. Organizer of the Princeton Java Users Group. Authored and co-authored a number of technical books on programming. Yakov presented on various international conferences on Java and JavaScript related topics.

  • Viktor Gamov (USA) - Lead software developer in Farata Systems. Helps financial companies with various Java and HTML5 projects. Co-organizer of the Princeton Java Users Group. Co-author of the O’Reilly book on Enterprise Web Development. Viktor presented on various international conferences on Java and JavaScript related topics.

  • Anton Moiseev (Russia) - Lead software developer in Farata Systems. Specializes in developing e-Commerce applications. Enjoys everything HTML5-related. Authored and taught trainings on developing Web applications with Ext JS framework.

Other professionals from Farata Systems may also be invited to share their experience in developing and deploying complex enterprise systems.

About

The information about the course Web Development for Java Programmers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.