SlideShare a Scribd company logo
1 of 60
Download to read offline
Real World Lessons
in jQuery Mobile
Kai Koenig	

@AgentK
!
ā€œI wish someone had told me that
beforehandā€
Web/Mobile Developer since the late 1990s	

Interested in: Java, CFML, Functional
Programming, Go, JS, Mobile, Raspberry Pi	

!
Iā€™ve already showed you where I live :)	

Me
- Some jQuery Mobile basic conceptsā€Ø
- Architecture considerations and dealing with
your application & backend dataā€Ø
- Can I use Responsive Design with jQM?ā€Ø
- Device troubles and how to approach themā€Ø
- The issues with plugins and widgetsā€Ø
- Other, unsorted bits and pieces	

Agenda
jQuery Mobile concepts
Basics
jQuery Mobile
Framework for developing portable, mobile
websites or web applications, mobile apps or
desktop apps. 	

!
Builds on top of the jQuery framework	

!
Leverages semantic HTML5/CSS3 and JS
Philosophy
jQuery Mobile
Cross-Mobile Platform (i.e. mobile operating
system)	

!
Cross-Browser	

!
Optimised for touch but also provides support
for mouse cursor
jQuery Mobile
1 .js ļ¬le,1-many .css ļ¬les and some images	

!
Miniļ¬ed and/or Structure-only versions	

!
Custom download packaging	

!
2 interesting and very different examples
http://c.dric.be	

http://m.stanford.edu	

!
!
!
Discuss!
Architecture and Data
What do you want to build?
Some (good?) scenarios for jQM
Existing site and you want a mobile ā€œviewā€.
!
Existing site and you want a mobile web app
complementing it.
!
Youā€™ve got an awesome idea for an app and want
to leverage your web skills to build a mobile app
for an app store.
Single-Page-App
Request-Response-Model
Architecture choices
Demo of the two different approaches with jQM
and CF here
Be aware though
If you only have a hammer in your toolbox, every
problem looks like a nail
Some (bad?) scenarios for jQM
You want to build a casual game app. (maybe use
Flash/AIR and compile to native app)
!
You want to build a game app using some 3D
rendering and lots of heavy maths. (go native)
!
You want a 100% ā€œreal and beautiful and
awesome and perfect and...ā€ native experience
(go native)
Be aware EVEN MORE
Letā€™s get back to jQuery Mobile:	

!
	

 - Widgetsā€Ø
	

 - Page Managementā€Ø
	

 - History Management	

	

 - Event Management	

!
Whatā€™s missing here?
The need for another (data) framework
If you decide to build a Single-Page-App you
most likely want to have another framework
involved:	

!
	

 - AngularJS (careful, known issues)	

	

 - Knockout or Backbone	

!
Also worthwhile having a look at - structuring
your app with RequireJS.
Require and jQuery Mobile
Demo of using jQuery Mobile with RequireJS
Responsive and jQM
Device detection is hard
Device detection
In all seriousness - youā€™re trying to swim against
the stream if you try device detection on your
own.
!
- External services that help you (WURFL)
- Do not do it unless you really have to*
!
* For instance mobilising a legacy app and
creating a different ā€œdefaultā€ views: phone, tablet,
desktop
Device Detection
Quick demo of device detection (phone/tablet)
with JS and CFML
<cffunction name="getDeviceType" access="public" returntype="numeric" output="false">
<cfscript>
var currentMobile = "";
</cfscript>
!
<cfloop list="#application.config.tabletDetectionKeywords#" index="currentMobile">
<cfif findNoCase(currentMobile,CGI.HTTP_USER_AGENT)>
<cfreturn 3>
</cfif>
</cfloop>
!
<cfloop list="#application.config.mobileDetectionKeywords#" index="currentMobile">
<cfif findNoCase(currentMobile,CGI.HTTP_USER_AGENT)>
<cfreturn 2>
</cfif>
</cfloop>
!
<cfreturn 1>
</cffunction>
<parameter>
<name>mobileDetectionKeywords</name>
<value>iphone,ipod,blackberry,mobile,series60,symbian,android,windows
ce,docomo,ppc,pda,iemobile,windows phone,midp,bada</value>
</parameter>
<parameter>
<name>tabletDetectionKeywords</name>
<value>ipad,playbook,tablet</value>
</parameter>
A problematic device detection example
User complains they always end up on the
mobile web app even though theyā€™re using
Firefox on a Mac - obviously client couldnā€™t
reproduce it.
!
Screen sharing session with the user all of a
sudden makes them realise that heā€™s using a
reallly old Mac (PowerPC architecture, not Intel).
Guess what, his user agent contained ā€œPPCā€...
RWD with jQuery Mobile
Urban myth:	

jQuery Mobile and RWD donā€™t work together	

!
!
They do - but maybe differently from what
youā€™d expect after having done pure-RWD
without any mobile UI framework.
Foundations of RWD
CSS Media Queries
!
Fluid Grids
!
Flexible Images and Media
Myth explanations
An early beta version of jQuery Mobile had
ā€œMedia Query Helper Classesā€ that were
removed.	

!
Instead: use CSS3 Media Queries	

!
Itā€™s absolutely feasible to use RWD on the global
design level.
RWD on global design level
Quick demo of using RWD to render different
part of a jQuery Mobile UI depending on
viewport sizing.
RWD-enabled components
All jQuery Mobile components are ļ¬‚exible re
their width and can work in a responsive
context.	

!
Since jQM 1.3.x, some UI widgets explicitly
support internal RWD-behaviour:	

	

 Grids, Reļ¬‚ow Tables & Column Toggles, Panels
RWD-enabled components
Demo of using some of the RWD-enabled
jQuery Mobile components.	

!
Device troublesā€¦
Testing
Testing process
Multiple levels:
!
	

 - Desktop browser with fake user agent
	

 - Device simulator & On-device
!
Valuable tools: 	

!
	

 - iOS SDK,Android SDK
	

 - Ghostlab	

	

 - Adobe Edge Inspect
Catering for device speciļ¬cs
Using proper data types on device forms
Using proper data types on device forms
Radio vs. Selects
Animations
Animations and Transitions
Transitions are seriously broken on Android 2/3
devices. Still in some instances on Android 4.x devices. 	

!
Good solution: switch them off!
!
$( document ).bind( "mobileinit", function (){
var userAgent = navigator.userAgent.toUpperCase();
if (userAgent.indexOf('IPHONE') == -1 &&
userAgent.indexOf('IPOD') == -1) {
$.mobile.defaultPageTransition = 'none';
}
});
Other bits and pieces
Load your stuff on every page
Loading scripts
Every page should contain custom css, global
scripts, headers, footers etc.
!
Some overhead - but SOME user will be on a
phone where JS is locked away or running a basic
feature phone etc.
!
Donā€™t assume that the user has the latest and
greatest and give jQuery Mobile the option to
provide an appropriate fallback.
Site switchers
Switching between mobile and ā€¦
If you switch me between the mobile, tablet and
desktop version of a site, there is no parallel
universe in which I wouldnā€™t want to end up on
the equivalent page of where Iā€™ve been before.
!
Note:That can be surprisingly hard in a Single-
Page-App.
Some quick & dirty code snippets
Labels
jQM automatically truncates your labels.
!
Very cool and useful - not that great if you have
a site with 15 languages, including Hebrew and
Arabic and dynamic labelling.
!
It can be switched off via CSS - but it depends
on the version oneā€™s on.
The power of grids
I seriously think grids and blocks are the most
under-leveraged features in jQuery Mobile.
!
<div class="content" data-role="content">!
! <div class="ui-grid-a">!
! <div class="ui-block-a">I'm the grid element content on the left</div>!
! <div class="ui-block-b">I'm the grid element content on the right</div>!
! </div>!
!
! <div class="ui-grid-a">!
! <div class="ui-block-a"><div class="ui-bar ui-bar-e">I'm the grid element content on the left</
div></div>!
! <div class="ui-block-b"><div class="ui-bar ui-bar-b">I'm the grid element content on the right</
div></div>!
! </div>!
!
! <div class="ui-grid-a">
! <div class="ui-block-a"><button type="submit" data-theme="c">Submit</button></div>
! <div class="ui-block-b"><button type="cancel" data-theme="e">Cancel</button></div>
! </div>!
</div>!
!
Photo credits
https://www.ļ¬‚ickr.com/photos/dave-friedel/4605576616	

https://www.ļ¬‚ickr.com/photos/pictoquotes/11623812414/	

https://www.ļ¬‚ickr.com/photos/ell-r-brown/6982864935	

https://www.ļ¬‚ickr.com/photos/aai/6936657289	

https://www.ļ¬‚ickr.com/photos/konch/4974020028	

https://www.ļ¬‚ickr.com/photos/nnova/5447593986	

https://www.ļ¬‚ickr.com/photos/r36ariadne/6263911540	

https://www.ļ¬‚ickr.com/photos/jacqueline-w/56107224	

https://www.ļ¬‚ickr.com/photos/iw2nse/2787985066	

https://www.ļ¬‚ickr.com/photos/7317295@N04/7852528240	

https://www.ļ¬‚ickr.com/photos/library_mistress/136046502	

!
Useful links
https://github.com/angular-widgets/angular-jqm	

https://github.com/opitzconsulting/jquery-mobile-angular-adapter	

http://simonguest.com/2013/04/08/jquery-mobile-and-angularjs-working-together/
Get in touch
Kai Koenig	

Email: kai@ventego-creative.co.nz	

www.ventego-creative.co.nz	

Blog: www.bloginblack.de	

Twitter: @AgentK

More Related Content

What's hot

Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloadedDominik Helleberg
Ā 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
Ā 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
Ā 
Mobile web or native app
Mobile web or native appMobile web or native app
Mobile web or native appMike Takahashi
Ā 
TOC Workshop 2013
TOC Workshop 2013TOC Workshop 2013
TOC Workshop 2013Haig Armen
Ā 
Web App vs Web Site
Web App vs Web SiteWeb App vs Web Site
Web App vs Web SiteMatt Evans
Ā 
Forum Nokia & UXD Resources
Forum Nokia & UXD ResourcesForum Nokia & UXD Resources
Forum Nokia & UXD ResourcesArabella David
Ā 
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla -  Joomla!Days NL 2010 #jd10nlBuilding mobile website with Joomla -  Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
Ā 
Korea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklimKorea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklimSang Seok Lim
Ā 
Native Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsNative Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsTim Wright
Ā 
$resume2016_EdwardChen
$resume2016_EdwardChen$resume2016_EdwardChen
$resume2016_EdwardChened Chen
Ā 
Building native apps with web components
Building native apps with web componentsBuilding native apps with web components
Building native apps with web componentsDenis Radin
Ā 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
Ā 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2GeneXus
Ā 

What's hot (14)

Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloaded
Ā 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
Ā 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Ā 
Mobile web or native app
Mobile web or native appMobile web or native app
Mobile web or native app
Ā 
TOC Workshop 2013
TOC Workshop 2013TOC Workshop 2013
TOC Workshop 2013
Ā 
Web App vs Web Site
Web App vs Web SiteWeb App vs Web Site
Web App vs Web Site
Ā 
Forum Nokia & UXD Resources
Forum Nokia & UXD ResourcesForum Nokia & UXD Resources
Forum Nokia & UXD Resources
Ā 
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla -  Joomla!Days NL 2010 #jd10nlBuilding mobile website with Joomla -  Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
Ā 
Korea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklimKorea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklim
Ā 
Native Device vs. Mobile Web Applications
Native Device vs. Mobile Web ApplicationsNative Device vs. Mobile Web Applications
Native Device vs. Mobile Web Applications
Ā 
$resume2016_EdwardChen
$resume2016_EdwardChen$resume2016_EdwardChen
$resume2016_EdwardChen
Ā 
Building native apps with web components
Building native apps with web componentsBuilding native apps with web components
Building native apps with web components
Ā 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
Ā 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2
Ā 

Similar to Real World Lessons in jQuery Mobile

Service worker API
Service worker APIService worker API
Service worker APIGiorgio Natili
Ā 
Leveraging Modernizr and Media Queries
Leveraging Modernizr and Media QueriesLeveraging Modernizr and Media Queries
Leveraging Modernizr and Media QueriesJay Rizzi
Ā 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapNur Hidayat
Ā 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
Ā 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Devicefilirom1
Ā 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Atos_Worldline
Ā 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
Ā 
Mobile html5 v2
Mobile html5 v2Mobile html5 v2
Mobile html5 v2HunterLoftis
Ā 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
Ā 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
Ā 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
Ā 
Mobile UX Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX ChallengesJohan Verhaegen
Ā 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010Patrick Lauke
Ā 
Mobile Java with GWT: Still "Write Once, Run Everywhere"
Mobile Java with GWT: Still "Write Once, Run Everywhere"Mobile Java with GWT: Still "Write Once, Run Everywhere"
Mobile Java with GWT: Still "Write Once, Run Everywhere"Alex Theedom
Ā 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5Ron Reiter
Ā 
Why should I care about Responsive Design?
Why should I care about Responsive Design?Why should I care about Responsive Design?
Why should I care about Responsive Design?Fabricio Teixeira
Ā 
The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?Valtech UK
Ā 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013Mathias Strandberg
Ā 

Similar to Real World Lessons in jQuery Mobile (20)

Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
Ā 
Service worker API
Service worker APIService worker API
Service worker API
Ā 
Leveraging Modernizr and Media Queries
Leveraging Modernizr and Media QueriesLeveraging Modernizr and Media Queries
Leveraging Modernizr and Media Queries
Ā 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
Ā 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
Ā 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Device
Ā 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
Ā 
Introduction to jQueryMobile
Introduction to jQueryMobileIntroduction to jQueryMobile
Introduction to jQueryMobile
Ā 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
Ā 
Mobile html5 v2
Mobile html5 v2Mobile html5 v2
Mobile html5 v2
Ā 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Ā 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
Ā 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Ā 
Mobile UX Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX Challenges
Ā 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Ā 
Mobile Java with GWT: Still "Write Once, Run Everywhere"
Mobile Java with GWT: Still "Write Once, Run Everywhere"Mobile Java with GWT: Still "Write Once, Run Everywhere"
Mobile Java with GWT: Still "Write Once, Run Everywhere"
Ā 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
Ā 
Why should I care about Responsive Design?
Why should I care about Responsive Design?Why should I care about Responsive Design?
Why should I care about Responsive Design?
Ā 
The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?
Ā 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013
Ā 

More from Kai Koenig

Why a whole country skipped a day - Fun with Timezones
Why a whole country skipped a day - Fun with Timezones Why a whole country skipped a day - Fun with Timezones
Why a whole country skipped a day - Fun with Timezones Kai Koenig
Ā 
Android 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsAndroid 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsKai Koenig
Ā 
Android 102 - Flow, Layouts and other things
Android 102 - Flow, Layouts and other thingsAndroid 102 - Flow, Layouts and other things
Android 102 - Flow, Layouts and other thingsKai Koenig
Ā 
Android 101 - Building a simple app with Kotlin in 90 minutes
Android 101 - Building a simple app with Kotlin in 90 minutesAndroid 101 - Building a simple app with Kotlin in 90 minutes
Android 101 - Building a simple app with Kotlin in 90 minutesKai Koenig
Ā 
Kotlin Coroutines and Android sitting in a tree - 2018 version
Kotlin Coroutines and Android sitting in a tree - 2018 versionKotlin Coroutines and Android sitting in a tree - 2018 version
Kotlin Coroutines and Android sitting in a tree - 2018 versionKai Koenig
Ā 
Kotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKai Koenig
Ā 
Improving your CFML code quality
Improving your CFML code qualityImproving your CFML code quality
Improving your CFML code qualityKai Koenig
Ā 
Summer of Tech 2017 - Kotlin/Android bootcamp
Summer of Tech 2017 - Kotlin/Android bootcampSummer of Tech 2017 - Kotlin/Android bootcamp
Summer of Tech 2017 - Kotlin/Android bootcampKai Koenig
Ā 
2017: Kotlin - now more than ever
2017: Kotlin - now more than ever2017: Kotlin - now more than ever
2017: Kotlin - now more than everKai Koenig
Ā 
Anko - The Ultimate Ninja of Kotlin Libraries?
Anko - The Ultimate Ninja of Kotlin Libraries?Anko - The Ultimate Ninja of Kotlin Libraries?
Anko - The Ultimate Ninja of Kotlin Libraries?Kai Koenig
Ā 
Coding for Android on steroids with Kotlin
Coding for Android on steroids with KotlinCoding for Android on steroids with Kotlin
Coding for Android on steroids with KotlinKai Koenig
Ā 
API management with Taffy and API Blueprint
API management with Taffy and API BlueprintAPI management with Taffy and API Blueprint
API management with Taffy and API BlueprintKai Koenig
Ā 
Little Helpers for Android Development with Kotlin
Little Helpers for Android Development with KotlinLittle Helpers for Android Development with Kotlin
Little Helpers for Android Development with KotlinKai Koenig
Ā 
Introduction to Data Mining
Introduction to Data MiningIntroduction to Data Mining
Introduction to Data MiningKai Koenig
Ā 
Garbage First and you
Garbage First and youGarbage First and you
Garbage First and youKai Koenig
Ā 
The JVM is your friend
The JVM is your friendThe JVM is your friend
The JVM is your friendKai Koenig
Ā 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101Kai Koenig
Ā 
There's a time and a place
There's a time and a placeThere's a time and a place
There's a time and a placeKai Koenig
Ā 
Clojure - an introduction (and some CFML)
Clojure - an introduction (and some CFML)Clojure - an introduction (and some CFML)
Clojure - an introduction (and some CFML)Kai Koenig
Ā 
AngularJS for designers and developers
AngularJS for designers and developersAngularJS for designers and developers
AngularJS for designers and developersKai Koenig
Ā 

More from Kai Koenig (20)

Why a whole country skipped a day - Fun with Timezones
Why a whole country skipped a day - Fun with Timezones Why a whole country skipped a day - Fun with Timezones
Why a whole country skipped a day - Fun with Timezones
Ā 
Android 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture ComponentsAndroid 103 - Firebase and Architecture Components
Android 103 - Firebase and Architecture Components
Ā 
Android 102 - Flow, Layouts and other things
Android 102 - Flow, Layouts and other thingsAndroid 102 - Flow, Layouts and other things
Android 102 - Flow, Layouts and other things
Ā 
Android 101 - Building a simple app with Kotlin in 90 minutes
Android 101 - Building a simple app with Kotlin in 90 minutesAndroid 101 - Building a simple app with Kotlin in 90 minutes
Android 101 - Building a simple app with Kotlin in 90 minutes
Ā 
Kotlin Coroutines and Android sitting in a tree - 2018 version
Kotlin Coroutines and Android sitting in a tree - 2018 versionKotlin Coroutines and Android sitting in a tree - 2018 version
Kotlin Coroutines and Android sitting in a tree - 2018 version
Ā 
Kotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a tree
Ā 
Improving your CFML code quality
Improving your CFML code qualityImproving your CFML code quality
Improving your CFML code quality
Ā 
Summer of Tech 2017 - Kotlin/Android bootcamp
Summer of Tech 2017 - Kotlin/Android bootcampSummer of Tech 2017 - Kotlin/Android bootcamp
Summer of Tech 2017 - Kotlin/Android bootcamp
Ā 
2017: Kotlin - now more than ever
2017: Kotlin - now more than ever2017: Kotlin - now more than ever
2017: Kotlin - now more than ever
Ā 
Anko - The Ultimate Ninja of Kotlin Libraries?
Anko - The Ultimate Ninja of Kotlin Libraries?Anko - The Ultimate Ninja of Kotlin Libraries?
Anko - The Ultimate Ninja of Kotlin Libraries?
Ā 
Coding for Android on steroids with Kotlin
Coding for Android on steroids with KotlinCoding for Android on steroids with Kotlin
Coding for Android on steroids with Kotlin
Ā 
API management with Taffy and API Blueprint
API management with Taffy and API BlueprintAPI management with Taffy and API Blueprint
API management with Taffy and API Blueprint
Ā 
Little Helpers for Android Development with Kotlin
Little Helpers for Android Development with KotlinLittle Helpers for Android Development with Kotlin
Little Helpers for Android Development with Kotlin
Ā 
Introduction to Data Mining
Introduction to Data MiningIntroduction to Data Mining
Introduction to Data Mining
Ā 
Garbage First and you
Garbage First and youGarbage First and you
Garbage First and you
Ā 
The JVM is your friend
The JVM is your friendThe JVM is your friend
The JVM is your friend
Ā 
Regular Expressions 101
Regular Expressions 101Regular Expressions 101
Regular Expressions 101
Ā 
There's a time and a place
There's a time and a placeThere's a time and a place
There's a time and a place
Ā 
Clojure - an introduction (and some CFML)
Clojure - an introduction (and some CFML)Clojure - an introduction (and some CFML)
Clojure - an introduction (and some CFML)
Ā 
AngularJS for designers and developers
AngularJS for designers and developersAngularJS for designers and developers
AngularJS for designers and developers
Ā 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
Ā 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
Ā 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
Ā 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
Ā 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
Ā 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
Ā 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
Ā 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
Ā 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
Ā 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
Ā 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
Ā 
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphSIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphNeo4j
Ā 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
Ā 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Ā 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Ā 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Ā 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ā 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Ā 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
Ā 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Ā 
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort ServiceHot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Ā 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Ā 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Ā 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Ā 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Ā 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Ā 
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphSIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
Ā 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Ā 

Real World Lessons in jQuery Mobile