From df4cc1a5939596c2d117ea60304958787d3ea331 Mon Sep 17 00:00:00 2001 From: Aashish Nagpal Date: Sat, 6 Feb 2016 18:54:57 +0530 Subject: [PATCH 1/4] docs(README.md): add purpose section Add a new purpose section to enable newcomers (technical and non-technical) better understand the purpose of AngularJS --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b3e6c71c4d9c..a25766720527 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ piece of cake. Best of all?? It makes development fun! * Developer Guide: http://docs.angularjs.org/guide * Contribution guidelines: [CONTRIBUTING.md](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md) * Dashboard: http://dashboard.angularjs.org - + Building AngularJS --------- [Once you have your environment set up](http://docs.angularjs.org/misc/contribute) just run: @@ -43,3 +43,26 @@ To learn more about the grunt tasks, run `grunt --help` and also read our [![Analytics](https://ga-beacon.appspot.com/UA-8594346-11/angular.js/README.md?pixel)](https://github.com/igrigorik/ga-beacon) +What to Use AngularJS for and When to Use it +--------- +AngularJS is the next generation framework where each component is designed to work with every other component in an interconnected way like a well oiled machine. AngularJS is JavaScript MVC made easy and done right. (Well it is not really MVC, read on, to understand what this means.) + +#### MVC, no, MV* done the right way! +MVC, short for Model-View-Controller, is a design pattern, i.e. how the code should be organized and how the different parts of an application separated for proper readability and debugging. Model is the data and the database. View is the user interface and what the user sees. Controller is the main link between Model and View. These are the three pillars of major programming frameworks present on the market today. On the other hand AngularJS works on MV*, short of Model-View-_Whatever_. The _Whatever_ is AngularJS way of telling that you may create any kind of linking between the Model and the View here. + +Unlike other frameworks in any programming language, where MVC, the three separate components, each one has to be written and then connected by the programmer, AngularJS helps the programmer by asking him/her to just create these and everything else will be taken care of by AngularJS. + +#### Interconnection with HTML at the root level +AngularJS uses HTML to define the user's interface. AngularJS also enables the programmer to write new HTML tags (AngularJS Directives) and increase the readability and understandability of the HTML code. Directives are AngularJS’s way of bringing additional functionality to HTML. Directives achieve this by enabling us to invent our own HTML elements. This also helps in making the code DRY (Don't Repeat Yourself), which means once created, a new directive can be used anywhere within the application. + +#### Data Handling made simple +Data and Data Models in AngularJS are plain JavaScript objects and one can add and change properties directly on it and loop over objects and arrays at will. + +#### Two-way Data Binding +One of AngularJS's strongest features. Two-way Data Binding means that if something changes in the Model, the change gets reflected in the View instantaneously, and the same happens the other way around. This is also referred to as Reactive Programming, i.e. suppose `a = b + c` is being programmed and after this, if there is way to change `b` and/or `c` then the value of `a` should also change. AngularJS uses its "scopes" as a glue between the Model and View and makes these updates in one available for the other. + +#### Less Written Code and Easily Maintable Code +Everything in AngularJS is created to enable the programmer ends up writing less code that is easily maintainable and readable by any other new person on the team. Believe it or not, one can write a complete working two-way binded application in less 10 lines of code. Try and see for yourself! + +#### Testing Ready +AngularJS has Dependency Injection, i.e. it takes care of providing all the necessary dependencies to its controllers whenever required. This helps in making the AngularJS code ready for unit testing by making use of mock dependencies created and injected. This makes AngularJS more modular and easily testable thus in turn helping a team create more robust application. From 339a18d25e8ca45df5650301f544aff8a2283b99 Mon Sep 17 00:00:00 2001 From: vitoahmeny Date: Sun, 7 Feb 2016 14:41:28 +0800 Subject: [PATCH 2/4] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a25766720527..eb51abbfb786 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ To learn more about the grunt tasks, run `grunt --help` and also read our What to Use AngularJS for and When to Use it --------- -AngularJS is the next generation framework where each component is designed to work with every other component in an interconnected way like a well oiled machine. AngularJS is JavaScript MVC made easy and done right. (Well it is not really MVC, read on, to understand what this means.) +AngularJS is the next generation framework where each component is designed to work with every other component in an interconnected way like a well-oiled machine. AngularJS is JavaScript MVC made easy and done right. (Well it is not really MVC, read on, to understand what this means.) #### MVC, no, MV* done the right way! MVC, short for Model-View-Controller, is a design pattern, i.e. how the code should be organized and how the different parts of an application separated for proper readability and debugging. Model is the data and the database. View is the user interface and what the user sees. Controller is the main link between Model and View. These are the three pillars of major programming frameworks present on the market today. On the other hand AngularJS works on MV*, short of Model-View-_Whatever_. The _Whatever_ is AngularJS way of telling that you may create any kind of linking between the Model and the View here. @@ -65,4 +65,4 @@ One of AngularJS's strongest features. Two-way Data Binding means that if someth Everything in AngularJS is created to enable the programmer ends up writing less code that is easily maintainable and readable by any other new person on the team. Believe it or not, one can write a complete working two-way binded application in less 10 lines of code. Try and see for yourself! #### Testing Ready -AngularJS has Dependency Injection, i.e. it takes care of providing all the necessary dependencies to its controllers whenever required. This helps in making the AngularJS code ready for unit testing by making use of mock dependencies created and injected. This makes AngularJS more modular and easily testable thus in turn helping a team create more robust application. +AngularJS has Dependency Injection, i.e. it takes care of providing all the necessary dependencies to its controllers whenever required. This helps in making the AngularJS code ready for unit testing by making use of mock dependencies created and injected. This makes AngularJS more modular and easily testable thus in turn helping a team create more robust applications. From 5dba8044607635aedd5b377893496f94df69eea7 Mon Sep 17 00:00:00 2001 From: vitoahmeny Date: Sun, 7 Feb 2016 16:13:03 +0800 Subject: [PATCH 3/4] update README.md what when section fix a few typos and reworded the example of reactive programmin. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index eb51abbfb786..ed6ada7af025 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ What to Use AngularJS for and When to Use it AngularJS is the next generation framework where each component is designed to work with every other component in an interconnected way like a well-oiled machine. AngularJS is JavaScript MVC made easy and done right. (Well it is not really MVC, read on, to understand what this means.) #### MVC, no, MV* done the right way! -MVC, short for Model-View-Controller, is a design pattern, i.e. how the code should be organized and how the different parts of an application separated for proper readability and debugging. Model is the data and the database. View is the user interface and what the user sees. Controller is the main link between Model and View. These are the three pillars of major programming frameworks present on the market today. On the other hand AngularJS works on MV*, short of Model-View-_Whatever_. The _Whatever_ is AngularJS way of telling that you may create any kind of linking between the Model and the View here. +MVC, short for Model-View-Controller, is a design pattern, i.e. how the code should be organized and how the different parts of an application separated for proper readability and debugging. Model is the data and the database. View is the user interface and what the user sees. Controller is the main link between Model and View. These are the three pillars of major programming frameworks present on the market today. On the other hand AngularJS works on MV*, short for Model-View-_Whatever_. The _Whatever_ is AngularJS's way of telling that you may create any kind of linking between the Model and the View here. Unlike other frameworks in any programming language, where MVC, the three separate components, each one has to be written and then connected by the programmer, AngularJS helps the programmer by asking him/her to just create these and everything else will be taken care of by AngularJS. @@ -59,10 +59,10 @@ AngularJS uses HTML to define the user's interface. AngularJS also enables the p Data and Data Models in AngularJS are plain JavaScript objects and one can add and change properties directly on it and loop over objects and arrays at will. #### Two-way Data Binding -One of AngularJS's strongest features. Two-way Data Binding means that if something changes in the Model, the change gets reflected in the View instantaneously, and the same happens the other way around. This is also referred to as Reactive Programming, i.e. suppose `a = b + c` is being programmed and after this, if there is way to change `b` and/or `c` then the value of `a` should also change. AngularJS uses its "scopes" as a glue between the Model and View and makes these updates in one available for the other. +One of AngularJS's strongest features. Two-way Data Binding means that if something changes in the Model, the change gets reflected in the View instantaneously, and the same happens the other way around. This is also referred to as Reactive Programming, i.e. suppose `a = b + c` is being programmed and after this, if the value of `b` and/or `c`'s changed then the value of `a` will be automatically updated to reflect the change. AngularJS uses its "scopes" as a glue between the Model and View and makes these updates in one available for the other. #### Less Written Code and Easily Maintable Code -Everything in AngularJS is created to enable the programmer ends up writing less code that is easily maintainable and readable by any other new person on the team. Believe it or not, one can write a complete working two-way binded application in less 10 lines of code. Try and see for yourself! +Everything in AngularJS is created to enable the programmer ends up writing less code that is easily maintainable and readable by any other new person on the team. Believe it or not, one can write a complete working two-way data binded application in less than 10 lines of code. Try and see for yourself! #### Testing Ready AngularJS has Dependency Injection, i.e. it takes care of providing all the necessary dependencies to its controllers whenever required. This helps in making the AngularJS code ready for unit testing by making use of mock dependencies created and injected. This makes AngularJS more modular and easily testable thus in turn helping a team create more robust applications. From 82c0444817c34e4524a681994457662d26e498a5 Mon Sep 17 00:00:00 2001 From: Aashish Nagpal Date: Sun, 7 Feb 2016 14:37:47 +0530 Subject: [PATCH 4/4] docs(README.md): final update purpose section final update on purpose section added --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed6ada7af025..e13ed1145290 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ AngularJS uses HTML to define the user's interface. AngularJS also enables the p Data and Data Models in AngularJS are plain JavaScript objects and one can add and change properties directly on it and loop over objects and arrays at will. #### Two-way Data Binding -One of AngularJS's strongest features. Two-way Data Binding means that if something changes in the Model, the change gets reflected in the View instantaneously, and the same happens the other way around. This is also referred to as Reactive Programming, i.e. suppose `a = b + c` is being programmed and after this, if the value of `b` and/or `c`'s changed then the value of `a` will be automatically updated to reflect the change. AngularJS uses its "scopes" as a glue between the Model and View and makes these updates in one available for the other. +One of AngularJS's strongest features. Two-way Data Binding means that if something changes in the Model, the change gets reflected in the View instantaneously, and the same happens the other way around. This is also referred to as Reactive Programming, i.e. suppose `a = b + c` is being programmed and after this, if the value of `b` and/or `c` is changed then the value of `a` will be automatically updated to reflect the change. AngularJS uses its "scopes" as a glue between the Model and View and makes these updates in one available for the other. #### Less Written Code and Easily Maintable Code Everything in AngularJS is created to enable the programmer ends up writing less code that is easily maintainable and readable by any other new person on the team. Believe it or not, one can write a complete working two-way data binded application in less than 10 lines of code. Try and see for yourself!