Павло Чупірчук.  Перші комп’ютери  Нові горизонти  Персональні комп’ютери  Кожному  Мобільні пристрої  Де завгодно «Піраміда Маслоу». Наші дні.

Slides:



Advertisements
Similar presentations
Creating Vector Graphics in the Web Learning & Development Telerik Software Academy.
Advertisements

Mobile Design Patterns Eric Neff Harkeerat Toor Malcolm Nguyen Kiefer Consulting, Inc. Mobile Division Bit.ly/z5yjsz.
Mobile App Development Using: Presented by Tyler Richey Images from
Who are these guys? Bruce Pulley Senior Mobile Applications Developer Andrew Rumbley Senior.
FUNCTIONAL ASPECTS OF GREAT NATIVE MOBILE APPS
Про конкурс HTC Android Developers Contest перший конкурс для Android-розробників в Україні; мета: пітримати розробку нових Android додатків для українського.
Multiple Tiers in Action
Електронна пошта – сервіс
М УЛЬТИМЕДІЙНІ ПРЕЗЕНТАЦІЇ Мультимедійні технології С ТВОРЕННЯ КЛІПІВ.
ОПЕРАЦІЙНА СИСТЕМА Windows 
Створення та форматування інформаційного вмісту презентації
Робота з Windows Файл, папка.
ОПЕРАЦІЙНА СИСТЕМА Windows Встановіть відповідність 
ОПЕРАЦІЙНА СИСТЕМА Windows 
Eclipse + Android SDK, VS + Windows Phone SDK Telerik Software Academy Hybrid Mobile Applications.
Google App Engine for Java Google App Engine2 Google App Engine (GAE) – це інфраструктура хмарних обчислень, яка орієнтована на підтримку веб-додатків.
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
How to make it work? Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
Eclipse + Android SDK, VS + Windows Phone SDK Svetlin Nakov Telerik Software Academy academy.telerik.com Technical Trainer
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
Twitter Bootstrap Telerik Software Academy
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Mobile App Support Jacob Poirier Geri Hengesbach Andrea Menke Erin Rossell.
Telerik Software Academy ASP.NET MVC.
Using KendoUI for SPA Applications Learning & Development Telerik School Academy.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
The way to create cross-platform apps Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
PhoneGap- Cross platform for mobile Lê Nguyên Khánh Trần Đại Nhân
Telerik Software Academy Mobile apps for iPhone & iPad.
Jeff Batt eLearning Brothers Product Development Manager B.Y.O.L.: Titanium - Create Mobile Training as a Native App Using Javascript Jeff Batt eLearning.
MDCFUG TeraTech, Inc Adobe Apollo By Michael Smith TeraTech.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
2006 Adobe Systems Incorporated. All Rights Reserved. 1 RIAs - Beyond the Buzz James Ward Technical Evangelist jamesward.org
What it is, and does it work Learning & Development Telerik School Academy.
Device APIs with Xamarin
Ant Ant2 Призначення: виконання повторюваних, як правило, рутинних завдань, пов'язаних із розробкою, розгортанням, виконанням проектів. Приклади.
Telerik Software Academy Mobile apps for iPhone & iPad.
Academy.telerik.com Class of , Fall 2013.
До використання COM- об’єктів у Visual Studio (C#)
JavaScript Modules and Patterns Telerik Software Academy
Sprint 1 February 14 th – 28 th.  We will be developing a 2d game for the Android OS application platform for smart phones  Development in Java  Using.
Xamarin with SQLite Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Ivaylo Kenov Telerik Software Academy Technical Assistant.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Developing "evil" JavaScript applications Learning & Development Telerik School Academy.
The PhoneGap History Doncho Minkov Telerik Software Academy Technical Trainer
Windows 8 Ronnie Saurenmann Technical Evangelist Microsoft Switzerland
Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Top 12 Frameworks for Android App Development
In JavaScript Learning & Development Telerik Software Academy.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
Svetlin Nakov Telerik Software Academy Manager Technical Training
Splitting JavaScript into Dependent Modules Learning & Development Telerik Software Academy.
Changing the default visualization of views in Xamarin.Forms Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Cross-platform mobile development. Simplified. Pavel Kolev Telerik Software Academy Software Developer
#SummitNow Alfresco Mobile SDKs in Action 06 November, 2013 Mike Hatfield Lead Engineer Mobile Apps, Alfresco.
Shared Application Telerik School Academy Xamarin apps for iOS, Android & WinPhone.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Nikolay Kostov Telerik Software Academy academy.telerik.com Team Lead, Senior Developer and Trainer
Adding UI and Audio element Telerik Academy Plus Unity 2D Game Development.
PhoneGap Cross-Platform Development Company India
跨平台 Hybrid App 開發簡介 - 使用 Visual Studio Tool for Apache Cordova + HTML/JavaScript 陳葵懋 (Ian)
Mobile App Development Using:
Browsers and Web Platforms
Apache Cordova Overview
@NicJ
Apps XD.
Unit 6 part 3 Test Javascript Test.
Intro to Construct 2 Game Development
Presentation transcript:

Павло Чупірчук

 Перші комп’ютери  Нові горизонти  Персональні комп’ютери  Кожному  Мобільні пристрої  Де завгодно «Піраміда Маслоу». Наші дні

 Перші комп’ютери  Мови низького і високого рівня  Персональні комп’ютери  Кросплатформенність і орієнтованість на ОС  Мобільні пристрої  Native vs Web

 Різноманіття платформ  A давай створимо свою мобільну OS?  Змагання магазинів  І відкриємо свій магазин програмок?  Але без мережі – як без води

 Використання особливостей ОС  Економія трафіку  Робота без підключення  Швидкість роботи програми  Незалежність від ОС  Не потрібна інсталяція  Миттєві оновлення  Єдиний код, мова  Швидкість розробки програми

 Відкритий web-рушій  Вже є на більшості смартфонів і планшетів  В ядрі найпопулярніших браузерів  Chrome  Safari  Основа для багатьох програм  Mobile  Desktop

Studio Android deviceProject dir Java Script API Andrid API apk -file Resources html css java script Resources html css java script Resources html css java script Resources html css java script WebKit Android project

 Продукт Appcelerator Inc.  RIA для мобільних пристроїв  Android, iOS, Black Berry, Windows Phone  Набір специфічних JavaScript API  Titanium SDK + Studio  Free

 Папка Resources  Файли з кодом і зображення  Підпапки: android, iphone, mobileweb, ui…  app.js  Точка входу  tiapp.xml  Конфігурація проекту

if (Ti.version < 1.8) { alert('Sorry '); } //add a single variable to the global scope var globals = {}; //create a private scope to prevent further polluting the global object (function() { var AppTabGroup = require('ui/AppTabGroup').AppTabGroup, ListWindow = require('ui/ListWindow').ListWindow, AddWindow = require('ui/AddWindow').AddWindow; // Initialize local storage require('db').createDb(); … if (Ti.version < 1.8) { alert('Sorry '); } //add a single variable to the global scope var globals = {}; //create a private scope to prevent further polluting the global object (function() { var AppTabGroup = require('ui/AppTabGroup').AppTabGroup, ListWindow = require('ui/ListWindow').ListWindow, AddWindow = require('ui/AddWindow').AddWindow; // Initialize local storage require('db').createDb(); …

globals.tabs = new AppTabGroup({ title : 'Todo', icon : 'images/KS_nav_ui.png', window : new ListWindow({ title : 'Todo', backgroundColor : '#fff', navBarHidden : false, isDone : 0, activity : { onCreateOptionsMenu : function(e) { var menu = e.menu; var menuItem = menu.add({ title : "Add Task" }); menuItem.setIcon("images/ic_menu_add.png"); menuItem.addEventListener("click", function(e) { new AddWindow().open(); }); } }}) globals.tabs = new AppTabGroup({ title : 'Todo', icon : 'images/KS_nav_ui.png', window : new ListWindow({ title : 'Todo', backgroundColor : '#fff', navBarHidden : false, isDone : 0, activity : { onCreateOptionsMenu : function(e) { var menu = e.menu; var menuItem = menu.add({ title : "Add Task" }); menuItem.setIcon("images/ic_menu_add.png"); menuItem.addEventListener("click", function(e) { new AddWindow().open(); }); } }}) }, { title : 'Done', icon : 'images/KS_nav_views.png', window : new ListWindow({ title : 'Done', backgroundColor : '#fff', navBarHidden : false, isDone : 1 }) }); }, { title : 'Done', icon : 'images/KS_nav_views.png', window : new ListWindow({ title : 'Done', backgroundColor : '#fff', navBarHidden : false, isDone : 1 }) }); globals.tabs.open(); })(); globals.tabs.open(); })();

exports.AppTabGroup = function() { var self = Ti.UI.createTabGroup(); for (var i = 0, l = arguments.length; i < l; i++) { var tab = Ti.UI.createTab(arguments[i]); if (i === 0) { self.currentTab = tab; } self.addTab(tab); } self.addEventListener('focus', function(e) { self.currentTab = e.tab; }); return self; }; exports.AppTabGroup = function() { var self = Ti.UI.createTabGroup(); for (var i = 0, l = arguments.length; i < l; i++) { var tab = Ti.UI.createTab(arguments[i]); if (i === 0) { self.currentTab = tab; } self.addTab(tab); } self.addEventListener('focus', function(e) { self.currentTab = e.tab; }); return self; };

exports.AddWindow = function() { var db = require('db'); var self = Ti.UI.createWindow({ modal: true, title: 'Add Item', backgroundColor: '#fff' }); //var itemField = … //var addButton = … self.add(itemField); self.add(addButton); return self; }; exports.AddWindow = function() { var db = require('db'); var self = Ti.UI.createWindow({ modal: true, title: 'Add Item', backgroundColor: '#fff' }); //var itemField = … //var addButton = … self.add(itemField); self.add(addButton); return self; }; var itemField = Ti.UI.createTextField({ width: '300dp', height: '45dp', top: '20dp', hintText: 'New Item', borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED, returnKeyType: Ti.UI.RETURNKEY_DONE }); itemField.addEventListener('return', function(e) { addTask(itemField.value, self); }); var itemField = Ti.UI.createTextField({ width: '300dp', height: '45dp', top: '20dp', hintText: 'New Item', borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED, returnKeyType: Ti.UI.RETURNKEY_DONE }); itemField.addEventListener('return', function(e) { addTask(itemField.value, self); });

exports.AddWindow = function() { var db = require('db'); var self = Ti.UI.createWindow({ modal: true, title: 'Add Item', backgroundColor: '#fff' }); //var itemField = … //var addButton = … self.add(itemField); self.add(addButton); return self; }; exports.AddWindow = function() { var db = require('db'); var self = Ti.UI.createWindow({ modal: true, title: 'Add Item', backgroundColor: '#fff' }); //var itemField = … //var addButton = … self.add(itemField); self.add(addButton); return self; }; var addButton = Ti.UI.createButton({ title: 'Add', width: '300dp', height: '40dp', top: '80dp' }); addButton.addEventListener('click', function() { addTask(itemField.value, self); }); var addButton = Ti.UI.createButton({ title: 'Add', width: '300dp', height: '40dp', top: '80dp' }); addButton.addEventListener('click', function() { addTask(itemField.value, self); }); var addTask = function(value, win) { if (value === '') { alert('Please enter a task first'); return; } require('db').addItem(value); Ti.App.fireEvent('app:updateTables'); win.close(); }; var addTask = function(value, win) { if (value === '') { alert('Please enter a task first'); return; } require('db').addItem(value); Ti.App.fireEvent('app:updateTables'); win.close(); };

var platform = Ti.Platform.osname; if (platform !== 'android') { var addBtn = Ti.UI.createButton({ title:'+' }); addBtn.addEventListener('click', function() {new AddWindow().open();}); if (platform === 'mobileweb') { self.layout = 'vertical'; addBtn.height = 40; addBtn.width = 40; addBtn.top = 0; addBtn.right = 10; self.add(addBtn); self.add(tableview); } else{ self.rightNavButton = addBtn; } var platform = Ti.Platform.osname; if (platform !== 'android') { var addBtn = Ti.UI.createButton({ title:'+' }); addBtn.addEventListener('click', function() {new AddWindow().open();}); if (platform === 'mobileweb') { self.layout = 'vertical'; addBtn.height = 40; addBtn.width = 40; addBtn.top = 0; addBtn.right = 10; self.add(addBtn); self.add(tableview); } else{ self.rightNavButton = addBtn; }

 Єдина основа  Єдина мова JavaScript  Доступ до системних особливостей  Багато документації  Одночасна розробка  Не потрібно глибоко вникати в нюанси ОС  … o Обов’язкова реєстрація o Сертифікація o Прив’язка до онлайну o Застарілі версії SDK o Потрібно встановлювати SDK o …

ІнструментНеобхідні знання ПлатформиЦінаОсобливості Touch 2 HTML, CSS, JavaScript iOS, Android, Blackberry Free Інсталяція, локальний сервер HTML, CSS, jQuery Мобільні браузери FreeМобільні сайти HTML, CSS, JavaScript, XML Android, iOS, Mobile Web $15-$50 на місяць Drag and drop розробка (web) HTML and CSS iOS, Android, Windows Phone $79 на місяць або реклама Контент, програмування C++iOS, Android, WP. FreeEclipse, компіляція Ruby iOS, Android, WP, BB FreeMotorola

 Proxy objects “bridge”  Близькість до ОС  швидкість  функціональність PhoneGap  Web view  Простота і портативність  Native розширення  Не всі webkit-ти однаково корисні Titanium

  Хашими С. «Разработка приложений для Android»  T. Poulsen K. Whinnery «Building Mobile Applications with Titanium»  apps/ apps/  development-tools/ development-tools/  titanium-and-phonegap titanium-and-phonegap  of_mobile_marketing_and_tagging.aspx of_mobile_marketing_and_tagging.aspx