This document provides an agenda and details for an AngularJS workshop. The key points are:
- The workshop will cover AngularJS concepts and skills over 4 sessions spanning introduction to advanced topics like testing and directives.
- Session 1 will cover basics like MVC patterns, data binding, controllers and services. Sessions 2-3 cover routing, testing and directives.
- Attendees should bring a laptop and install NodeJS, Karma and other tools to follow along with hands-on code examples and exercises.
- The goal is to take attendees through building a simple todo list app from start to finish over the day to learn AngularJS concepts and skills in a practical way. Questions are encouraged
AngularJS - What is it & Why is it awesome ? (with demos)Gary Arora
AngularJS - What is it & Why is it awesome! A quick introduction to AngularJS, its features and some demos. This deck was part of Gary Arora's presentation for the Boston Code Mastery event in December 2013.
This document is an introductory presentation on AngularJS. It discusses the basic workflow of an AngularJS app from requesting a URL to rendering HTML and executing JavaScript. It also provides an overview of key AngularJS concepts like Model-View-Controller and directives. Finally, it lists additional resources for learning more about AngularJS frameworks, tutorials, documentation and more.
AngularJS is a framework for building client-side web applications. It allows you to extend HTML vocabulary with custom attributes and elements, and uses two-way data binding between models and views. AngularJS provides services, directives, modules and dependency injection to help organize application code and logic. Testing is also an important part of the AngularJS workflow, as it helps ensure code quality.
This document provides an overview and introduction to single page application (SPA) frameworks using AngularJS. It discusses the rise of responsive SPAs and some of the challenges in building SPAs. It then introduces key AngularJS concepts like templates, directives, expressions, data binding, scopes, controllers and modules. It also includes a recap of JavaScript concepts like objects, functions and classes. Finally, it demonstrates basic AngularJS examples using directives, expressions, filters, controllers and scopes.
AngularJS is an MVC framework for building client-side web applications. It uses two-way data binding between models and views, dependency injection to decouple modules, and directives to extend HTML. Key features include routing for single-page applications, services for reusable logic, and tools for testing AJAX code. AngularJS provides standard directives, services, and routing capabilities to build complete applications in the browser.
The document outlines best practices for building applications with AngularJS. It discusses the differences between single page apps built with AngularJS and traditional apps, recommending approaches like following AngularJS style guides. The document also summarizes upcoming features for AngularJS 2.0 like improved directives and server-side rendering. Resources are provided for tools like Grunt, Bower, and techniques like search engine optimization for single page apps.
This document summarizes the history and benefits of AngularJS. It explains that AngularJS was originally created in 2009 as a side project by Misko Hevery and Adam Abrons to build a tool for both front-end and back-end development. When working on a Google project called Google Feedback, Hevery was able to rewrite 17,000 lines of code into 1,500 lines using his AngularJS framework by taking advantage of its features like separation of concerns, modularity, and reusable components. The document then lists some key benefits of AngularJS like being lightweight, free, and improving structure, quality, organization and maintainability of code.
AngularJS is a client-side JavaScript framework that allows developers to create single page applications. It provides two-way data binding, MVC architecture, templates and custom directives to help build testable web apps that can scale. Some key features include data binding, controllers, expressions to dynamically display data, modules to organize code, and services to handle back-end communication. Overall, AngularJS streamlines web development by handling many common tasks like DOM manipulation, data binding and communication with backend services.
AngularJS is a JavaScript framework that extends HTML with directives and binds data to HTML with expressions. Some key points:
- AngularJS extends HTML with directives like ng-app, ng-model, and ng-bind.
- Expressions written with double braces like {{expression}} output data on the HTML page.
- Modules define AngularJS applications and controllers control the application logic and data.
- Common directives include ng-init, ng-click, ng-repeat, and filters like currency and lowercase can be used.
- A shopping cart example demonstrates binding data with ng-repeat, adding items with ng-click, and removing with ng-click.
This document provides an overview of AngularJS, including how it can contribute to business applications, who believes in it, its market and architecture. AngularJS supports HTML5, extends HTML, uses an MVC pattern and provides flexibility between front-end and back-end technologies. It also offers performance, easy development, fast delivery cycles and good documentation. The presenter provides an example of how AngularJS allows parallel development between front-end and back-end teams using different technologies. Finally, the document demonstrates an example AngularJS application and references for further information.
AngularJS is an open source JavaScript framework maintained by Google that extends HTML with new elements and attributes. It uses a Model-View-Whatever architecture to develop single-page applications. Key AngularJS components include directives, expressions, and controllers that allow two-way data binding between models and views.
This is a laconic presentation on Angular JS for beginners only. I have emphasized on example rather than theory. There are self explained source code urls attached with slides. In the last slide I have attached source code for a real life example using Angular JS an BootStrap which may be very helpful to understand the concept of Angular JS.
AngularJS is a JavaScript framework for building dynamic web applications. It augments HTML with custom attributes and directives to bind data and behaviors to the DOM. Key features include two-way data binding, reusable components, dependency injection, routing, and templating. AngularJS uses an MVC or MVVM pattern, with scopes providing the view model. The framework enhances HTML, encourages test-driven development, and makes single page apps possible.
AngularJS is a JavaScript framework made by Google for building complex client-side applications.
Angular.js is a MVW (Model-View-Whatever) open-source JavaScript web framework that facilitates the creation of single-page applications (SPA) and data-driven apps.
Angular projects have a somewhat different structure than other JavaScript MVC frameworks, but it can be highly modular and easy to maintain once you understand the structure.
AngularJS is a JavaScript MVC framework developed by Google that lets you build well structured, easily testable, and maintainable front-end applications
This document provides an overview of AngularJS best practices, covering topics such as file organization, naming conventions, modules, controllers, services, directives, and scope. It discusses organizing code by feature and type, using namespacing prefixes, understanding modules and their organization, defining controller, service and directive roles, communicating between components, avoiding FOUC, and thinking declaratively. Specific practices are covered for minification, services creation, directives usage, scope interfaces, and controllers versus link functions.
AngularJS is a JavaScript MVC framework that makes it easier to build single-page applications. It deemphasizes DOM manipulation and uses data binding to synchronize data between models and views. Some key features include routing, dependency injection, testing capabilities, and directives that extend HTML with new attributes and elements. AngularJS applications use controllers to decorate a scope with model data and callbacks. The scope then synchronizes changes between the model and view.
Single Page Applications in SharePoint with AngularSparkhound Inc.
The Angular framework allows developers to create lightweight single page web applications with ease. By leveraging the Angular framework and the SharePoint 2013 REST API, we can create lightweight applications within SharePoint as alternatives to InfoPath forms and OOTB SharePoint web parts. This presentation will cover the basics of single page applications with Angular as well as targeting the SharePoint platform with SPA applications.
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
AngularJS is a JavaScript framework for building single-page applications. It enhances HTML with new attributes and uses MVC/MVVM patterns. Key features include data binding, directives, filters, expressions and dependency injection. AngularJS makes it easier to organize web apps at the client-side by defining ways to structure code and adding custom tags/attributes to HTML. It also helps with common tasks in SPAs like routing, data loading and handling user events.
On September 25th we hosted a webinar on “Step by Step AngularJS for beginners” for the Indian region and we’d like to share the presentation and recorded webinar with you now! In the webinar, we covered:
• Introduction to AngularJS
• Introduction to SPA
• Controller and $scope object
• Controller hierarchy
• Service and factory methods
• Routing
• CRUD operations in AngularJS application
And more!
AngularJS is a JavaScript framework for building frontend web applications. It is inspired by Model-View-Controller (MVC) pattern and uses HTML templating with two-way data binding. Key features include DOM manipulation, validation, routing, and reusable components. The document provides an overview of AngularJS concepts like directives, data binding, controllers, modules, dependency injection, and built-in services. It also demonstrates how to create custom directives and use routing and resources services.
AngularJS 101 - Everything you need to know to get startedStéphane Bégaudeau
In this presentation, you will find everything need to get started with AngularJS.
For more details, have a look at my blog (http://stephanebegaudeau.tumblr.com) or follow me on twitter (@sbegaudeau)
Introduction to AngularJS
مقدمة عن AngularJS
Follow us on Egyptian NodeJs Community on google+
https://plus.google.com/u/0/communities/110403046378899425503
We Will learn about:
What is AngularJs?
Key Points
Core Features of AngularJS
How is it works?
AngularJs Terminologies
AngularJs directives
How we start work on AngularJs?
AngularJs Tags
How we use Yeoman?
Advantages and Disadvantages
Material I prepared for a beginner's workshop on AngularJS. Feel free to change it for your own use. I would appreciate it if you attributed the original to me.
This document provides a summary of the AngularJS framework. It discusses the following key points in 3 sentences:
1. AngularJS aims to make HTML better suited for building applications by teaching the browser new syntax like directives. This allows more of the application logic to be handled in the declarative HTML instead of JavaScript code.
2. Angular follows an MVC pattern where the controller contains the business logic and data, the view displays the data through bindings, and the scope acts as a synchronization mechanism between the model and view.
3. Features like data binding, directives, dependency injection and routing allow building dynamic and interactive single-page applications by synchronizing the model and view through declarative templates and separating concerns
Presentation from Denver Open Source Users Group in February 2015. http://www.meetup.com/DOSUG1/events/219099019/
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
AngularJS is a client-side JavaScript framework that allows developers to create single page applications. It provides two-way data binding, MVC architecture, templates and custom directives to help build testable web apps that can scale. Some key features include data binding, controllers, expressions to dynamically display data, modules to organize code, and services to handle back-end communication. Overall, AngularJS streamlines web development by handling many common tasks like DOM manipulation, data binding and communication with backend services.
AngularJS is a JavaScript framework that extends HTML with directives and binds data to HTML with expressions. Some key points:
- AngularJS extends HTML with directives like ng-app, ng-model, and ng-bind.
- Expressions written with double braces like {{expression}} output data on the HTML page.
- Modules define AngularJS applications and controllers control the application logic and data.
- Common directives include ng-init, ng-click, ng-repeat, and filters like currency and lowercase can be used.
- A shopping cart example demonstrates binding data with ng-repeat, adding items with ng-click, and removing with ng-click.
This document provides an overview of AngularJS, including how it can contribute to business applications, who believes in it, its market and architecture. AngularJS supports HTML5, extends HTML, uses an MVC pattern and provides flexibility between front-end and back-end technologies. It also offers performance, easy development, fast delivery cycles and good documentation. The presenter provides an example of how AngularJS allows parallel development between front-end and back-end teams using different technologies. Finally, the document demonstrates an example AngularJS application and references for further information.
AngularJS is an open source JavaScript framework maintained by Google that extends HTML with new elements and attributes. It uses a Model-View-Whatever architecture to develop single-page applications. Key AngularJS components include directives, expressions, and controllers that allow two-way data binding between models and views.
This is a laconic presentation on Angular JS for beginners only. I have emphasized on example rather than theory. There are self explained source code urls attached with slides. In the last slide I have attached source code for a real life example using Angular JS an BootStrap which may be very helpful to understand the concept of Angular JS.
AngularJS is a JavaScript framework for building dynamic web applications. It augments HTML with custom attributes and directives to bind data and behaviors to the DOM. Key features include two-way data binding, reusable components, dependency injection, routing, and templating. AngularJS uses an MVC or MVVM pattern, with scopes providing the view model. The framework enhances HTML, encourages test-driven development, and makes single page apps possible.
AngularJS is a JavaScript framework made by Google for building complex client-side applications.
Angular.js is a MVW (Model-View-Whatever) open-source JavaScript web framework that facilitates the creation of single-page applications (SPA) and data-driven apps.
Angular projects have a somewhat different structure than other JavaScript MVC frameworks, but it can be highly modular and easy to maintain once you understand the structure.
AngularJS is a JavaScript MVC framework developed by Google that lets you build well structured, easily testable, and maintainable front-end applications
This document provides an overview of AngularJS best practices, covering topics such as file organization, naming conventions, modules, controllers, services, directives, and scope. It discusses organizing code by feature and type, using namespacing prefixes, understanding modules and their organization, defining controller, service and directive roles, communicating between components, avoiding FOUC, and thinking declaratively. Specific practices are covered for minification, services creation, directives usage, scope interfaces, and controllers versus link functions.
AngularJS is a JavaScript MVC framework that makes it easier to build single-page applications. It deemphasizes DOM manipulation and uses data binding to synchronize data between models and views. Some key features include routing, dependency injection, testing capabilities, and directives that extend HTML with new attributes and elements. AngularJS applications use controllers to decorate a scope with model data and callbacks. The scope then synchronizes changes between the model and view.
Single Page Applications in SharePoint with AngularSparkhound Inc.
The Angular framework allows developers to create lightweight single page web applications with ease. By leveraging the Angular framework and the SharePoint 2013 REST API, we can create lightweight applications within SharePoint as alternatives to InfoPath forms and OOTB SharePoint web parts. This presentation will cover the basics of single page applications with Angular as well as targeting the SharePoint platform with SPA applications.
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
AngularJS is a JavaScript framework for building single-page applications. It enhances HTML with new attributes and uses MVC/MVVM patterns. Key features include data binding, directives, filters, expressions and dependency injection. AngularJS makes it easier to organize web apps at the client-side by defining ways to structure code and adding custom tags/attributes to HTML. It also helps with common tasks in SPAs like routing, data loading and handling user events.
On September 25th we hosted a webinar on “Step by Step AngularJS for beginners” for the Indian region and we’d like to share the presentation and recorded webinar with you now! In the webinar, we covered:
• Introduction to AngularJS
• Introduction to SPA
• Controller and $scope object
• Controller hierarchy
• Service and factory methods
• Routing
• CRUD operations in AngularJS application
And more!
AngularJS is a JavaScript framework for building frontend web applications. It is inspired by Model-View-Controller (MVC) pattern and uses HTML templating with two-way data binding. Key features include DOM manipulation, validation, routing, and reusable components. The document provides an overview of AngularJS concepts like directives, data binding, controllers, modules, dependency injection, and built-in services. It also demonstrates how to create custom directives and use routing and resources services.
AngularJS 101 - Everything you need to know to get startedStéphane Bégaudeau
In this presentation, you will find everything need to get started with AngularJS.
For more details, have a look at my blog (http://stephanebegaudeau.tumblr.com) or follow me on twitter (@sbegaudeau)
Introduction to AngularJS
مقدمة عن AngularJS
Follow us on Egyptian NodeJs Community on google+
https://plus.google.com/u/0/communities/110403046378899425503
We Will learn about:
What is AngularJs?
Key Points
Core Features of AngularJS
How is it works?
AngularJs Terminologies
AngularJs directives
How we start work on AngularJs?
AngularJs Tags
How we use Yeoman?
Advantages and Disadvantages
Material I prepared for a beginner's workshop on AngularJS. Feel free to change it for your own use. I would appreciate it if you attributed the original to me.
This document provides a summary of the AngularJS framework. It discusses the following key points in 3 sentences:
1. AngularJS aims to make HTML better suited for building applications by teaching the browser new syntax like directives. This allows more of the application logic to be handled in the declarative HTML instead of JavaScript code.
2. Angular follows an MVC pattern where the controller contains the business logic and data, the view displays the data through bindings, and the scope acts as a synchronization mechanism between the model and view.
3. Features like data binding, directives, dependency injection and routing allow building dynamic and interactive single-page applications by synchronizing the model and view through declarative templates and separating concerns
Presentation from Denver Open Source Users Group in February 2015. http://www.meetup.com/DOSUG1/events/219099019/
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems. Finally, you'll learn about my experience developing several real-world applications using AngularJS, HTML5 and Bootstrap.
Leveraging the full power of HTML5 and the capacity of modern browsers, rich client applications are very popular right now. In this session we will demonstrate how we can bring the world of HTML5 and AngularJS to ADF applications. We take rich reusable TagCloud component and integrate it into a standalone AngularJS application. Next we embed the AngularJS module inside an ADF TaskFlow. This taskflow is then reused in a regular ADF web application and participates in ADF skinning, internationalization and customization. The rich client component receives data from the ADF application and exchanges events with it. The flexibility, [multitude of] resources and richness in functionality offered from the HTML5/AngularJS world beyond ADF can still be integrated with and leveraged from ADF. This presentation provides a solid introduction into the question how to achieve thus.
This document provides an overview and summary of the book "AngularJS" by Brad Green and Shyam Seshadri. It includes information about concepts in AngularJS like client-side templates, model-view-controller, data binding, and dependency injection. It also briefly describes an example shopping cart application and outlines the chapters in the book which cover topics like developing AngularJS applications, analyzing an AngularJS app, communicating with servers, directives and other concerns.
SPTECHCON - Get Some REST - Taking Advantage of the SharePoint 2013 REST APIEric Shupps
This document discusses how to take advantage of the SharePoint 2013 REST API for performing basic operations like retrieving lists, list items, sites and site information. It covers endpoints, methods for GET, POST, PUT and DELETE, and examples of REST calls for common tasks like retrieving lists, items, sites and site content. Advanced techniques are also demonstrated like filtering, sorting, expanding fields and updating items.
SharePoint is Talking - Are you ListeningEric Shupps
SharePoint is Talking. Are you listening? is a blog post by Eric Shupps that discusses patterns and practices for working with SharePoint. The post is an invitation for readers to follow Shupps' blog and social media accounts to learn more about his SharePoint expertise and guidance on development approaches.
This document discusses dependency injection (DI) in AngularJS. It explains that DI allows high-level modules to depend on low-level abstractions rather than implementations. It then covers the different ways to define providers in AngularJS, including using the $provide service, as well as factories, services, values, and constants. It also discusses decorators as another way to modify existing services. The document provides recipes for when to use each provider type and concludes with some additional facts about injectors and ensuring scripts are in the proper order.
Angularjs is a client side javascript framework that adds interactivity to HTML. It allows developers to create dynamic and interactive web applications. Some key features include directives, modules, controllers, expressions and data binding. Directives are HTML annotations that trigger javascript behaviors. Modules group application components. Controllers add application logic and behavior. Expressions display dynamic values in the HTML. Angularjs uses MVC architecture with the view being the DOM, controllers handling logic, and models storing data. It also utilizes dependency injection to manage dependencies between components.
The document discusses why JavaScript frameworks are needed and provides an overview of AngularJS. It notes that JS frameworks help with form validation, DOM manipulation, templating, and AJAX calls. AngularJS is highlighted because it was developed by Google, is actively maintained, implements MVW and other design patterns, and features two-way data binding. The document concludes with a basic "Hello World" AngularJS program to demonstrate binding an input to real-time text output.
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
In this talk that we gave on April 21st, 2015 at the GDG Brussels, we presented the Requirements Bazaar with a special focus on its front end that is built with AngularJS and Polymer.
http://www.requirements-bazaar.org
The document outlines an agenda for a presentation on AngularJS that covers:
1. An introduction to AngularJS and its core features like two-way data binding, templates, and MVC architecture.
2. Explanations and examples of key AngularJS concepts like directives, expressions, forms, services, modules, routing, and scopes.
3. Discussions of AngularJS advantages like fast development and scalability, and disadvantages like complexity.
4. References for further learning and a question/answer session.
A talk on front-end developer tools including Yeoman, Grunt.js, Require.js, Bower, and SASS given at Drupal Camp LA 2013.
This talk doesn't address Drupal specifically, but it was aimed to give the audience of drupal developers a look into the state of the art.
SharePoint Saturday Paris 2016 - AngularJS with the Microsoft GraphSébastien Levert
Sébastien Levert will give an introduction to AngularJS for Office 365. The presentation will cover what AngularJS is, why it should be used, and some of its key concepts. It will discuss how AngularJS is a trendy framework and provide resources for learning more about Office 365 development. The event is being held in Paris on May 28, 2016 as part of the SPSParis conference series.
Dynamic Application Development by NodeJS ,AngularJS with OrientDBApaichon Punopas
This document provides an overview of NodeJS, AngularJS, and how they can be used together with OrientDB for building dynamic applications. It discusses key concepts like non-blocking I/O in NodeJS, MVC architecture in AngularJS, data binding, directives, routing. It also compares performance of NodeJS vs Apache and explains why Angular and NoSQL are well-suited for dynamic applications that require frequent changes - since only the data model and view layers need changes, without requiring changes to the controller code or database schema.
This document discusses single page applications (SPAs) and provides an overview of what SPAs are and their advantages compared to traditional websites. It defines SPAs as web applications that fit on a single web page and provide a more desktop-like user experience through features like fluid page transitions without reloads. The document outlines how SPAs move more of the application logic to the client, fetch data on demand, and support features like back/forward buttons and offline use. Examples of SPAs include Gmail and merchant locators.
Brainvire offers AngularJS development services including building single page applications, migrating from other frameworks to AngularJS, integrating AngularJS into existing applications, and training. Their full-stack AngularJS developers have experience building complex data-intensive apps.
Single-page applications (SPAs) take user interaction with web applications to a new level. This means that more logic will be moved to the web browser and we have to become more familiar with JavaScript. AngularJS is one of the leading JavaScript frameworks when talking about SPAs. In this workshop I will present AngularJS in terms of problems it addresses and how it does this. Together we will develop a single-page application and we will go through how traditional concepts of web applications (data and state management, authentication) can be solved using the framework. Furthermore, we will dive into typical pitfalls when developing applications using AngularJS and will see how we can avoid them.
The document provides an overview of HTML5, CSS, JavaScript, AngularJS, Git, and a demo application that teaches AngularJS development in steps. It explains key concepts like HTML structure, tags and attributes, CSS selectors and styles, JS variables, arrays, objects, and functions, Angular data binding, modules, controllers, filters, and directives. It also demonstrates how to set up an Angular app, manipulate the DOM with JS, install and use Git for version control, and check out branches in the demo app that implement features in stages.
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript.
This document summarizes a presentation given by Deepu K Sasidharan of XebiaLabs at DevoxxFR 2018 about frontend options for Java developers. It discusses why many Java developers dislike frontend work, myths about the frontend landscape, and how to make Java developers enjoy JavaScript. It also provides a brief history of Angular, React, and Vue.js, highlights of the speaker's favorite and least favorite features of each, and recommendations for choosing a framework. The document concludes by discussing options for starting new projects with Angular and React using tools like the Angular CLI and Create React App, and introduces JHipster for generating full stack applications.
This document provides an overview of AngularJS, including what it is, why it is useful, how it compares to Backbone, and how to get started using it. AngularJS is an open-source MVC framework for building single-page applications. It helps organize JavaScript code and build responsive websites. While smaller than Backbone, AngularJS provides better data binding and template support. The document outlines the basics of AngularJS directives, modules, expressions, controllers, models, filters, creating directives, services, and unit testing. It also discusses tools like Karma, Jasmine, Bower, Yeoman, and Angular Mock that can be used with AngularJS.
1. AngularJS is a framework for building single-page applications using HTML and JavaScript. It was developed in 2009 and released in 2010.
2. Single-page applications load a single HTML page that is dynamically updated based on user interaction without reloading the page.
3. AngularJS provides services, controllers, factories and directives to help organize code and add functionality to web applications. Services provide reusable functions, controllers tie models to views, factories retrieve data, and directives create new HTML elements and attributes.
SEMINAR TOPIC TWO WAY DATA BINDING AND SINGLE PAGE APPLICATION USING ANGULAR JS PRESENTATION.
EXAMPLE OF TWO WAY DATA BINDING AND SINGLE PAGE EXAMPLE WITH FULL CODE AND OUTPUT.WHAT IS ANGULARJS ,WHY ANGULARJS ,PHASES OF ANGULARJS AND ALSO THE CONCLUSION
Slide deck presented during my session on "Introduction to Angular 2" at UNICOM DevCon 2016 conference on Thursday, Dec 1, 2016. The conference was at Mövenpick Hotel & Spa, Bengaluru.
Fast prototyping apps using AngularJS, RequireJS and Twitter BootstrapYuriy Silvestrov
Yuriy Silvestrov and Mikhail Valkov presented a method for fast prototyping of rich user interface applications using AngularJS, RequireJS, jQuery. They discussed dividing projects into modules and components to manage dependencies and isolate code. They recommended using frameworks like Bootstrap and its extensions for responsive design templates. The presentation provided examples of prototyping an alarm clock app in under 24 hours and discussed questions on integrating Angular, RequireJS and other JavaScript tools.
This document outlines an agenda for an AngularJS workshop. It introduces AngularJS as a JavaScript open-source framework for building frontend applications based on single-page application architecture and the MVC pattern. It provides resources for learning AngularJS such as tutorials, videos, and conferences. It describes some basic prerequisites and then covers key AngularJS concepts like directives, modules, routing, factories and using $http for server communication. Code examples are referenced from github repositories. The document concludes by thanking participants.
AngularJS is an open-source JavaScript framework that assists with building single-page applications using Model-View-Controller architecture. It uses two-way data binding between models and views, and its directives and filters help manipulate DOM elements and format data for display. AngularJS implements dependency injection to modularize code and make components reusable. Scopes in AngularJS act as containers for models and facilitate inheritance between parent and child scopes.
Create responsive websites with Django, REST and AngularJSHannes Hapke
The document discusses 10 steps to make a Django site more responsive by adding a REST API and using AngularJS for the front-end: 1) Create an API endpoint for the Django models, 2) Set up the JavaScript environment and install AngularJS, 3) Create a static AngularJS site, 4) Use verbatim tags to avoid conflicts between Django and AngularJS variables, 5) Connect AngularJS to the API, 6) Take advantage of the Django REST Framework features, 7) Handle asynchronous data loading, 8) Add forms and POST requests, 9) Clean up settings.py, and 10) Document the API. The goal is to keep the back-end lightweight Django while building a more responsive and
Top 5 AngularJS Tool for Application DevelopmentPaul Cook
If you are a AngularJS Development Expert, take a look at these interesting tools for simplifying AngularJS development. Explore the tools for AngularJS.
The document discusses an upcoming lecture by Yuriy V. Silvestrov and Mikhail Valkov on fast prototyping of rich user interface applications using AngularJS, RequireJS, jQuery. It provides biographies of Yuriy and Mikhail, noting their experience in IT and current roles. The lecture will cover startup prototyping needs, JavaScript frameworks like AngularJS and RequireJS, responsive design using tools like Bootstrap, and taking questions.
AngularJS Vs Angular: Understanding the DifferencesTechtic Solutions
Here's an in-depth comparison of AngularJS vs Angular which will help you to understand the differences and make an informed decision. Meanwhile, Techtic Solutions is one of the top-notch AngularJS development company with 10+ years of web development experience. Our teams of experienced AngularJS developers are adept at building simple to the most complex website apps seamlessly. Get in touch if you are looking to hire AngularJS developers to deliver, secure, high-performance, and faster web applications. Call us at +1 201.793.8324 or visit us https://www.techtic.com/angularjs-development-company/
Using JHipster for generating Angular/Spring Boot appsYakov Fain
1. The document discusses using JHipster, an open source tool, to generate Angular and Spring Boot applications. It demonstrates generating both monolithic and microservices applications.
2. Key features of JHipster covered include generating entities, internationalization, and deployment options. Running and developing applications in both development and production modes is explained.
3. Examples are provided of generating sample applications using JHipster's online generator and locally installed generator. This includes reviewing the generated code and application structure.
AngularJS is a popular JavaScript framework. It is intended to make the implementation of RIA (Rich Internet Applications) easier and convenient. AngularJS is created and maintained by Google. It is relatively, a new JavaScript framework, which is designed to make the front-end development as simple as possible. AngularJS is a useful tool for standardizing the web application structure and it provides a future template to ensure that the client-side applications are developed much effectively.
This document by RapidValue is written by Gourav Ajmani, Technical Lead, who has been working on AngularJS for a while, and has read many tutorials and blogs on it. According to Gourav, he could never find any article which gives a clear, concise and step-by-step guide to create the project structure and execute the project. So, he has written this document which will help you to create the Project structure and then execute it in a simple manner.
Angular is a complete framework that combines declarative templates, dependency injection, end to end tooling, and integrated best practices in order to solve development challenges. Angular was completely rewritten from its predecessor AngularJS and allows developers to build their applications on web or mobile.
Matthew Gardner explains how to setup a simple Angular app, diving into some of the concepts behind the framework and describe some of the key differences between Angular and AngularJS. Additionally, Matthew will showcase an Angular app which uses the Spotify API.
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014Endava
A quick overview of AngularJS Framework and Dojo Toolkit. Why use them and when? Why use one instead of the other? Strong points and drawbacks! Plus a hands-on example
The document summarizes an AngularJS workshop that covers AngularJS core principles, building a sample website, and AngularJS 2. It discusses building the sample site from scratch using tools like NodeJS, Bower, and Bootstrap. Key AngularJS concepts covered include modules, views, controllers, directives, routing, promises, and AngularJS 2.0. Hands-on tasks include adding routing, creating a header directive, loading data from a service, and validating a form.
This document provides an overview of AngularJS, including what it is, its core components (model, view, controller), how to get started, common directives, and examples of using directives, filters, controllers and modules. It explains key AngularJS concepts like data binding, scopes, and how AngularJS interacts with the browser to update views dynamically. Examples are provided for common tasks like iterating with ng-repeat, filtering data, and handling events.
Best web hosting Vancouver 2025 for you businesssteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingsteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
Reliable Vancouver Web Hosting with Local Servers & 24/7 Supportsteve198109
Looking for powerful and affordable web hosting in Vancouver? 4GoodHosting offers premium Canadian web hosting solutions designed specifically for individuals, startups, and businesses across British Columbia. With local data centers in Vancouver and Toronto, we ensure blazing-fast website speeds, superior uptime, and enhanced data privacy—all critical for your business success in today’s competitive digital landscape.
Our Vancouver web hosting plans are packed with value—starting as low as $2.95/month—and include secure cPanel management, free domain transfer, one-click WordPress installs, and robust email support with anti-spam protection. Whether you're hosting a personal blog, business website, or eCommerce store, our scalable cloud hosting packages are built to grow with you.
Enjoy enterprise-grade features like daily backups, DDoS protection, free SSL certificates, and unlimited bandwidth on select plans. Plus, our expert Canadian support team is available 24/7 to help you every step of the way.
At 4GoodHosting, we understand the needs of local Vancouver businesses. That’s why we focus on speed, security, and service—all hosted on Canadian soil. Start your online journey today with a reliable hosting partner trusted by thousands across Canada.
Gettings started with the superheroic JavaScript library AngularJS
1. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Getting started with the superheroic
JavaScript library
2. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Armin Rüdiger Vieweg
PHP, TYPO3, JavaScript developer
About the author
❖ 30 years old from Linz am Rhein (DE)
❖ 4.5 years experience with TYPO3
➢ published 17 extensions in TER
❖ Working with AngularJS for ~1 year
3. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Workshop Schedule
1. Presentation
2. Live Coding Examples
3. Practicing AngularJS
4. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS is made for...
❖ Single page applications (SPA, like Twitter)
❖ Weba pps (eg. with Cordova Framework)
❖ More complex magic on your web project
5. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Facts
❖ Also called just “Angular”
❖ Initially published in
2009
❖ Released under MIT
Licence
❖ Developed by Google
and community
❖ Website: angularjs.org
❖ Library file size (v1.2.17)
➢ 103 KiB production
➢ 749 KiB development
❖ Includes jqLite or uses
jQuery if existing
6. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules
7. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (1/7)
❖ We need a blank HTML template
❖ And a clean folder structure:
■ app/
■ css/
■ js/
■ index.html
8. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (2/7)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>AngularJS Workshop</title>
<link media="all" rel="stylesheet" href="css/style.css">
</head>
<body>
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/angularjs/angular.min.js"></script>
<!-- AngularJS App -->
<script src="app/app.js"></script>
</body>
</html>
A blank HTML template
9. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (3/7)
❖ Container for AngularJS magic
❖ You may include other modules
➢ Don’t invent the wheel twice
➢ Just reuse other modules in your applications
❖ A module is the beginning of all AngularJS projects
A module for the application
10. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (4/7)
❖ In app/app.js we declare our first module:
A module for the application
// declares a module
var app = angular.module('myFirstApp', []);
app.controller(‘MyFirstController’, ...);
// also declares a module
angular.module('mySecondApp', ['myFirstApp']);
angular.module('mySecondApp').controller(...);
11. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (5/7)
❖ This happens with the directive ng-app:
Lets introduce the HTML to our new app
<body ng-app="myFirstApp">
<!-- Script includes ... -->
<script src="app/app.js"></script>
</body>
❖ It is possible to use several apps seperately on
one page
12. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (6/7)
❖ Created a blank HTML template
➢ Included jQuery, AngularJS and our first module
❖ Declared first module in app.js
❖ Paired <body> with myFirstApp
➢ by using ng-app directive
Summary
13. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The very first steps (7/7)
❖ An awesome blank site, ready for AngularJS magic ;-)
Result
14. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules
15. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules ✓
16. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (1/7)
❖ Everything in your DOM may be a directive:
➢ Elements (<ng-include></ng-include)
➢ Classes (class="ng-include: data;")
➢ Attributes (<b ng-include="data">)
➢ Comments (<!-- directive: ng-include data -->)
❖ Directives attach custom behavior to those elements
or transform them
What the $%&!% are directives?!
17. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (2/7)
❖ AngularJS provides plenty of its own directives:
AngularJS provided directives
❖ ngApp
❖ ngBind
❖ ngBlur
❖ ngChange
❖ ngChecked
❖ ngClass
❖ ngClick
❖ ngInlcude
❖ ngModel
❖ ngPluralize
❖ ngRepeat
❖ ngShow
❖ ngSrc
❖ ...
18. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (3/7)
❖ Directive ngModel:
➢ <input ng-model="foo">
➢ <input data-ng:model="foo">
➢ <input data-ng-model="foo">
➢ <input ng:model="foo">
➢ <input ng_model="foo">
➢ <input x-ng-model="foo">
❖ Might be necessary for html/xhtml validation reasons
Different syntax available
19. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (4/7)
❖ Let’s take the HTML template we have prepared and add:
Simple example of Angular’s directives (1/2)
<input type="text" ng-model="name">
<h1 ng-show="name" ng-class="{red: name=='Armin'}">
Hello, {{name}}!
</h1>
❖ name is a new scope variable
➢ ng-model binds the value of <input> to this variable
➢ {{name}} expression outputs the variable
20. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (5/7)
❖ We also add a button to set name:
Simple example of Angular’s directives (2/2)
<button ng-click="name='Penelope'">Click me</button>
❖ Clicking the button will set the scope variable name to
“Penelope”. This affects:
➢ The value of <input>, because it is two-way data bound
to variable name
➢ And the {{name}} expression, which outputs the value
21. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (6/7)
❖ Allmost every DOM element may be a directive
❖ We have learned some of Angular’s directives:
➢ ng-model, ng-show, ng-class and ng-click
❖ We have heard about scope variables
❖ We know of double curley expressions to output
{{variables}}
Summary
22. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Directives (7/7)
❖ A dynamic application
without writing one line of
javascript code
Result
23. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules ✓
24. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives ✓
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules ✓
25. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (1/14)
1. Scopes
2. Controllers
3. Expressions
4. Two-Way Data Binding
or: Why AngularJS is superheroic!
26. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
$rootScope
The Big Picture (2/14)
<body ng-app="myFirstApp">
<input type="text" ng-model="name">
<button ng-click="name='Penelope'">Click me</button>
<h1 ng-show="name" ng-class="{red: name=='Armin'}">
Hello, {{name}}!
</h1>
<!-- ... -->
</body>
RootScope
27. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
$rootScope
The Big Picture (3/14)
scope
<body ng-app="myFirstApp">
<input type="text" ng-model="name">
<button ng-click="name='Penelope'">Click me</button>
<div ng-controller="SuperheroicController">
<h1 ng-show="name" ng-class="{red: name=='Armin'}">
Hello, {{name}}!
</h1>
</div>
<!-- ... -->
</body>
Scope inheritance
28. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (4/14)
❖ Controllers create new child scopes
❖ May contain:
➢ Scope variables
➢ Scope functions
❖ Should contain only business logic
➢ Set up the initial state of $scope object
➢ Add behavior to the $scope object
Controllers
29. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (5/14)
❖ Create file app/Controllers/Superheroic.js with
content:
Create the first controller
app.controller('SuperheroicController', ['$scope', function($scope){
$scope.name = 'Tom';
}]);
❖ Expression {{name}} inside of controller’s scope will
always return “Tom”
30. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (6/14)
❖ May also contain functions:
Controller’s $scope
app.controller('SuperheroicController', ['$scope', function($scope){
$scope.add = function(a, b) {
return a + b;
}
}]);
❖ Expressions may also output functions and pass
parameters:
<h1>1 plus 2 equals <em>{{add(1,2)}}</em></h1>
31. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (7/14)
❖ Change events for scope variables
➢ Get fired when value of defined scope variable changes
Watches
$scope.$watch('name', function(newValue, oldValue){
alert('New value: ' + newValue);
}, false);
❖ Instead of 'name' you may also use a function
❖ Can also watch deep objects (set third param to true)
32. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (8/14)
❖ Double curley braces syntax
➢ Contains basically javascript
➢ Accesses scope variables and scope functions
Expressions
❖ Examples:
a. {{a+b}}
b. {{alert('Does this work?')}}
c. {{'Just outputs this string'}}
d. {{a ? a : '??'}}
e. {{user.name}}
33. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (9/14)
Two-Way Data Binding
34. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (10/14)
Two-Way data binding example (with one user)
Model User
{
id: 1,
name: 'Vieweg',
firstName: 'Armin',
image: 'armin.png'
}
<div class="user">
<img ng-src="path/to/{{user.image}}">
<h2>
{{user.name}},
{{user.firstName}}
</h2>
</div>
35. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (11/14)
❖ Scope variables may also contain arrays of objects
❖ To work with them use the ng-repeat directive
Two-Way data binding example (with several users)
<div class="user">
<img ng-src="path/to/{{user.image}}">
<h2>{{user.name}}, {{user.firstName}}</h2>
</div>
<div class="entry" ng-repeat="user in users">
</div>
$scope.users = [
{
name: '...',
firstName: ''
},
{...}
];
36. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (12/14)
❖ Very helpful extension for Google Chrome (Link)
❖ Shows and highlights scopes and its variables
Google Chrome: AngularJS Batarang
37. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (13/14)
❖ AngularJS works with scopes
➢ Scopes inherit their variables/functions to child-scopes
➢ At the very top there exists one $rootScope
➢ $scope.$watch allows us to react on changes of variables
❖ Expressions work in scope context
➢ They check all scopes up to $rootScope for requested
variable or function
❖ Two-Way Data Binding does very much work for us
Summary
38. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
The Big Picture (14/14)
Result
39. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes
Directives ✓
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules ✓
40. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes ✓
Directives ✓
Controllers
Filters
Providers
Services Factories Validators
ExpressionsModules ✓
41. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes ✓
Directives ✓
Controllers
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
42. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
43. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
44. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Dependency Injection
❖ Software Design Pattern
❖ Instantiates and caches used
components
How components get ahold of their dependencies
45. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Dependency Injection
❖ From parameter names in functions:
Two notations to inject
app.controller('SuperheroicController', function($scope){
$scope.hello = 'world';
});
❖ Inline array notation:
app.controller('SuperheroicController', ['$scope', function(whatever)
{
whatever.hello = 'world';
}]);
46. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
47. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection ✓
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
48. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Services & Factories
❖ Reuseable component
❖ A service/factory in Angular is:
➢ Lazy instantiated
➢ Singleton
❖ Angular offers several useful services
➢ They are prepended with $
➢ Do not use $ in your own services
Substitutable objects that are wired together using DI
49. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Services & Factories
❖ $http - For ajax requests
❖ $interval and $timeout - Repeats and delays
❖ $rootScope - Very top scope of application
❖ $location - URL and its parts of current site
❖ $window - Wrapper of global window. Useful for tests.
Selection of useful services provided by Angular
51. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Services & Factories
Writing our first factory
app.factory('Typo3Releases', ['$http', function($http){
var getUrl = 'http://get.typo3.org/json';
var typo3ReleasesService = {};
typo3ReleasesService.get = function(callbackSuccess) {
$http({
method: 'GET',
url: getUrl
}).success(callbackSuccess);
};
return typo3ReleasesService;
}]);
52. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Services & Factories
Inject and call our first factory
app.controller('SuperheroicController',
['$scope', 'Typo3Releases', function($scope, Typo3Releases){
$scope.getTypo3Releases = function() {
Typo3Releases.get(function(response){
// ...
});
};
}]);
53. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Services & Factories
Service and factory syntax compared
app.service('Typo3Releases', ['$http', function($http){
this.get = function(){
// ...
}
}]);
app.factory('Typo3Releases', ['$http', function($http){
var typo3ReleasesService = {};
typo3ReleasesService.get = function() {
// ...
};
return typo3ReleasesService;
}]);
Both have the same call:
Typo3Releases.get();
54. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection ✓
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services Factories Validators
Expressions ✓Modules ✓
55. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection ✓
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services ✓ Factories Validators
Expressions ✓Modules ✓
56. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection ✓
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services ✓ Factories ✓ Validators
Expressions ✓Modules ✓
57. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Filters
❖ Functions which modify expressions
❖ But does not touch the original data
❖ Using filters:
{{name | filter1 | filter2:option}}
Modify expressions
58. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Filters
❖ AngularJS provides few of its own filters:
AngularJS provided filters
❖ currency
❖ date
❖ filter
❖ json
❖ limitTo
❖ lowercase
❖ number
❖ orderBy
❖ uppercase
59. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Filters
❖ {{price | currency:'€'}} // €1,234.56
❖ {{name | uppercase}} // ARMIN
❖ {{created | date:'dd.MM.yyyy'}} // 20.06.2014
❖ Options of filters may be filled by scope variable:
{{created | date:format}}
Usage examples
60. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Filters
Writing your own filters
app.filter('replaceVowelsWith', function(){
return function(input, option){
if (option === undefined || input === undefined) return input;
return input.replace(/[aeiou]/gi, option);
}
});
{{'Drei Chinesen mit dem Kontrabass...' | 'e'}}
Dree Chenesen met dem Kentrebess...
61. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS Buzzwords
Dependency Injection ✓
Two-way Data Binding ✓
Scopes ✓
Directives ✓
Controllers ✓
Filters
Providers
Services ✓ Factories ✓ Validators
Expressions ✓Modules ✓
63. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Validators
❖ Forms and/or fields get validated
❖ By HTML5 validation notation (eg. type="email")
❖ Independent from browser validation, Angular:
➢ Checks values on its own
➢ Adds indicating classes to fields and forms (eg. ng-invalid)
➢ Adds $invalid property to scope of form
❖ You may write your own validators using directives
You're not coming in
64. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Validators
<form name="form" novalidate>
<input type="email" ng-model="mail" name="mail" required>
<button type="submit" ng-disabled="form.$invalid">Submit</button>
</form>
Example
Show error messages in case validators fail:
<span ng-if="form.mail.$error.required">Mail is required!</span>
<span ng-if="form.mail.$error.email">No valid mail!</span>
65. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Validators
❖ Writing a validator means writing a directive
❖ Usage example in template:
➢ <input name="number" type="number" ng-model="number"
required even-number>
➢ Input must be
✓ any input (required)
✓ a number (type="number")
✓ an even number (directive even-number)
Your own validators/directives
68. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Providers
❖ Five recipes for providers:
1. Value
2. Constant
3. Factory
4. Service
5. Provider
❖ Providers are bound to modules/applications
Almost every AngularJS buzzword is made by providers
69. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Providers
var app = angular.module('myFirstApp', []);
app.value('bestCmsEver', 'TYPO3');
app.controller('SuperheroicController', ['$scope', 'bestCmsEver',
function($scope, bestCmsEver){
this.bestCmsEver = bestCmsEver;
}]);
Small example with value and constant provider
72. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Advantages of AngularJS
❖ Allows you to work clean using reuseable modules
❖ Features of Angular
➢ enables completely new possibilites (2-way data binding)
➢ saves a lot of time for common tasks (like validation)
❖ Components are unittestable
❖ Further development of Angular, thanks to Google
73. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
AngularJS help
❖ Guide: https://docs.angularjs.org/guide
❖ API: https://docs.angularjs.org/api
❖ Many many articles, videos and examples on
➢ YouTube
➢ StackOverflow
➢ all over the web
74. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Workshop Schedule
1. Presentation
2. Live Coding Examples
3. Practicing AngularJS
75. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Workshop Schedule
1. Presentation ✓
2. Live Coding Examples
3. Practicing AngularJS
15 minute break
76. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS
Thanks for your ttention!
77. 20th June 2014, Armin Rüdiger Vieweg (@ArminVieweg)
Getting started with superheroic JavaScript library AngularJS