Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Spring Basics course review

I'm only about halfway through the Spring Basics course:

https://teamtreehouse.com/library/spring-basics

..and it's proving real slow going...


The intro part left me wondering:

1.) Why use Java to make a web app?

and/or

2.) Why use Spring?

I know there are probably other alternatives, but they aren't even mentioned (even if only to establish some "context" why we Spring offers advantages over the other ways to generate a web app?)

Right away (after that) the course just plunges into setting up tools.

I've spent a lot of time setting up IntelliJ over the years for various projects and saying "just go run download and run the install file.." followed by "we're back and now that IntelliJ is all set up..."

That's just seemed like it glossed over too much and was rushed/hurried.

Some links should have been provided like: https://www.jetbrains.com/idea/help/project-and-ide-settings.html https://www.jetbrains.com/pycharm/help/settings-preferences-dialog.html

I still have a lot of old java projects that were done in Eclipse so this comes in handy:

https://blog.jetbrains.com/idea/2014/01/intellij-idea-13-importing-code-formatter-settings-from-eclipse/

Like most of the course it seems like it's trying to cover too much ground too fast.


I starting think (as I was going thru the course) this single Spring "Basics" course could/should actually be three courses:

1.) Exploring IntelliJ as an IDE (including all possible config options)

Here's a Treehouse thread where a guy named Sam Moschler expresses his frustrations:

https://teamtreehouse.com/community/trying-to-incorporate-intellij-idea-losing-my-mind

with Treehouse's lack of coverage with IntelliJ and only gets a some

empty meaningless sympathy from Ken:

I understand the frustration, both as a beginner and attempting to utilize IntelliJ as an IDE for the Java courses here at Treehouse.

2.) Configuring Spring (and I guess working with git, which I hate)

--I love Filezilla (drop and drag files to a server), but I hate git all the extra

source control stuff just to get files uploaded to a server

3.) Making your first Spring web app (I prefer Roo over Thymeleaf, but

isn't Apache Tiles valid any more for templating?)


Overall the "High level view" section left me with was a bad case of altitude sickness.

Please slow down and stop throwing out acronyms.

Try to explain things in way that is somewhere between these two modes:

1.) Neck deep in Thymeleaf code

2.) Cartoon time for kindergarten kids. (I guess this sets it apart

from Instructor Love's dry and boring python courses, though).


The MVC section should have been BEFORE the high level view

(or maybe incorporated more with it).

.

Here is my "high level" overview of the way Spring seems to

works (in terms of code organization):

1.) The Giflib "data" folder contains the "Model" part of MVC

2.) The Giflib "Model" folder is really the templating for the "View" part of MVC

3.) The Controller folder contains code for controller middleware (or "business logic") part of MVC.


At one point toward the end the instructor seems to feel the need to give a little pep talk,

mentioning how all this stuff isn't easy.

That's about the one thing in this course I could agree with..


I'm surprised more people have posted questions about this course.

I think I'll wait a while before sloughing thru to the end.

Everything shown in this course cries out for a set of higher level automation tools.

IntelliJ is a great IDE but making all the pieces mesh and gear together just

seems to need something more for a faster RAD (Rapid app Development) deployment

of a Spring-with-Thymeleaf app.


Re: Java

I think Java is still struggling to have any "traction" in terms of developer mindshare

past it's use in Android apps.

Swing and AWT still sucks for 2D graphics (and UI controls).

OpenGL still sucks as anything other than a rendering engine.

In attempting 3D graphics with Java, it still lacks any sort of higher

order "scene management" and 3D character controller "toolsets" and APIs.


Re: 3D graphics

Now that I "slipped in" the subject of 3D graphics

(for a course only designed to handle 2d graphics),

I've been playing around with the Unity for Android apps. Looks promising.

Hopefully the Treehouse course roadmap for Unity kicks into high gear

with a set of courses on developing an advanced 3D game

(like an Dungeon Siege 2 style RPG):

http://scottbilas.com/files/2003/gdc_san_jose/continuous_world_paper.pdf

http://scottbilas.com/files/dungeon_siege/TankStructure.h

https://github.com/glampert/reverse-engineering-dungeon-siege

..including designing game "resources' using Maya, 3D Max, or GMax.

I like the way Dungeon Siege uses very few load screens compared to most

RPG engines like Neverwinter Nights or Bioware's ancient

Infinity game engine (Baldur's Gate series , Planescape, etc).