Post on 05-Jul-2015
description
transcript
Alessio Ricco
Fifty Shades of Alloy - tips and tools for better Titanium Mobile apps
@alessioricco - Wallive ltd
MILAN november 28th/29th 2014
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 2
Titanium
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 3
Platform
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 4
Architecture
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 5
Alloy
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 6
Views
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 7
Styles
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 8
Controllers
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 9
Models
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 10
Media and resources
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 11
Appcelerator Blog [web]
http://www.appcelerator.com/blog/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 12
TiDev [web]
http://www.tidev.io/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 13
Prototyping e Frameworks
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 14
Ti-Browser [prototyping]
http://www.ti-browser.com/en/ John Anderson
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 15
Ti UX Templates [framework]
http://www.uxmobilepatterns.com/ Sonia Villanueva and Javier Rayon
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 16
Ti UX Templates [framework]
https://github.com/jaraen/Ti.UX.Templates Sonia Villanueva and Javier Rayon
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 17
\ [framework]
https://github.com/TNuzzi/wriststrap Tony Nuzzi
A Twitter Bootstrap inspired framework for Appcelerator Titanium (Alloy)
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 18
Repositories and Marketplace
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 19
gitTio [repo]
http://gitt.io/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 20
TitaniumControls [repo]
http://www.titaniumcontrols.com/ Autore
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 21
Tools and Utilities
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 22
grunt plugins [tools]
http://tonylukasavage.com/blog/2014/01/23/automating-appcelerator-tasks-with-grunt-titanium-and-grunt-alloy/
module.exports = function(grunt) {
// configure the plugins grunt.initConfig({ titanium: { all: { options: { command: 'create', name: 'app_name', workspaceDir: '.' } } }, alloy: { new_app: { options: { command: 'new', args: ['app_name'] } }, compile: { options: { command: 'compile', platform: 'ios', outputPath: 'app_name' } } } });
// Actually load this plugin's task(s). grunt.loadTasks('tasks');
// These plugins provide necessary tasks. grunt.loadNpmTasks('grunt-titanium'); grunt.loadNpmTasks('grunt-alloy');
grunt.registerTask('default', ['titanium', 'alloy']);};
“In a natural fusion of my current technological entanglements, I took to creating grunt task plugins for Appcelerator’s core cross-platform mobile development tools. As a result, we now have grunt-titanium for the Titanium CLI and grunt-alloy for the Alloy MVC framework. With these plugins you can now automate all functionality involved by these 2 tools, in turn letting you shift your focus onto your mobile app development, where it should be.” (Tony Lukasavage)
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 23
stss [preprocess]
https://github.com/RonaldTreur/STSS Ronald Treur
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 24
Titaniumifier [tools]
https://github.com/smclab/titaniumifier Pier Paolo Ramon - SMC
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 25
Titanium-jsduck [documentation]
https://www.npmjs.org/package/titanium-jsduck Jamil Hassan Spain
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 26
TiCons [training]
http://ticons.fokkezb.nl/ Fokke Zandbergen
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 27
Sublime Text [preprocess]
https://github.com/MattTuttle/sublime-ti-build Matt Tuttle
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 28
Submodules [preprocess]
http://emanuele.decup.is/articles/reuse-code-alloy-custom/ Emanuele Decupis (a.k.a. Ciccio Balanza)
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 29
General Pourpose Libraries
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 30
Trimethyl 2 [library]
https://github.com/CaffeinaLab/Trimethyl CaffeinaLab
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 31
UTiL [library]
https://github.com/FokkeZB/UTiL Fokke Zandbergen
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 32
Titanium Modules [documentation]
https://github.com/appcelerator/titanium_modules Appcelerator
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 33
Libraries
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 34
ti-soap [library]
https://github.com/smclab/ti-soap SMC
var soap = require('soap');var config = require('config');soap.createClient('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL', function (err, client) { if (err) throw err;
Ti.API.error("Methods:"); Ti.API.error(Object.keys(client));
Ti.API.error(client.ConversionRate);
client.ConversionRate({ FromCurrency: 'USD', ToCurrency: 'CNY' }, function (err, results) { if (err) throw err; Ti.API.error(results); });});
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 35
TiWorker [code]
https://github.com/appcelerator-modules/ti.worker Appcelerator
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 36
Ti-superagent [training]
https://github.com/smclab/ti-superagent SMC
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 37
XHR Http Client [library]
https://github.com/raulriera/XHR Autore
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 38
Google Auth (OAuth 2.0) for Titanium [library]
https://github.com/ejci/Google-Auth-for-Titanium Miroslav Magda
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 39
RestAPI Sync Adapter for Titanium Alloy [code]
https://github.com/viezel/napp.alloy.adapter.restapi Mads Møller
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 40
Code Tips
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 41
underscore.js [code]
http://underscorejs.org/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 42
Custom View in Alloy [code]
http://fokkezb.nl/2013/07/14/custom-alloy-view-components/ Fokke Zandbergen
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 43
Use Alloy.jmk [documentation]
http://docs.appcelerator.com/titanium/3.0/#!/guide/Build_Configuration_File_(alloy.jmk) Appcelerator
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 44
TiIconicFont [code]
https://github.com/k0sukey/TiIconicFont Kosuke Isobe
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 45
Slideshare [code]
http://www.slideshare.net/alessioricco/titanium-appcelerator-best-practices?related=1 Alessio Ricco
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 46
WebViews
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 47
take the best from the Webview [code]
WebView is not only for web pages… Communication between App and Webview (local pages) Lot of powerful js libraries immediately available Easy to implement but… …Pay attention to the performance
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 48
Mapbox [code]
https://www.mapbox.com/mapbox.js/api/v2.1.4/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 49
Charts [code]
http://www.appcelerator.com/blog/2013/09/interactive-charts-in-appcelerator-titanium/ L. Brenman
“A simple method of adding high quality, cross device, interactive charts to your Titanium mobile applications by leveraging the Titanium web view control and the Highcharts JavaScript charting engine”
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 50
Testing
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 51
TiInspector [test]
http://titaniumninja.com/debugging-titanium-apps-with-chrome-devtools/ Olivier Morandi
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 52
Tio2 [test]
https://github.com/appcelerator/tio2 Appcelerator
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 53
ti-mocha [test]
http://tonylukasavage.com/ti-mocha/ Tony Lukasavage
Simple and reliable support for mocha testing with Appcelerator's Titanium SDK
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 54
TiCalabash [test]
https://github.com/appersonlabs/TiCalabash AppersonLabs
picture by Andrew McElroy
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 55
TiShadow [test]
http://tishadow.yydigital.com/ David Bankier
TiShadow provides Titanium developers the ability to deploy apps, run tests or execute code snippets live across all running iOS and Android devices.
There are three parts to TiShadow: the TiShadow server, TiShadow app and TiShadow CLI which are all need.
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 56
Rapiddev [test]
http://appersonlabs.com/2014/01/09/rapiddev-titanium-development-speed-light/ Apperson Labs
So why use RapidDev? RapidDev provides a more simple toolset with the idea that less is more.
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 57
Deployment
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 58
installr [deployment]
https://github.com/amitkothari/ti-installr-hook
https://www.installrapp.com/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 59
Communities
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 60
Be a certified developer [training]
http://training.appcelerator.com/get-certified
call my friends from etnatraining.it for a great Titanium Course in Italy…
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 61
tiConf [community]
http://ticonf.org/ http://www.tipsyandtumbler.co.uk/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 62
ti-connect [community]
http://ti-connect.com/
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 63
Join your local community [training]
https://www.facebook.com/groups/TitaniumMobileItaly/ Great people and friends
MILAN november 28th/29th 2014 – Alessio Ricco
Fifty shades of Alloy - @alessioricco 64
[credits]
Thank you to all my Ti.Friends and colleagues
A special thank to my friend Dick
https://www.facebook.com/groups/TitaniumMobileItaly/http://www.html.it/guide/guida-titanium/http://www.linkedin.com/in/alessioriccohttp://www.slideshare.net/alessioricco