SlideShare a Scribd company logo
1 of 35
BUILD CROSS-PLATFORM
NATIVE MOBILE APP FOR
DNN
DNN Mobi
Ash Prasad
DNN Corp.
Agenda
The App (demo)
DNN Web Api History
Mobile Development Platforms
Appcelerator – View, Controller, Markup
Appcelerator Dev Environment
Tips
Code Walkthrough
• Debugging
• Emulators
About Me – Ash Prasad
DNN Corp
• Sr. Manager, Development
• Langley, Canadian office
• Look after Evoq products
• Creator of DNN 7.1 Search
Microsoft Asp.Net / IIS MVP
Author: Professional DNN7: Open Source .NET CMS Platform
DnnMobi Creator
CISSP
UI – Look & Feel
Login Questions List View Ask a Question
App Demo
DNN Web Api
Dnn Web Apis are AWESOME!!!
BUT
Not Mobile Friendly
So, What’s Missing
Just 4 things
1. Login
..a way to login
1. Shuttle Cookies
...between app and Web API
3. Antiforgery Token
..send to Web API
4. Page and Module Security
..send Module & Tab Ids to Web API
So, what did I do?
First .. stop complaining...instead do
something
I built a team
 Me – Architect & Developer
 My wife – UI design
 My Kids – QA
 Our family time
 Our own hardware / software / app store
certificates
 All open source
I looked at various frameworks
 Icenium (Telerik)
 PhoneGap
 Xamarin
 Native Android
 Native iOS
 Appcelerator
Winner
…..Appcelerator
Why Appcelerator
 Cross Platform
• iOS, Android, Blackberry, Tizen
• Windows Phone (coming)
 MVC Architecture (Alloy)
 JS / Html / CSS (tss)
 No need to learn Native
 All open source - Free
Development Environment
 Mac (Android and iOS)
 or
 PC (Android only)
 Titanium Studio
• FREE, Open Source
• Alloy MVC framework
 Genymotion
• FREE - very fast Android emulator
 TiShadow
Development Environment
(contd.)
 SublimeText3 (Optional)
• There are plugins for Titanium
 Developer certificates
• Apple and Google- $$$
 DNN Site
• DnnMobiHelper installed
 Android phone – set in Developer mode
 TestFlight (optional)
Architecture
Appcelerator MVC
View
• XML markup
Style
• TSS (css)
Controller –
• JS code behind
Appcelerator - View
Appcelerator - Style
Appcelerator - JS
Appcelerator – TiApp.Xml
Appcelerator – Library
Login
Get
Post
TabId
ModuleId
Antiforgery
Logoff
IsLoggedIn
UI Flow – Login to Answers
Data Flow – Login
2 Callbacks
• Success
 Open Main
• Failure
 Show error
WebApiHelper
• Login
Data Flow - Main
TabGroup
Add tabs
• Answers
• Messages
Data Flow - Answers
ListView
• Template
WebApi
Auto Load
Databind
Tips
 Use Genymotion for Android
• Google’s Emulator – Very Slow
 Xcode emulators - pretty good
 Use TiShadow for faster dev
 Test on physical devices often
 Android and iOS are DIFFERENT
• Accept it!!
Tips (cond..)
Understand Layout
• horizontal vs. vertical
Brush up on JS
Understand DNN Security
• Use WebApi attributes
• Cookies
Code Demo
Source Code
Appcelerator based App’s source code
• https://github.com/ashishpd/DnnMobile/tree/maste
r/DnnMobi
DnnMobiHelper (install on DNN)
• https://github.com/ashishpd/DnnMobile/tree/maste
r/DnnMobiHelper
Questions?

More Related Content

What's hot

Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
Kevin Whinnery
 
FSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the MatrixFSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the Matrix
Frédéric Harper
 
Silverlight as a desktop application
Silverlight as a desktop applicationSilverlight as a desktop application
Silverlight as a desktop application
msarangam
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js App
FITC
 

What's hot (20)

Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
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
 
FSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the MatrixFSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the Matrix
 
APAC Webinar: Say Hello To Xamarin.Forms
APAC Webinar: Say Hello To Xamarin.FormsAPAC Webinar: Say Hello To Xamarin.Forms
APAC Webinar: Say Hello To Xamarin.Forms
 
Silverlight as a desktop application
Silverlight as a desktop applicationSilverlight as a desktop application
Silverlight as a desktop application
 
Cordova 3.x
Cordova 3.xCordova 3.x
Cordova 3.x
 
DF17 - Build your own jaw-dropping Salesforce Chrome Extension
DF17 - Build your own jaw-dropping Salesforce Chrome ExtensionDF17 - Build your own jaw-dropping Salesforce Chrome Extension
DF17 - Build your own jaw-dropping Salesforce Chrome Extension
 
Snappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember AppsSnappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember Apps
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
 
What's new in Xamarin.Forms?
What's new in Xamarin.Forms?What's new in Xamarin.Forms?
What's new in Xamarin.Forms?
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js App
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Latest Web development technologies 2021
 Latest Web development technologies 2021 Latest Web development technologies 2021
Latest Web development technologies 2021
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introduction
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Visual Studio Productivity Tools
Visual Studio Productivity ToolsVisual Studio Productivity Tools
Visual Studio Productivity Tools
 
Web application intro
Web application introWeb application intro
Web application intro
 
Visual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.FormsVisual Studio Toolbox - Introduction To Xamarin.Forms
Visual Studio Toolbox - Introduction To Xamarin.Forms
 

Similar to Dnn connect dnnmobi-slides

Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
Mihail Mateev
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
Sumit Kataria
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjects
Chris Schilling
 

Similar to Dnn connect dnnmobi-slides (20)

Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigueNode.js meetup 17.05.2017   ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
.NET? MonoDroid Does
.NET? MonoDroid Does.NET? MonoDroid Does
.NET? MonoDroid Does
 
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in DominoDEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjects
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
Meetic Backend Mutation With Symfony
Meetic Backend Mutation With SymfonyMeetic Backend Mutation With Symfony
Meetic Backend Mutation With Symfony
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (6)

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
 

Dnn connect dnnmobi-slides