So, what is SPA?
"Single page apps are distinguished by their
ability to redraw any part of the UI without
requiring a server roundtrip to retrieve HTML.
This is achieved by separating the data from
the presentation of data by having a model
layer that handles data and a view layer that
reads from the models."
Why do we need SPA?
"The main reason is that they allow us to offer a
more-native-app-like experience to the user."
Sadly speaking, yes!
Just 'more'...it's not really native.
If GMAIL (web version) is not a SPA, will it
If you wait 2 seconds longer, will it really
It's harder than the usual web apps
It's duplicating validation step, but I guess it's
quite normal nowdays
Unless you have a damn good reason to build it
as SPA, maybe, just maybe......deep down
inside, you are a masochist developer
We just love to challenge ourselves!
What does SPA look like?
Notice the URLs!
OK, so where should I start?
AngularJS Home Page
That sounds nice!
And here comes the famous Hello World
Followed by simple TODO app!
And suddenly they talk about modules,
directive, dependency injection, service,
Rule of thumb
Don't be like,
"A solution tries to find a problem"
"A problem tries to find a solution"
So what is the problem (goal)?
I want to create a SPA where:
1. I can manage my todo list
2. I can manage category of my todo list
3. Normally, I only need to see the dashboard
page where all my todo list is group by category
and I can check/uncheck the list items
OK, let's set up the project
You can manually setup your project folder
You can use available project templates out