SlideShare uma empresa Scribd logo
1 de 119
Baixar para ler offline
FROM IDEATO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
Yo!
@bramus https://www.bram.usBram(us)Van Damme
All work, no and play
#ikdoeict SmallTown Heroes
I’m a former lecturer Web & Mobile, now into breaking builds at Small Town Heroes
So you have this great idea for an app
We all have great ideas!
What now?
So you have this great idea for an app
Slideshare Search: “From idea to app”
So you have this great idea for an app
• Evaluate your idea
• Is it a good idea?
• Will it help people?
• How’s the competition doing?
• Is there a market?
• Plan your app
• Features
• Define the MVP
• Design
• App Flow (Wireframes)
http://yvonnelao.com/2011/04/28/mobile-app-user-flow-chart/
Resulting Wireframes
FROM IDEATO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
FROM IDEATO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
FROM WIREFRAMESTO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
FROM MVPTO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
MVP = Minimal Viable Product
So you want to build your MVP
What now?
https://adactio.com/journal/4437
If you’re looking for the more honest, truthful
answer to pretty much any question on web
design and usability, here it is:
It depends.
It Depends (TM)
https://adactio.com/journal/4437
It Depends (TM)
If you’re looking for the more honest, truthful
answer to pretty much any question on web
design and usability, here it is:
It depends.
XCode, Objective-C / Swift, and the App Store
So you want to build your MVP for iOS
https://developer.apple.com/programs/enroll/
Apple Developer License
https://developer.apple.com/programs/enroll/
Apple Developer License
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
Objective-C
https://developer.apple.com/swift/
Swift
https://developer.apple.com/xcode/
XCode
Create an archive of your App to upload to Apple
XCode
https://itunesconnect.apple.com/
iTunes Connect
https://itunesconnect.apple.com/
iTunes Connect
http://appreviewtimes.com/
Average App Store ReviewTimes
Your app in the App Store, after approval.
App Store
Even a small typo fix will take up to 7 days.
NewVersion?
Android SDK, Java, and the Play Store
So you want to build your MVP for Android
http://developer.android.com/distribute/googleplay/start.html
Google Play Developer License
http://developer.android.com/distribute/googleplay/start.html
Google Play Developer License
You know, like in “Programmeren 1”
Java
http://developer.android.com/tools/studio/index.html
Android Studio
https://play.google.com/apps/publish/
Google Play Developer Console
https://play.google.com/apps/publish/
Google Play Developer Console
http://androidreviewtimes.xormedia.com/
Average Play Store ReviewTimes
Your App, in the Play Store
Play Store
Lather, Rinse, Repeat
So you want to build your MVP for Platform X
Native Apps
Write,Test, Build
What if I told you …
Hybrid Apps
Write once, run anywhere
Apache Cordova
https://cordova.apache.org/
→ If you know HTML/CSS/JavaScript, you know how to build a mobile app
HTML
You, after “Webtechnieken”
→ If you know AngularJS, you know how Ionic works
CSS
You, after “Webtechnieken”
→ If you can read, you know Ionic
JavaScript
You, after “Webscripten1”
EV-Point
(3RDS)
Video not playing? https://youtu.be/4AhOKtXowgs
App development time?
(from no code to working prototype in Simulator)
App development time?
(from no code to working prototype in Simulator)
App development time?
(from no code to working prototype in Simulator)
Here’s a hint:
App development time
(in hours)
How is that possible?
Ionic Framework
http://ionicframework.com/
Ionic Framework
http://ionicframework.com/
Ionic = CSS Framework
http://ionicframework.com/docs/components/
Ionic = CSS Framework
Cross-Platform CSS, yay!
Ionic = Built on top of AngularJS
https://angularjs.org/
Ionic = JavaScript Components
Ionic Component = Angular directive + behavior (+ Angular delegate)
Ionic CLI: ionic serve
$	
  ionic	
  serve
← with livereload
→ If you know HTML/CSS/JavaScript, you know how to build a mobile app
Ionic CLI: ionic serve
Cordova Plugins
https://cordova.apache.org/plugins/
Jackpot, Right?!
Nope!
(citation needed)
Final App = Multiple Seasons of 24
App Speed?
http://appreviewtimes.com/
Average App Store ReviewTimes
Bootstrapitis
http://www.novolume.co.uk/blog/all-websites-look-the-same/
What now?
What if I told you …
iOS:WKWebView
(Planned in Cordova 5)
Android: CrossWalk
https://crosswalk-project.org/
What if I told you …
De allesweter
(Small Town Heroes)
Video not playing? https://youtu.be/gtSxQ9E9jVA
What if I told you …
Native + Web
Best of both worlds
1. Host some of your content online
Local HTML vs. Online HTML
a. Hybrid App: Point to online URL
← Online FAQ
b. Native App: Use WebViews
Host some of your views online so that you can change it anytime you want.
Memory Game = HTML
We embed this HTML game in a webview contained in the KetnetJr App
Native-Webview Communication with JockeyJS
https://github.com/tcoulter/jockeyjs
// Send an event to JavaScript, passing a payload.
// payload can be an NSDictionary or NSArray, or anything that is serializable to JSON.
// It can be nil.
[Jockey send:@"event-name" withPayload:payload toWebView:webView];
// If you want to send an event and also execute code within the iOS app when all
// JavaScript listeners have finished processing.
[Jockey send:@"event-name" withPayload:payload toWebView:webView perform:^{
// Respond to callback.
}];
// Listen for an event from iOS and log the payload.
Jockey.on("event-name", function(payload) {
console.log(payload);
});
2. Build an API and feed your app with it
Feed your app the data it needs, whenever you want
ZAPP TEKENAPP
ZAPP TEKENAPP
3. Use Feature Flags
Build it, activate it later
Example
div(ng-switch="'featureInvitefriends' | setting : false")
div(ng-switch-when="false")
.item.item-divider
.item-info(ng-bind-html="'CREATE_CHANNEL.SHARE.EXPLANATION' | translate")
a.item.item-icon-left(ng-click="doShareGroup(id, title, share_url)")
i.icon.icon-add
| {{ 'CREATE_CHANNEL.SHARE.LABEL' | translate }}
div(ng-switch-when="true")
.item.item-divider
.item-info(ng-bind-html="'CREATE_CHANNEL.INVITE.EXPLANATION' | translate")
.item.item-divider
ion-item.friend(ng-repeat="friend in friends.list", ng-click="doInvite(friend)")
img(ng-src="{{ friend.thumbnailURL }}")
.name {{ friend.firstName }} {{ friend.lastName }}
Let your views show or not show a feature depending on a setting
Example
Let your app request the settings on load
4. Swizzling
Monkey Patch your app on the fly
Native: Method Swizzling
#import
#import "UIViewController+Logging.h"
@implementation UIViewController (Logging)
+ (void)load {
static dispatch_once_t once_token;
dispatch_once(&once_token, ^{
SEL viewWillAppearSelector = @selector(viewDidAppear:);
SEL viewWillAppearLoggerSelector = @selector(logged_viewDidAppear:);
Method originalMethod = class_getInstanceMethod(self, viewWillAppearSelector);
Method extendedMethod = class_getInstanceMethod(self, viewWillAppearLoggerSelector);
method_exchangeImplementations(originalMethod, extendedMethod);
});
}
- (void) logged_viewDidAppear:(BOOL)animated {
[self logged_viewDidAppear:animated];
NSLog(@"logged view did appear for %@", [self class]);
}
@end
http://spin.atomicobject.com/2014/12/30/method-swizzling-objective-c/
Hybrid: Load extra JS/CSS
var loadScripts = function(array, callback) {
var loader = function(src, handler) {
var script = document.createElement('script');
script.src = src;
script.onload = script.onreadystatechange = function() {
script.onreadystatechange = script.onload = null;
handler();
}
var head = document.getElementsByTagName('head')[0];
(head || document.body).appendChild(script);
};
(function() {
if (array.length!=0) {
loader(array.shift(), arguments.callee);
} else {
callback && callback();
}
})();
};
http://stackoverflow.com/a/1867135/2076595
Angular/Ionic: Decorate it
angular.module('ionHeaderBarTapOverride', [])
// Add our custom tapToScroll implementation on ionHeaderBar (with a higher priority)
.directive('ionHeaderBar', ['$ionicScrollDelegate', function($ionicScrollDelegate) {
return {
restrict: 'E',
priority: 100,
link: function($scope, $element, $attr) {
// YOUR CODE HERE
}
};
}])
// Remove Ionic's tapToScroll implementation from ionHeaderBar
.config(function($provide) {
$provide.decorator('ionHeaderBarDirective', ['$delegate', function($delegate) {
$delegate.shift(); // It's the first one. Delete it
return $delegate;
}]);
});
http://stackoverflow.com/a/18425418/2076595 http://stackoverflow.com/a/23209542/2076595
→ If you can read, you know Ionic
Write unit tests
(and also execute them using a pre-commit hook)
Write unit tests
(and also execute them using a pre-commit hook)
Use Git
https://git-scm.com/ | https://github.com/
Git Branching Strategy
• Develop on master
• Result = “beta”or “staging” builds
• → Send these to your beta testers
• Promote master to release
• Result = “production” or “appstore” builds
• → Send these to the App Store / Play Store / …
Branches have different BUILD_ENV’s
Continuous Integration with Circle CI
https://circleci.com/
Continuous Integration: how?
→ It’s one big hack (Combination of circle.yml, Makefile, bash scripts, build hooks, etc) but it works
# Inject settings for BUILD_ENV into config files
- BUILD_ENV=$(ENVIRONMENT) grunt string-replace:settings
# Compile src into www, with staging environment
- BUILD_ENV=staging grunt build
## Build Android
- BUILD=$CIRCLE_BUILD_NUM BUNDLE_ID="be.smalltownheroes.vrt.allesweter.$ENVIRONMENT" BUILD_ENV=$(ENVIRONMENT) make android
- ./scripts-ci/archive_apk.sh staging
- ./scripts-ci/distribute_apk.sh
# Build IOS
- BUILD=$CIRCLE_BUILD_NUM BUNDLE_ID="be.smalltownheroes.vrt.allesweter.$ENVIRONMENT" BUILD_ENV=$(ENVIRONMENT) make ios
- ./scripts-ci/archive_ipa.sh staging
- ./scripts-ci/distribute_ipa.sh staging
Continuous Integration: how?
→ It’s one big hack (Combination of circle.yml, Makefile, bash scripts, build hooks, etc) but it works
# Inject build number and bundle id into config.xml
APP_BUILD=$(BUILD) APP_ID=$(BUNDLE_ID) node scripts-ci/update_config_xml.js
# Install Ionic Platforms and Plugins
rm -rf platforms
rm -rf plugins
ionic platform add android
# Inject Crashlytics
./scripts-ci/crashlytics-android.sh
# Build it
ANDROID_NAME="$(DISPLAY_NAME)" ionic build android --device --release
Continuous Integration with Circle CI
https://circleci.com/
CI Build Artifacts
https://circleci.com/
Distributing beta builds using Fabric
https://www.fabric.io/
Distributing beta builds using Fabric
Distributing production builds using fastlane
https://fastlane.tools/
Thank you.
FROM IDEATO APP
or how we roll at Small Town Heroes
@bramus | Opleiding Elektronica-ICT, Odisee | 02/12/15
bramus@smalltownheroes.be
www.smalltownheroes.be
@townheroes

Mais conteúdo relacionado

Mais procurados

Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkJulien Renaux
 
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015Alessio Delmonti
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentJustin James
 
Ionic CLI Adventures
Ionic CLI AdventuresIonic CLI Adventures
Ionic CLI AdventuresJuarez Filho
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Developmentthedumbterminal
 
Ember Conf 2016: Building Mobile Apps with Ember
Ember Conf 2016: Building Mobile Apps with EmberEmber Conf 2016: Building Mobile Apps with Ember
Ember Conf 2016: Building Mobile Apps with EmberAlex Blom
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Serge van den Oever
 
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without CompromisesIonic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without CompromisesJacob Friesen
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic frameworkShyjal Raazi
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationMuhammad Hakim A
 
L’enjeu du mobile pour le développeur Web, et comment Mozilla va vous aider
L’enjeu du mobile pour le développeur Web,  et comment Mozilla va vous aiderL’enjeu du mobile pour le développeur Web,  et comment Mozilla va vous aider
L’enjeu du mobile pour le développeur Web, et comment Mozilla va vous aiderTristan Nitot
 
Angularjs Tutorial for Beginners
Angularjs Tutorial for BeginnersAngularjs Tutorial for Beginners
Angularjs Tutorial for Beginnersrajkamaltibacademy
 
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016Loïc Knuchel
 
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG🎤 Hanno Embregts 🎸
 
TOC Workshop 2013
TOC Workshop 2013TOC Workshop 2013
TOC Workshop 2013Haig Armen
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Mobile Information Architecture
Mobile Information ArchitectureMobile Information Architecture
Mobile Information ArchitectureChristian Crumlish
 

Mais procurados (20)

Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
 
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
 
Ionic CLI Adventures
Ionic CLI AdventuresIonic CLI Adventures
Ionic CLI Adventures
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Development
 
Ember Conf 2016: Building Mobile Apps with Ember
Ember Conf 2016: Building Mobile Apps with EmberEmber Conf 2016: Building Mobile Apps with Ember
Ember Conf 2016: Building Mobile Apps with Ember
 
Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript Building an Ionic hybrid mobile app with TypeScript
Building an Ionic hybrid mobile app with TypeScript
 
Getting Your Hooks into Cordova
Getting Your Hooks into CordovaGetting Your Hooks into Cordova
Getting Your Hooks into Cordova
 
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without CompromisesIonic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
L’enjeu du mobile pour le développeur Web, et comment Mozilla va vous aider
L’enjeu du mobile pour le développeur Web,  et comment Mozilla va vous aiderL’enjeu du mobile pour le développeur Web,  et comment Mozilla va vous aider
L’enjeu du mobile pour le développeur Web, et comment Mozilla va vous aider
 
Angularjs Tutorial for Beginners
Angularjs Tutorial for BeginnersAngularjs Tutorial for Beginners
Angularjs Tutorial for Beginners
 
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016
Ionic2 - the raise of web developer, Riviera DEV le 17/06/2016
 
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG
 
TOC Workshop 2013
TOC Workshop 2013TOC Workshop 2013
TOC Workshop 2013
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Ember At Scale
Ember At ScaleEmber At Scale
Ember At Scale
 
Mobile Information Architecture
Mobile Information ArchitectureMobile Information Architecture
Mobile Information Architecture
 

Destaque

Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...
Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...
Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...Niels Timmermans
 
Interact - How to create an App?
Interact - How to create an App?Interact - How to create an App?
Interact - How to create an App?The Design Zoo
 
Zoo Animal Welfare
Zoo Animal WelfareZoo Animal Welfare
Zoo Animal WelfareLia Oostingh
 
Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure EnvironmentMichael Collier
 
DataEd Online: Demystifying Big Data
DataEd Online: Demystifying Big DataDataEd Online: Demystifying Big Data
DataEd Online: Demystifying Big DataDATAVERSITY
 
Seo easywebshop notion_technologies
Seo easywebshop notion_technologiesSeo easywebshop notion_technologies
Seo easywebshop notion_technologiesFind-U België
 
App idea powerpoint
App idea powerpointApp idea powerpoint
App idea powerpointChris Bailey
 
EURIB Korte opleiding: Online marketing - Maart 2016
EURIB Korte opleiding: Online marketing - Maart 2016EURIB Korte opleiding: Online marketing - Maart 2016
EURIB Korte opleiding: Online marketing - Maart 2016Ayman van Bregt
 
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...Kai Wähner
 
Inside Azure Resource Manager
Inside Azure Resource ManagerInside Azure Resource Manager
Inside Azure Resource ManagerMichael Collier
 
Understanding personal privacy in the age of big online data
Understanding  personal privacy  in the age of big online dataUnderstanding  personal privacy  in the age of big online data
Understanding personal privacy in the age of big online dataMathieu d'Aquin
 
BIG DATA Online Training | Hadoop Online Training with Placement Assistance
BIG DATA Online Training | Hadoop Online Training with Placement Assistance BIG DATA Online Training | Hadoop Online Training with Placement Assistance
BIG DATA Online Training | Hadoop Online Training with Placement Assistance Computer Trainings Online
 
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance Indicator
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance IndicatorCongres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance Indicator
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance IndicatorLonneke Theelen
 
Distributed Online Machine Learning Framework for Big Data
Distributed Online Machine Learning Framework for Big DataDistributed Online Machine Learning Framework for Big Data
Distributed Online Machine Learning Framework for Big DataJubatusOfficial
 
Ieee rules for paper presentation
Ieee rules for paper presentationIeee rules for paper presentation
Ieee rules for paper presentationffunny
 
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Dion Hinchcliffe
 
Digital Strategies for Luxury Brands
Digital Strategies for Luxury BrandsDigital Strategies for Luxury Brands
Digital Strategies for Luxury BrandsMarci Ikeler
 

Destaque (19)

Fietskadee
FietskadeeFietskadee
Fietskadee
 
Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...
Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...
Ontwikkelen van een nieuwe site voor de standaard & onderzoek naar het opzett...
 
Interact - How to create an App?
Interact - How to create an App?Interact - How to create an App?
Interact - How to create an App?
 
Zoo Animal Welfare
Zoo Animal WelfareZoo Animal Welfare
Zoo Animal Welfare
 
Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure Environment
 
DataEd Online: Demystifying Big Data
DataEd Online: Demystifying Big DataDataEd Online: Demystifying Big Data
DataEd Online: Demystifying Big Data
 
Seo easywebshop notion_technologies
Seo easywebshop notion_technologiesSeo easywebshop notion_technologies
Seo easywebshop notion_technologies
 
App idea powerpoint
App idea powerpointApp idea powerpoint
App idea powerpoint
 
EURIB Korte opleiding: Online marketing - Maart 2016
EURIB Korte opleiding: Online marketing - Maart 2016EURIB Korte opleiding: Online marketing - Maart 2016
EURIB Korte opleiding: Online marketing - Maart 2016
 
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...
WJAX 2013 Slides online: Big Data beyond Apache Hadoop - How to integrate ALL...
 
Inside Azure Resource Manager
Inside Azure Resource ManagerInside Azure Resource Manager
Inside Azure Resource Manager
 
Understanding personal privacy in the age of big online data
Understanding  personal privacy  in the age of big online dataUnderstanding  personal privacy  in the age of big online data
Understanding personal privacy in the age of big online data
 
BIG DATA Online Training | Hadoop Online Training with Placement Assistance
BIG DATA Online Training | Hadoop Online Training with Placement Assistance BIG DATA Online Training | Hadoop Online Training with Placement Assistance
BIG DATA Online Training | Hadoop Online Training with Placement Assistance
 
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance Indicator
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance IndicatorCongres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance Indicator
Congres Toptaken 22 april 2014 | Lonneke Theelen | Task Performance Indicator
 
Distributed Online Machine Learning Framework for Big Data
Distributed Online Machine Learning Framework for Big DataDistributed Online Machine Learning Framework for Big Data
Distributed Online Machine Learning Framework for Big Data
 
Omgaan met veranderingen
Omgaan met veranderingenOmgaan met veranderingen
Omgaan met veranderingen
 
Ieee rules for paper presentation
Ieee rules for paper presentationIeee rules for paper presentation
Ieee rules for paper presentation
 
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
Vital Trends in Digital Experience and Transformation in 2016 | Dreamforce 20...
 
Digital Strategies for Luxury Brands
Digital Strategies for Luxury BrandsDigital Strategies for Luxury Brands
Digital Strategies for Luxury Brands
 

Semelhante a From Idea to App (or “How we roll at Small Town Heroes”)

phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers dssprakash
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017Matt Raible
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaumsandeephegde
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMartinSotirov
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildChris Griffith
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegapRakesh Jha
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegapRakesh Jha
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopMark Rackley
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptKevin Read
 

Semelhante a From Idea to App (or “How we roll at Small Town Heroes”) (20)

phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
[JMaghreb 2014] Developing JavaScript Mobile Apps Using Apache Cordova
 
OpenMIC March-2012.phonegap
OpenMIC March-2012.phonegapOpenMIC March-2012.phonegap
OpenMIC March-2012.phonegap
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Mobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to NativeMobile Vue.js – From PWA to Native
Mobile Vue.js – From PWA to Native
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap Build
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegap
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegap
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
 
React django
React djangoReact django
React django
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScript
 

Último

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

From Idea to App (or “How we roll at Small Town Heroes”)