Enter Your Email Address to Watch This Lesson

Your link to unlock this lesson will be sent to this email address.

Unlock this lesson and all 832 of the free egghead.io lessons, plus get Angular 1.x content delivered directly to your inbox!



Existing egghead members will not see this. Sign in.

Just one more step!

Check your inbox for an email from us and click link to unlock your lesson.



AngularJS Architecture: Series Introduction

2:32 Angular 1.x lesson by

Ready to start learning about AngularJS Application Architecture? This lesson series is for you. Let's talk about what you will learn.


egghead.io comment guidelines

Avatar
egghead.io

Ready to start learning about AngularJS Application Architecture? This lesson series is for you. Let's talk about what you will learn.

Avatar
SAURAV

Where can I get the source code for this tutorials?

Avatar
Lukas

Hi Saurav --

The code is linked in the next lesson.

In reply to SAURAV
Avatar
Santhosh Kumar

What is the editor that you're using? Would be helpful if you can add the tools used in the getting started series as well to newcomers!

Avatar
Lukas

Hi Santosh! Great suggestion!

In the meantime, I am using WebStorm from JetBrains. It comes with an incredible Angular plugin right out of the box that saves me a ton of time. There are too many features to list but trust me... it is excellent!

In reply to Santhosh Kumar
Avatar
Victor Alfonso Hazbun Anuff

is this course still up date on best practices for organising AngularJS applications?

Avatar
Victor Alfonso Hazbun Anuff

how the code should look like if we work with a real JSON API, what things needs to be change?

Avatar
Lukas

Hi, Victor -- this concepts covered are still applicable to Angular 1.x applications. The main points are to organize by feature, keep your controllers small and your models fat.

Also, you can see a pretty simple pattern for hooking up $http a real REST API in this series which starts here http://onehungrymind.com/build-simple-rest-app-angularjs-part-1-node-api-strongloop/

Hope that helps!

In reply to Victor Alfonso Hazbun Anuff
Avatar
Michal

What do you think about create course about ng1 all written in typescript ? It could be very helpful.

Avatar
Lukas

I think that is a great idea! :D

In reply to Michal
Avatar
Petr

I would love to see one!

In reply to Michal

Hello. Lukas Ruebbelke here, and welcome to the Eggly Architecture Series.

In the previous series, we introduced a lot of AngularJS functionality over the course of building out Eggly, our bookmarking application. The end result is that we had a really neat application that essentially exists in two files, with all of the JavaScript living in a single controller.

This is entirely appropriate for introducing new concepts and for illustration purposes. Eventually, we need to apply this to real-life scenarios.

In this series, we are going to shift our focus from functionality to architecture, and how to architecture AngularJS application in the "real-world". We are going to cover four main topics that will help you create AngularJS applications that will scale and not fall apart as the demands and complexity increases.

The first thing that we're going to cover is file structure. How do you actually structure your files and folders in a way that you can add in new features without getting lost in hierarchy?

Then, once we've established that, we're going to talk about submodules and how to use submodules to organize your code into, essentially, containers so that the end result is that your main application is really just a composition of smaller, more specific pieces of code.

Then, from there, we're going to learn how to actually navigate the unique states of our application using UI-Router.

Then, from there, we are going to use services and models to abstract out our business logic and domain model into a place that the rest of our application can use, but it's not encumbered by that. What I mean is that your business logic is in the model, allowing your controllers and views to be lightweight and very specific.

I'm absolutely thrilled to spend the next series of lessons with you, as I'm confident you're going to learn some great techniques that you can start to use immediately on your own projects and with your own team. I look forward to seeing you in the next video.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?