SlideShare a Scribd company logo
1 of 27
Download to read offline
Лисовский Артем
Что	это	и	с	чем	едят
Область применения AngularJS.
Откуда такая популярность?
•  Идеален для Single Page Application (SPA)
приложений («богатое» приложение, генерирующее и
изменяющее большой объем DOM’а «на лету» без
перезагрузки страницы)
•  «Умный». Возможность директив
•  Код более сложный, но его в разы меньше
•  Никакой привязки к #id и .class для работы с
элементами
Ionic		
<ion-header-bar	class="bar-posi?ve">	
	<h1	class="?tle">Haha</h1>							
</ion-header-bar>	
<ion-content>	
	<ion-list>	
	 	<ion-item	ng-repeat="item	in	items">	
				 	 	 	Item	{{item.id}}	
	 	</ion-item>	
	</ion-list>	
</ion-content>	
	
angular.module('ionicApp',	['ionic'])	
.controller('MyCtrl',	func?on($scope)	{	
$scope.items	=	[	
				{	id:	0	},	
				{	id:	1	},	
				{	id:	2	}	
				…	
];	
});
Ge^ng	started	
Install	
$	sudo	npm	install	-g	ionic	
	
Start	project	
$	ionic	start	todo	blank	
	
Run	&	debug	
$	ionic	serve	
$	ionic	serve	--lab	
	
Add	pladorm	for	deploy	or	na?ve	run	
$	ionic	pladorm	add	ios	
$	ionic	build	ios	
$	ionic	emulate	ios
Что	в	коробке?	
Стили	и	иконки	
hmp://ionicframework.com/docs/components/		
Директивы	
hmp://ionicframework.com/docs/api/direc?ve/
ionTabs/		
hmp://ionicframework.com/docs/api/direc?ve/
ionScroll/
Куда	дальше?	
•  Модули	Cordova	
	
–  Ac?on	Sheet	
–  AdMob	
–  App	Availability	
–  App	Rate	
–  App	Version	
–  Badge	
–  Background	Geoloc	
–  Bamery	Status	
–  Barcode	Scanner	
–  Calendar	
–  Camera	
–  Capture	
–  Clipboard	
–  Contacts	
–  Date	Picker	
–  Device	
–  Device	Mo?on	
–  Device	Orienta?on	
–  Dialogs	
–  Email	Composer	
–  Facebook	
–  File	
–  File	Transfer	
–  FileOpener2	
–  Flashlight	
–  Geoloca?on	
–  Globaliza?on	
–  Google	Analy?cs	
–  HealthKit	
–  Image	Picker	
–  In	App	Browser	
–  Instagram	
–  Keyboard	
–  Keychain	
–  Local	No?fica?on	
–  Media	
–  Na?ve	Audio	
–  Network	
–  OAuth	
–  Pin	Dialog	
–  Preferences	
–  Printer	
–  Progress	Indicator	
–  Push	No?fica?ons	
–  SMS	
–  Social	Sharing	
–  Spinner	Dialog	
–  Splashscreen	
–  SQLite	
–  StatusBar	
–  Toast	
–  TouchID	
–  Vibra?on	
–  ZIP	
hmp://ngcordova.com/docs/plugins/
Итог:	плюсы	
Быстро	
Просто	
	-	легкая	сборка	
	-	легкая	отладка	
Что	угодно,	любой	сложности	
Автоматическая	генерация	под	любую	
платформу	
Большое	комьюнити,	много	инфы,	плагины	
Бесплатно
Проблемы	webview-based	
Возможные	различия	в	вёрстке	
Тормоза	и	лаги	
Невозможность	управлять	памятью	и	тп	
UI	не	Na?ve(а	это	главное)	
	
hmps://www.youtube.com/watch?v=juWhxCz1Wmg
Кто	ещё?	
Enyo	JS	
Sencha	
Meteor	
PhoneGap	
Onsen	UI	
Intel	XDK	
Kendo	UI	
Jquery	Mobile	
Framework	7	
Famo.us	
Monaca	
Meteor.js	
…
Окей.	Хочу	Na?ve.		
Как	это	будет	работать?	
•  Пишем	код	на	js	
•  Происходит	преобразование	js	to	<pladorm-
code>
Какие	проблемы?	
•  Не	ultra-crosspladorm,	так	как:	
– у	каждой	платформы	свои	косяки	
– часто	необходим	разный	код	под	разные	
платформы(работа	с	View’хами	и	тп)	
•  Нужно	что-то	изучать	дополнительно	
•  Порог	входа
Кто	есть	кто?	
•  Na?ve	Sсript	
•  TabrisJS	
•  Appcelerator	
•  Fuse(FuseTools)	
•  Trigger.io	
•  React	Na?ve
Минусы	
•  нет	многих	компонент	
•  маленькое	коммьюнити
Tabris
Appcelerator
Минусы	
•  баги	
•  ide	–	Aptana	
•  прайс	
•  коммьюнити
React	Na?ve	
Плюсы:	
•  Facebook	
•  коммьюнити	
•  react	
Минусы:	
•  разный	код	под	разные	платформы
кодим
НЕ	JS	
•  Xamarin	
•  unity	
•  Coronalabs
Вывод	
•  JS	как	ЯП	для	мобильной	разработки	это	
возможно	
•  возможно	писать	кроссплатформенные	
нативные	приложения	
•  реальная	возможность	для	web-
разработчиков

More Related Content

Similar to FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-based к native

AngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияAngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияIgor Sazonov
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and AngularSQALab
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеDenis Izmaylov
 
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&CoОдин день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&CoСбертех | SberTech
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
MongoDB basics in Russian
MongoDB basics in RussianMongoDB basics in Russian
MongoDB basics in RussianOleg Kachan
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыVladimir Merkushev
 
Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»e-Legion
 
YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011CodeCamp
 
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. IntroIgor Izraylevych
 
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JSFestUA
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван МоскалёвYandex
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakAmasty
 
Jody - JsOn for Dynamic sites on Rails
Jody - JsOn for Dynamic sites on RailsJody - JsOn for Dynamic sites on Rails
Jody - JsOn for Dynamic sites on Railszykin-ilya
 
Разработка Web-приложений на Angular JS. Архитектурные семинары Softengi
Разработка Web-приложений на Angular JS. Архитектурные семинары SoftengiРазработка Web-приложений на Angular JS. Архитектурные семинары Softengi
Разработка Web-приложений на Angular JS. Архитектурные семинары SoftengiSoftengi
 

Similar to FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-based к native (20)

AngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для пониманияAngularJS. Введение и простые примеры для понимания
AngularJS. Введение и простые примеры для понимания
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
Angular js
Angular jsAngular js
Angular js
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
Full Stack разработка на JavaScript
Full Stack разработка на JavaScriptFull Stack разработка на JavaScript
Full Stack разработка на JavaScript
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and Angular
 
Изоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабированиеИзоморфные React-приложения: производительность и масштабирование
Изоморфные React-приложения: производительность и масштабирование
 
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&CoОдин день из жизни iOs разработчика, Александр Сычёв Rambler&Co
Один день из жизни iOs разработчика, Александр Сычёв Rambler&Co
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
MongoDB basics in Russian
MongoDB basics in RussianMongoDB basics in Russian
MongoDB basics in Russian
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной команды
 
Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»
 
YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011
 
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
 
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
JS Fest 2018. Лилия Карпенко. Особенности создания IOS / Android Mobile Apps ...
 
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  МоскалёвПереводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван  Москалёв
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
Coding monday
Coding mondayCoding monday
Coding monday
 
Jody - JsOn for Dynamic sites on Rails
Jody - JsOn for Dynamic sites on RailsJody - JsOn for Dynamic sites on Rails
Jody - JsOn for Dynamic sites on Rails
 
Разработка Web-приложений на Angular JS. Архитектурные семинары Softengi
Разработка Web-приложений на Angular JS. Архитектурные семинары SoftengiРазработка Web-приложений на Angular JS. Архитектурные семинары Softengi
Разработка Web-приложений на Angular JS. Архитектурные семинары Softengi
 

FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js: от web-based к native