Code Monkey home page Code Monkey logo

angularjs-1's Introduction

Стартиране на слайдовете

За да стартирате слайдовете трябва да имате инсталиран node.js, npm и grunt. За да инсталирате grunt използвайте:

npm install -g grunt-cli
npm install -g grunt

За да стартирате презентация:

cd slides_folder
# Required only once
npm install
grunt server

Изпълнението на последната команда трябва да отвори браузър с url localhost:\d+ (например localhost:9000).

Предварителни изисквания

  1. Добро владеене на HTML и CSS.
  2. Добро владеене на JavaScript.
  3. Познаване на HTTP протокола.
  4. Опит с използване на back-end API.
  5. Основни познания по git.
  6. Опит с MVW framework (не задължително, но ще бъде полезно).
  7. По възможност компютър с Linux или Mac OS X.

Практически умения, които ще придобиете

  1. Познаване на особеностите на Single-Page Applications.
  2. Ще научите основните компоненти на едно AngularJS приложение:
  3. Модули
  4. Контролери
  5. Директиви
  6. Услуги
  7. Филтри
  8. Ще научите как да организирате вашето AngularJS приложение.
  9. Ще научите архитектурните шаблони използвани в AngularJS.
  10. Ще се научите да използвате Bower, Yeoman.
  11. Ще знаете как да използвате RESTful API с AngularJS.
  12. Ще знаете как да използвате Jasmine и Karma за unit testing.
  13. Ще научите различни стратегии за оптимизиране на вашето AngularJS приложение, като например:
  14. Lazy pre-fetching на темплейти.
  15. Използване на аспектно-ориентирано програмиране с AngularJS.

По време на целия курс ще създаваме практически проекти, чрез които да илюстрираме концепциите за учене.

Лектор Минко Гечев

Минко е завършил бакалавърска степен във ФМИ, в момента преборва магистратурата по Софтуерни Технологии.

Занимава се с консултантска дейност и разработка на софтуер за различни клиенти - в момента LearnCapital.

Използвал е различни езици за програмиране, сред които Haskell, AspectJ, JavaScript, PHP, Ruby, C и други. С уеб се занимава от ученическите си години, а през свободното си време се стреми да:

Социални контакти на Минко:

  1. GitHub
  2. Twitter
  3. LinkedIn
  4. Личен блог

Програма на курса

  1. Основни концепции и Bower
  • Видимост на променливите
    • Създаване на обекти в JavaScript
    • Bower - the package manager of the web
    • Observer и Publish/subscribe
  • AngularJS - какво представлява и защо ни е да го използваме?
  • Хоризонтални и вертикални Single-Page Applications
    • Bootstrap на AngularJS приложение и модулите в AngularJS
    • Създаване на просто Todo приложение с AngularJS темплейти
  1. Контекст, контролери и dirty-checking
  • Какво представлява контекстът в едно AngularJS приложение?
      • Chain of Responsibilities и Publish/subscribe
      • Създаване на приложение с dirty-checking data-binding
    • Dependency Injection в AngularJS
  • Шаблонът page controller и контролерите в AngularJS
    • AngularJS $parse
    • Рефакториране на Todo приложението, използвайки AngularJS контролери
  1. Услуги, типове услуги, вградени услуги. $provide, декоратори.
  • Дефиниране на услуги в AngularJS
    • Рефакториране на приложението с цел добавяне на модели и persistance
    • Шаблонът декоратор
    • Декориране на добавените услуги
    • Дъздаване на конфигурируем provider за persistance
  1. Филтри, $q, $http, $resource и използване на RESTful API
    • Какво представляват promises?
    • Създаване на custom филтри
  • $http vs $resource и АctiveRecord шалонът
    • Рефакториране на Todo приложението, използвайки RESTful API
  1. Директиви и routing
    • Рефакториране на приложението, добавяне на валидация на формата за добавяне на todos
    • "Hello, world!" директива
    • mg-repeat директива (link vs render)
    • $location
    • Transclusion
    • $sce и $compile
    • Вградени директиви
  1. Директиви, routing, nested views
    • Добавяне на маршрути в Todo приложението
    • Рефакториране на Todo приложението, използвайки директиви
    • Вложени маршрути с ui-view
    • ng-animate
  1. Yeoman, тестване и "теми за напреднали"
    • Yeoman, Grunt/Gulp
  • Unit тестване с Jasmine и Karma
      • Test all the things!
  • Наследяване
      • Контролери
      • Услуги
  • Добри практики
  1. AOP, lazy-prefetching и други
    • Какво е aspect-oriented programming, защо да го използваме?
    • Lazy-prefetching на темплейти
    • Създаване на VNC клиент

Към всички точки с (*) има предвидена практическа задача.

angularjs-1's People

Contributors

mgechev avatar nshahpazov avatar stvvt avatar yatoff avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.