ݺߣ

ݺߣShare a Scribd company logo
Лисовский Артем
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
Что	это	и	с	чем	едят
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
Область применения AngularJS.
Откуда такая популярность?
•  Идеален для Single Page Application (SPA)
приложений («богатое» приложение, генерирующее и
изменяющее большой объем DOM’а «на лету» без
перезагрузки страницы)
•  «Умный». Возможность директив
•  Код более сложный, но его в разы меньше
•  Никакой привязки к #id и .class для работы с
элементами
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
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/
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
Итог:	плюсы	
Быстро	
Просто	
	-	легкая	сборка	
	-	легкая	отладка	
Что	угодно,	любой	сложности	
Автоматическая	генерация	под	любую	
платформу	
Большое	комьюнити,	много	инфы,	плагины	
Бесплатно
Проблемы	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
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
Минусы	
•  нет	многих	компонент	
•  маленькое	коммьюнити
Tabris
Appcelerator
Минусы	
•  баги	
•  ide	–	Aptana	
•  прайс	
•  коммьюнити
FrontDays #2. Артём Лисовский, Кроссплатформенные приложения на js:  от web-based к native
React	Na?ve	
Плюсы:	
•  Facebook	
•  коммьюнити	
•  react	
Минусы:	
•  разный	код	под	разные	платформы
кодим
НЕ	JS	
•  Xamarin	
•  unity	
•  Coronalabs
Вывод	
•  JS	как	ЯП	для	мобильной	разработки	это	
возможно	
•  возможно	писать	кроссплатформенные	
нативные	приложения	
•  реальная	возможность	для	web-
разработчиков

More Related Content

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