SlideShare a Scribd company logo
Funny JS #3
Коновалов Александр
Обо мне:
Тренер «Основы JS» и «Funny JS»,
Эксперт AT-Consulting, блок «Инновационные решения»
Темы:
switch (Темы) {
case «Angular vs React»:
case «Создаем свой твиттер»:
case «Angular Tweeter»:
case «React Tweeter» :
case «Итоги» :
default:
смотреть();
}
Funny JS.
React vs Angular
Funny JS. Angular vs React
Angular = Angular 2/4 = angular ^4.3.6
React = React JS = react ^15.6.1
AngularJS = Angular JS ^1.5*
Наименование версий:
Funny JS. Angular vs React
Angular vs React
Typescript Язык JSX
HTML файлы Разметка JSX файлы
Двунаправленный Поток данных Однонаправленный
2010 (AngularJS) Дата создания 2013
Google,
Sony,
Nike
Компании Facebook,
Instagram,
Codecademy, Сбербанк
144KB Размер сборки (prod)* 117KB
1MB Размер сборки (dev)* 559KB
Funny JS. Сделаем свой
твиттер
Funny JS. Создаем свой твиттер
Из чего состоит:
• загрузка списка твитов
• просмотр стены пользователя
• добавление нового твита
Funny JS. Создаем свой твиттер
Загрузка списка твитов:
• запрос к сервису – асинхронная загрузка
• каждый твит - компонент
• асинхронная проверка новых твитов
• service workers
• серверный рендеринг
Funny JS. Создаем свой твиттер
добавление твита:
• валидация
• асинхронно
• обновление списка
• параллельная отправка данных
• показываем ошибку, если не
удалось отправить
Funny JS. Создаем свой твиттер
Компоненты:
• настройка проекта - конфиги
• роутинг
• работа со стилями
• http-запросы
Funny JS. Создаем свой твиттер
React:
1) npm init
2) React Router v4
3) axios
4) redux-form, redux
Angular:
1) ng create
2) @angular/router
3) @angular/http
4) @angular/forms
Funny JS. Подготовка. Сервисы
GraphQL + graph.cool:
• схема
• запросы
• сервисы
https://github.com/graphcool-examples/react-graphql
https://github.com/graphcool-examples/angular-graphql
Funny JS. Подготовка. Стили
Bootstrap:
https://github.com/twbs/bootstrap
https://getbootstrap.com/docs/4.0/getting-started/introduction/
Funny JS. Подготовка. Babel
React:
{
"presets": [
"es2015",
"react",
"stage-0"
]
}
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"]
/*------------- ... ---------------*/
}
}
Angular:
Funny JS. Итоги
React: Angular:
Funny JS. Итоги
React:
Angular:
Примерно совпадают, у Angular
чуть больше
Funny JS. Итоги
React:
Плюсы:
+ Быстрый старт
+ Библиотека
+ Virtual DOM
Минусы:
- Библиотека
- Поиск компонентов
Плюсы:
+ Фреймворк
+ Angular CLI
+ Веб-компоненты
+ Typescript
Минусы:
- Сложность в изучении
- Взаимодействие с DOM напрямую
Angular:
Funny JS. Стартовыепроекты для разработки
react-starter:
React, Webpack, React Router, Less, Redux, Redux-Form, NodeJS
Angular4, Webpack и Angular CLI, NodeJS
angular-starter: https://github.com/sani-banani/angular4-
starter
https://github.com/sani-banani/react-starter
Funny JS. Исходный код готового проекта
react-tweeter:
angular-tweeter:
https://github.com/sani-banani/angular4-starter/tree/example-tweeter
https://github.com/sani-banani/react-starter/tree/example-tweeter
Полезные ссылки:
https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-
33b932d97cf2
https://www.graph.cool/
https://www.madewithangular.com/
https://github.com/facebook/react/wiki/sites-using-react
http://blog.techmagic.co/angular-2-vs-react-what-to-chose-in-2017/
Контакты:
Mail: akonovalov@at-consulting.com
FB: sancho.konovalov
Skype: s2dent_73
GitHub: sani-banani

More Related Content

Similar to Funny JS #3. Воркшоп. Делаем свой твиттер с React и Angular

Mobile Web Apps development essentials
Mobile Web Apps development essentialsMobile Web Apps development essentials
Mobile Web Apps development essentials
Pavlo Iuriichuk
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
Pavel Chertorogov
 
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveReturn on Intelligence
 
React Native (Metup#6)
React Native (Metup#6)React Native (Metup#6)
React Native (Metup#6)
Eugene Potapenko
 
Andrey Lazarev - React Redux Starter Kit VS Create React App
Andrey Lazarev - React Redux Starter Kit VS Create React AppAndrey Lazarev - React Redux Starter Kit VS Create React App
Andrey Lazarev - React Redux Starter Kit VS Create React App
Innovecs
 
Актуальные технологии и тренды в веб-разработке
Актуальные технологии и тренды в веб-разработкеАктуальные технологии и тренды в веб-разработке
Актуальные технологии и тренды в веб-разработке
Denis Izmaylov
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыUA Mobile
 
React native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. IntroReact native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. Intro
Igor Izraylevych
 
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...it-people
 
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&CoОдин день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Сбертех | SberTech
 
Разработка игр для iPhone
Разработка игр для iPhoneРазработка игр для iPhone
Разработка игр для iPhone
agoncharenko
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной команды
Vladimir Merkushev
 
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-b...
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-b...FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-b...
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-b...
FrontDays
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsAndrew Mayorov
 
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
it-people
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
Yandex
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
Provectus
 
Server Side Javascript (ru)
Server Side Javascript (ru)Server Side Javascript (ru)
Server Side Javascript (ru)
Bakyt Niyazov
 

Similar to Funny JS #3. Воркшоп. Делаем свой твиттер с React и Angular (20)

Mobile Web Apps development essentials
Mobile Web Apps development essentialsMobile Web Apps development essentials
Mobile Web Apps development essentials
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehaveЭволюция к Behavior Driven Development на примере популярного фреймворка JBehave
Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave
 
React Native (Metup#6)
React Native (Metup#6)React Native (Metup#6)
React Native (Metup#6)
 
Andrey Lazarev - React Redux Starter Kit VS Create React App
Andrey Lazarev - React Redux Starter Kit VS Create React AppAndrey Lazarev - React Redux Starter Kit VS Create React App
Andrey Lazarev - React Redux Starter Kit VS Create React App
 
Актуальные технологии и тренды в веб-разработке
Актуальные технологии и тренды в веб-разработкеАктуальные технологии и тренды в веб-разработке
Актуальные технологии и тренды в веб-разработке
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
 
React native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. IntroReact native. Bridge From Web To Mobile. Intro
React native. Bridge From Web To Mobile. Intro
 
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
 
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&CoОдин день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
 
Разработка игр для iPhone
Разработка игр для iPhoneРазработка игр для iPhone
Разработка игр для iPhone
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной команды
 
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-b...
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-b...FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-b...
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-b...
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platforms
 
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Server Side Javascript (ru)
Server Side Javascript (ru)Server Side Javascript (ru)
Server Side Javascript (ru)
 

Funny JS #3. Воркшоп. Делаем свой твиттер с React и Angular

Editor's Notes

  1. Цели: Познакомить со сложными моментами в JS. Освежить знания.
  2. https://www.slideshare.net/TechMagic/angular-2-vs-react-what-to-chose-in-2017
  3. https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-33b932d97cf2
  4. https://medium.com/@addyosmani/progressive-web-apps-with-react-js-part-2-page-load-performance-33b932d97cf2