Slides from a presentation I gave at these conferences:
— Big Design
— Front Porch
— Thunder Plains
— Web Afternoon
I co-presented at Big Design with Matt Baxter.
http://twitter.com/mbxtr
This document discusses Cordova, Ionic, and IBM MobileFirst for developing hybrid mobile apps. It begins with an introduction to Cordova for creating apps with HTML, CSS, and JavaScript. Ionic is presented as a framework that improves upon Cordova apps. MobileFirst is then introduced as a platform from IBM that further enhances hybrid apps with features like push notifications, security, and integration with backend systems and services.
The document summarizes a seminar presentation on PhoneGap. PhoneGap is a mobile development framework that allows developers to build mobile apps using common web technologies like HTML, CSS, and JavaScript. This allows apps to be compiled for multiple platforms like iOS, Android, and Windows Phone from a single codebase. The presentation discusses what PhoneGap is, how it works, its advantages like cross-platform development, and disadvantages like limitations of web-based apps. It includes demo code and concludes PhoneGap is useful for small apps but native development is better for graphics-intensive apps.
Innovation vs. Impatience - keynote at JSOpenDay London 2015Christian Heilmann
This document discusses tensions between innovation and impatience in JavaScript development. It notes that while developers want new features now, polyfills and transpilers can introduce dependencies and forfeit runtime benefits. There is also a split between those who see potential for a richer web and those who advocate progressive enhancement to avoid broken experiences. The document argues for balancing innovation with responsibility by avoiding user agent sniffing, optimizing for all environments, and not over-engineering for complexity's sake.
PhoneGap: Building Mobile Applications with HTML/JSRyan Stewart
An overview of PhoneGap. Covers the basics about what PhoneGap is, how to get started, how to use the device APIs, and how to debug it along with some other things to consider when building mobile applications with HTML/JS/CSS.
PhoneGap allows developers to build mobile apps using HTML, CSS, and JavaScript. It works by using a PhoneGap library to translate web-based app code into a format that can be packaged and run as a native mobile application on different platforms. Developers add the desired device capabilities to their PhoneGap app through plugins. Common tasks like getting started, adding plugins, and using live reloading are described.
PhoneGap is an open source tool that allows developers to build mobile apps using HTML, CSS, and JavaScript instead of native languages like Objective-C or Java. It wraps the web view container to give apps access to device features like geolocation and accelerometers. While documentation is still maturing and bugs may exist, PhoneGap is free, open source, and offers developers a way to create cross-platform mobile apps without having to learn multiple programming languages. Sample PhoneGap apps and getting started resources are provided.
This document discusses PhoneGap development, testing, and debugging. It covers:
1. PhoneGap initialization which includes adding meta tags and viewport settings to the HTML head, loading the PhoneGap JavaScript library, and registering an onDeviceReady event listener.
2. The onDeviceReady event ensures PhoneGap is fully loaded before making API calls.
3. Leveraging PhoneGap APIs like the device API and updating app content and UI using APIs.
4. Methods for testing and debugging PhoneGap apps including using emulators, simulators, Ripple emulator, Weinre, and console logging. Issues around cross-platform development are also addressed.
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
The final demo for this presentation can be downloaded at:
https://www.dropbox.com/s/9j09wip6wz84b61/JSDevConMobile-JQM-PhoneGap-Demo.zip
SESSION ABSTRACT
=================
Write Once, Run Everywhere. How many times have we been promised true cross-platform development? HTML5 seems to be the closest we’ve ever been to writing applications once and running them on multiple mobile devices, such as iOS, Android, Windows Phone or Blackberry.
But native mobile apps have taken all the spotlight in recent years thanks to the introduction of hundreds of thousands of apps in various app stores from Apple, Google, Microsoft and BlackBerry. Apps offer a great native platform experience, but they can be expensive to build and require specific languages, SDKs and skill sets across multiple platforms. Mobile web sites offer a great way to engage with consumers and corporate workers alike without requiring the installation of any app, and can in turn be adapted as deployable "hybrid" apps.
This session explores the fundamentals of native vs. web apps, and how to choose the right approach for any given scenario. We begin with an exploration of the benefits of web development for smartphones using the most popular HTML5 & JavaScript framework for mobile: jQuery Mobile (JQM). We’ll go over a quick primer on HTML5, CSS3 and JavaScript, followed by everything you need to get started with JQM. We’ll cover the most common development environment options, how to build your first jQuery Mobile page, and how to debug your mobile web code with some of the available tools. We’ll also discuss how to develop a native-like experience on each mobile platform thanks to JQM’s adaptive rendering, and how to save and retrieve data with the cloud using Microsoft Azure Mobile Services.
We'll then learn how to leverage PhoneGap to wrap our mobile web UI into a native smartphone or tablet app. Discover how PhoneGap exposes native device hardware like cameras, sensors, GPS and more. We’ll also discuss the pros and cons of PhoneGap-based apps, how to deal with the UI design guidelines across platforms, and learn some do’s and don’ts of cross-platform mobile development.
Native mobile apps have their place for mass market revenue-generating models, but you also need to master cross-platform techniques when the situation calls for it such as in enterprise mobility scenarios and other niche areas. Web development is a critical skill required by every mobile developer; come learn how to get started and reach hundreds of millions of users through a smart mobile web & hybrid approach.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
Want the slides with presenter notes? Get them here: https://www.bram.us/talks/2015/11/hybrid-apps-with-ionic-framework-withnotes.pdf
The Spirit of Opensource - contribution as a strategy for growth and innova...Parth Lawate
Updated Slides with a new Examples & concepts
Open source is a powerful concept and used correctly it evolves a powerful & sustainable ecosystem around it. Open source can be a powerful strategy that drives growth and innovation. Learn how you or your company can adopt this powerful tool that not only increases your development velocity but also drives you to innovate and make a difference all while running a sustainable business around it .
A presentation for HackReactor on PhoneGap, a history of the project. The slides provide backdrop to the talk, and do not contain all the material discussed.
Cross platform mobile development - you tube videosColin Eberhardt
This document discusses cross-platform mobile development and compares various frameworks beyond HTML5. It summarizes that HTML5 is a viable but compromised technology that is not the only cross-platform option. When choosing a framework, it recommends determining priorities like cost and user experience, using a framework comparison tool to narrow options, prototyping the application, and evaluating factors such as code sharing, the developer experience, and the user experience.
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this hands-on webinar, you will:
- learn the differences between native and web apps.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile web apps.
- gain hands-on experience using jQuery Mobile to develop a fully functional mobile-optimized web app.
- have access to a free Web server so you can continue to work/test your project live on the Web.
- continue to work with Jason and Chad so you can have a mentor during and after your project.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
Cordova APIs
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
PhoneGap allows developers to build mobile apps using HTML, CSS, and JavaScript instead of relying on platform-specific languages. It works by wrapping web apps in a native container, allowing access to device capabilities like the camera and geolocation. PhoneGap Build provides a cloud-based service for compiling PhoneGap apps so developers don't need to install SDKs locally. The presentation covered the PhoneGap workflow, tools like PhoneGap Dev Browser and Sleight, and the roadmap for future releases.
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
Abstract
In this session John and Mark will demonstrate how an XPages developer can make the simple, practical, logical evolution from XPages to IBM Worklight developer.
Have you ever wondered how to easily integrate a mobile phone native feature set with your corporate web applications? We will show that any XPages developer currently building mobile-accessible websites already has the skillset to build native mobile apps using IBM Worklight. We will cover installation, setup, similarities in designer clients, the test environment, the skills necessary and provide a working example.
You have the skills, you have the knowledge. Your only challenge is to come to the session and understand how to make this work. Go from HTML5 to native in minutes.
Building Native Mobile Applications with PhoneGapSimon MacDonald
The document discusses PhoneGap, an open-source framework that allows developers to build mobile apps using standardized web APIs and technologies like HTML, CSS, and JavaScript. It allows accessing native device features and distribution via app stores. The document covers what PhoneGap is, how it works, best practices for development, and resources for learning more.
Workshop on Hybrid App Development with Ionic FrameworkAayush Shrestha
Presentation materials for workshop on Hybrid App Development with Ionic Framework. Organized by Women Leaders in Technology, Nepal. Workshop conducted by Aayush Shrestha.
PhoneGap allows developers to build mobile apps using standard web technologies like HTML, CSS, and JavaScript. It works by packaging web apps so they can be deployed and run as native mobile applications on different platforms. The document discusses how to build an Android app using PhoneGap, including setting up the project structure, adding the PhoneGap library, implementing a basic "Hello World" app, and extending functionality through plugins. It also covers debugging PhoneGap apps and some limitations compared to native development.
Apache Cordova allows developers to use web technologies like HTML, CSS, and JavaScript to develop mobile applications that can be deployed across multiple platforms. It provides a boilerplate native container application with a web view interface to access device functionality through plugins. Many large companies and organizations use Cordova due to its ability to quickly release apps on Android, iOS, Windows Phone and other platforms while reusing most of the codebase. While it has advantages, Cordova apps also face challenges from differing device behaviors and platform expectations.
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
This document summarizes a talk given by Chris Heilmann at ForwardJS in 2015. Heilmann discusses the state of web development technologies and how developers have focused too much on experimental features that are not ready for production use. This has led to a fragmented web where browsers implement features differently. He argues developers should focus on standardizing and improving existing web standards rather than constantly introducing new technologies. ES6 is highlighted as a priority for improving existing JavaScript.
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
During this briefing for developers and I.T. managers, you'll get an in-depth review of the three most popular javascript-based mobile application development platforms - jQuery Mobile, Sencha Touch, and Appcelerator Titanium! You'll review the development tools, hear about the developer and debugging experience, and participate in a brief code review in order to determine which framework is the most appropriate for your next mobile project! We'll demonstrate how each framework can be used to develop the same mobile app, highlighting the strengths and weaknesses of each.
Note that the full 2.5 hour video of this presentation is available at http://bit.ly/Y04lDi
PhoneGap is a framework that allows developers to build mobile apps using HTML, CSS, and JavaScript instead of native languages like Objective-C or Java. It works by using a bridge that allows JavaScript access to device capabilities. Apps developed with PhoneGap are hybrid apps, with the UI logic in web technologies and device integration in native code. To develop Android apps with PhoneGap, developers set up the Cordova plugin in Eclipse, create a new Android project linking to Cordova files, and code the app using HTML, CSS, JS files that interface with device APIs through Cordova.
This document discusses using HTML5 to build mobile web applications for the iPhone. It introduces HTML5, JavaScript, and frameworks like PhoneGap that allow wrapping web apps as native apps. Key elements of HTML5 for mobile discussed include offline support, canvas, video, geolocation, and advanced forms. UI libraries like JQTouch are presented for building touch-optimized interfaces. The document also covers PhoneGap APIs for native device access from a web app.
multi platform mobile development using titaniumJurgen Coetsiers
Multi-platform mobile application development allows creating apps that can run across different devices using a single code base. Titanium, an open source framework from Appcelerator, uses JavaScript to build native mobile apps that can run on iOS, Android, and BlackBerry. It provides APIs to access native device capabilities while maintaining a consistent programming model. The document demonstrates a proof of concept multi-sport news app built with Titanium that pulls data from cloud services, stores cached data locally, and presents a native user experience across platforms.
This document compares several major cross-platform frameworks for mobile development: Qt Mobile, Xamarin, Flutter, Appcelerator Titanium, and Apache Cordova. Each framework is described in terms of supported platforms, programming languages, UI frameworks, access to native UI and APIs, performance, and when each framework would be best used. Qt Mobile, Xamarin, and Flutter allow developing native mobile apps while Appcelerator Titanium and Cordova wrap web views to deploy web apps on mobile.
This document summarizes the differences between Adobe PhoneGap and Apache Cordova. Both PhoneGap and Cordova allow developers to build hybrid mobile apps using HTML, CSS, and JavaScript. While PhoneGap and Cordova provide the same core APIs, there are some differences in commands, default configuration files, and available versions. Overall, PhoneGap and Cordova result in apps with the same capabilities, but Cordova provides more flexibility in customizing native code.
This photo album contains pictures of three types of spiders: a jumping spider, a tarantula, and a daddy long-legs. The album showcases photos of different spider species.
This document discusses a shared goal between MyOpenArchive and Scribd to make the information in documents accessible to everyone by unlocking information and helping users. It provides a demo and thanks the reader.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
Want the slides with presenter notes? Get them here: https://www.bram.us/talks/2015/11/hybrid-apps-with-ionic-framework-withnotes.pdf
The Spirit of Opensource - contribution as a strategy for growth and innova...Parth Lawate
Updated Slides with a new Examples & concepts
Open source is a powerful concept and used correctly it evolves a powerful & sustainable ecosystem around it. Open source can be a powerful strategy that drives growth and innovation. Learn how you or your company can adopt this powerful tool that not only increases your development velocity but also drives you to innovate and make a difference all while running a sustainable business around it .
A presentation for HackReactor on PhoneGap, a history of the project. The slides provide backdrop to the talk, and do not contain all the material discussed.
Cross platform mobile development - you tube videosColin Eberhardt
This document discusses cross-platform mobile development and compares various frameworks beyond HTML5. It summarizes that HTML5 is a viable but compromised technology that is not the only cross-platform option. When choosing a framework, it recommends determining priorities like cost and user experience, using a framework comparison tool to narrow options, prototyping the application, and evaluating factors such as code sharing, the developer experience, and the user experience.
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this hands-on webinar, you will:
- learn the differences between native and web apps.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile web apps.
- gain hands-on experience using jQuery Mobile to develop a fully functional mobile-optimized web app.
- have access to a free Web server so you can continue to work/test your project live on the Web.
- continue to work with Jason and Chad so you can have a mentor during and after your project.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
Cordova APIs
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
PhoneGap allows developers to build mobile apps using HTML, CSS, and JavaScript instead of relying on platform-specific languages. It works by wrapping web apps in a native container, allowing access to device capabilities like the camera and geolocation. PhoneGap Build provides a cloud-based service for compiling PhoneGap apps so developers don't need to install SDKs locally. The presentation covered the PhoneGap workflow, tools like PhoneGap Dev Browser and Sleight, and the roadmap for future releases.
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
Abstract
In this session John and Mark will demonstrate how an XPages developer can make the simple, practical, logical evolution from XPages to IBM Worklight developer.
Have you ever wondered how to easily integrate a mobile phone native feature set with your corporate web applications? We will show that any XPages developer currently building mobile-accessible websites already has the skillset to build native mobile apps using IBM Worklight. We will cover installation, setup, similarities in designer clients, the test environment, the skills necessary and provide a working example.
You have the skills, you have the knowledge. Your only challenge is to come to the session and understand how to make this work. Go from HTML5 to native in minutes.
Building Native Mobile Applications with PhoneGapSimon MacDonald
The document discusses PhoneGap, an open-source framework that allows developers to build mobile apps using standardized web APIs and technologies like HTML, CSS, and JavaScript. It allows accessing native device features and distribution via app stores. The document covers what PhoneGap is, how it works, best practices for development, and resources for learning more.
Workshop on Hybrid App Development with Ionic FrameworkAayush Shrestha
Presentation materials for workshop on Hybrid App Development with Ionic Framework. Organized by Women Leaders in Technology, Nepal. Workshop conducted by Aayush Shrestha.
PhoneGap allows developers to build mobile apps using standard web technologies like HTML, CSS, and JavaScript. It works by packaging web apps so they can be deployed and run as native mobile applications on different platforms. The document discusses how to build an Android app using PhoneGap, including setting up the project structure, adding the PhoneGap library, implementing a basic "Hello World" app, and extending functionality through plugins. It also covers debugging PhoneGap apps and some limitations compared to native development.
Apache Cordova allows developers to use web technologies like HTML, CSS, and JavaScript to develop mobile applications that can be deployed across multiple platforms. It provides a boilerplate native container application with a web view interface to access device functionality through plugins. Many large companies and organizations use Cordova due to its ability to quickly release apps on Android, iOS, Windows Phone and other platforms while reusing most of the codebase. While it has advantages, Cordova apps also face challenges from differing device behaviors and platform expectations.
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
This document summarizes a talk given by Chris Heilmann at ForwardJS in 2015. Heilmann discusses the state of web development technologies and how developers have focused too much on experimental features that are not ready for production use. This has led to a fragmented web where browsers implement features differently. He argues developers should focus on standardizing and improving existing web standards rather than constantly introducing new technologies. ES6 is highlighted as a priority for improving existing JavaScript.
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
During this briefing for developers and I.T. managers, you'll get an in-depth review of the three most popular javascript-based mobile application development platforms - jQuery Mobile, Sencha Touch, and Appcelerator Titanium! You'll review the development tools, hear about the developer and debugging experience, and participate in a brief code review in order to determine which framework is the most appropriate for your next mobile project! We'll demonstrate how each framework can be used to develop the same mobile app, highlighting the strengths and weaknesses of each.
Note that the full 2.5 hour video of this presentation is available at http://bit.ly/Y04lDi
PhoneGap is a framework that allows developers to build mobile apps using HTML, CSS, and JavaScript instead of native languages like Objective-C or Java. It works by using a bridge that allows JavaScript access to device capabilities. Apps developed with PhoneGap are hybrid apps, with the UI logic in web technologies and device integration in native code. To develop Android apps with PhoneGap, developers set up the Cordova plugin in Eclipse, create a new Android project linking to Cordova files, and code the app using HTML, CSS, JS files that interface with device APIs through Cordova.
This document discusses using HTML5 to build mobile web applications for the iPhone. It introduces HTML5, JavaScript, and frameworks like PhoneGap that allow wrapping web apps as native apps. Key elements of HTML5 for mobile discussed include offline support, canvas, video, geolocation, and advanced forms. UI libraries like JQTouch are presented for building touch-optimized interfaces. The document also covers PhoneGap APIs for native device access from a web app.
multi platform mobile development using titaniumJurgen Coetsiers
Multi-platform mobile application development allows creating apps that can run across different devices using a single code base. Titanium, an open source framework from Appcelerator, uses JavaScript to build native mobile apps that can run on iOS, Android, and BlackBerry. It provides APIs to access native device capabilities while maintaining a consistent programming model. The document demonstrates a proof of concept multi-sport news app built with Titanium that pulls data from cloud services, stores cached data locally, and presents a native user experience across platforms.
This document compares several major cross-platform frameworks for mobile development: Qt Mobile, Xamarin, Flutter, Appcelerator Titanium, and Apache Cordova. Each framework is described in terms of supported platforms, programming languages, UI frameworks, access to native UI and APIs, performance, and when each framework would be best used. Qt Mobile, Xamarin, and Flutter allow developing native mobile apps while Appcelerator Titanium and Cordova wrap web views to deploy web apps on mobile.
This document summarizes the differences between Adobe PhoneGap and Apache Cordova. Both PhoneGap and Cordova allow developers to build hybrid mobile apps using HTML, CSS, and JavaScript. While PhoneGap and Cordova provide the same core APIs, there are some differences in commands, default configuration files, and available versions. Overall, PhoneGap and Cordova result in apps with the same capabilities, but Cordova provides more flexibility in customizing native code.
This photo album contains pictures of three types of spiders: a jumping spider, a tarantula, and a daddy long-legs. The album showcases photos of different spider species.
This document discusses a shared goal between MyOpenArchive and Scribd to make the information in documents accessible to everyone by unlocking information and helping users. It provides a demo and thanks the reader.
My client, Health Service Review (HSR), has had remarkable success in reducing the cost of health care for its' clients. In this presentation you will find some additional ideas for reducing the cost of health care to your company.
The document discusses plans to create an app that allows both writing and reading stories about extraordinary lives. It would inspire young people by allowing them to read stories of great achievements and be inspired to build a better society. The app could have both free and paid versions. Funding would come from conferences, parties, and advertising targeting readers and those wanting to share experiences. Goals include providing bonuses for writers and establishing fixed app prices.
TRiO Presentation-example- Edgar CastilloEdgar2011
Global warming is affecting the planet in several ways. Glaciers are melting, hurricanes are getting stronger, and temperatures are rising to record levels. Various signs point to the Earth getting warmer due to factors like carbon dioxide emissions and pollution. If actions are not taken, even more severe consequences could occur such as rising sea levels, more diseases, and polar bears becoming extinct.
A presentation on why I love Python for a lightning talk at https://www.facebook.com/KochiPython
Humour and Programming best practices are part of Python culture, we cannot separate the two :)
The document summarizes networking and telecommunication topics, including:
1) The basics of computer networks including hardware, software, and people connecting computers locally and remotely.
2) Common network components like network interface cards, modems, and protocols that establish communication standards.
3) Types of networks including local area networks (LANs) within a building and wide area networks (WANs) connecting multiple sites over long distances.
4) Interpersonal communication technologies like email, teleconferencing, and instant messaging that allow synchronous and asynchronous interactions.
5) Converging technologies including online services, fax, voice mail, video conferencing, and digital payment systems.
Kayla ppt whatmakes psych a science psych 1Steve Kashdan
Psychology is considered a science because it uses scientific methods like observation, experimentation, and analysis to develop theories and reach conclusions about human behavior and mental processes. It relies on collecting empirical data from case studies, surveys, and psychological tests to test hypotheses and draw inferences. Like other sciences, psychology aims to systematically study and organize facts about its subject matter to build an evidence-based understanding of how and why people think, feel, and act as they do.
mCMO Conference 2013 - From Mobile App To Mobile BusinessHKAIM
This document discusses the evolution of mobile user experience and transition from mobile apps to mobile businesses. It notes that Next Media has had over 6 million downloads across various mobile platforms. On a given day, their mobile services deliver over 8 million video views and millions more article views. Their games like Life is Crime and Barcode Footballer are top ranked in various categories. The document emphasizes that improving hardware, networks, interactions and content are enhancing the mobile user experience. It stresses focusing on building services, not just apps, as well as supporting multiple platforms with consistent user experiences. Key lessons highlighted are innovating based on market changes and focusing on personalization.
The Blue Group proposes assisting students in achieving better grades through lectures and study techniques. They will provide lectures on study techniques to first graders and ninth graders after Christmas. This will result in improved study results for the students as well as improved public speaking and leadership skills for the group members from conducting the lectures. Alternatives such as assisting the elderly with technology were discussed before deciding on the student assistance idea.
This weekly newsletter provides information on the Vietnam real estate market. It is distributed to over 100,000 subscribers. The newsletter includes sections on market situation and trends, major real estate projects, legislation, expert opinions, and listings of real estate companies. It aims to keep readers informed about changes in the Vietnam real estate market and support investors, developers and other industry players.
eCMO 2010 Doing Branding digital = stealing money from TVHKAIM
The document discusses observations about branding and social media in Hong Kong. It notes that 5 of the top 10 websites in Hong Kong are social media sites, showing their high level of engagement. It also discusses how brands can integrate across media like digital and social to build powerful online brands. However, it raises that social media presents both risks and opportunities that brands must navigate carefully.
Altra presentació sobre els monstres, fantasmes, vampirs i homes llop...
Els encanten als nostres alumnes... No tingueu cap dubte!!! Hahahahahahahahahaha Els malsomnis estan assegurats !!!
Anton Sakharov: The risks you take when develop cross-platform apps using HT...Mobile Trends
Technologies like PhoneGap, Xamarin and other cross-platform frameworks may be a great choice for your project. But you should be aware of the risks you take: framework lock-in, compatibility issues, easy reverse engineering etc.
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
Caridy Patiño presented on the challenges of building mobile HTML5 applications. Some key challenges include browser fragmentation across devices, network failures, and the need to optimize applications for different runtime environments and adapt them for varying screen sizes and features. Patiño advocated writing applications using a single language, JavaScript, and customizing output per runtime and context while adapting the UI per form factor and feature detection. The goal is to build flexible applications that can run on multiple platforms.
Native Mobile Application Using Java ScriptBorey Lim
This document discusses using Titanium Mobile, an open source framework, to build cross-platform native mobile applications using JavaScript. It notes the challenges of building for multiple platforms natively and introduces Titanium Mobile as a solution that allows building native iOS, Android, and BlackBerry apps from a single codebase using web technologies like JavaScript. It provides an overview of Titanium Mobile's architecture and development requirements and includes a demo.
This document discusses HTML5, mobile web, native, and hybrid mobile app development platforms. It provides an overview of each approach and compares them. Key frameworks for HTML5 development are also reviewed, including jQuery Mobile, Sencha Touch, and Trigger.io. Considerations for choosing a platform like supporting multiple devices and iteration speed are examined. The document aims to help make sense of the different mobile development options.
This document discusses hybrid mobile app development. It defines hybrid apps as combining the best of mobile web apps and native apps by developing basic features with HTML, CSS, and JavaScript and leveraging native APIs for more advanced features. This allows for quicker development and updates across platforms while still accessing device-level capabilities. The document outlines several techniques hybrid apps can use such as URL modification and interception to trigger native functionality from web views and pass data between web and native components. It promotes choosing the right development approach for each feature rather than relying solely on web or native.
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
It’s not easy being a mobile developer. iOS and Android dominate the market, Windows Phone is climbing into third place, and we’re not really sure if BlackBerry still matters. Do you focus on one platform or many? What size of the mobile population do you really want to reach? Each mobile platform comes with its own programming languages, SDKs, IDEs and application lifecycle & architecture. Are we really expected to learn all of this? Isn’t HTML5 supposed to be the Silver Bullet so we can finally write apps once and run them everywhere? This session will demystify all these questions, walking you through the modern mobile ecosystem, and explore your options as a developer. We’ll review the native story on each major platform, discuss the pros & cons of both mobile native and web development, cover some of the cross-platform solutions available to developers, and explore best practices and guidelines to insure a successful mobile strategy. Don’t just blindly pick a side or assume that “one size fits all”, this session covers one of the most hotly contested debates in modern IT. Come join us and be a part of the conversation.
The document discusses responsive web design and developing for multiple devices. It recommends creating a single responsive website that adapts to different screens through techniques like fluid grids, flexible images, and media queries. It also suggests considering hybrid approaches that incorporate both web and native capabilities to deliver high-quality experiences across all devices.
Responsive web design & mobile web development - a technical and business app...Atos_Worldline
The document discusses responsive web design and mobile web development. It recommends creating a single page web application that is optimized for all devices as a long term goal. It also discusses challenges like different screen sizes, browsers, and touch vs mouse interactions across diverse devices. The document advocates adapting the web experience according to the device using responsive design principles.
PhoneGap allows developers to build mobile apps using standard web technologies like HTML, CSS, and JavaScript. It works by embedding a webview component within a native container, and provides a bridge for JavaScript to access some device APIs. PhoneGap has grown a large community and supports many mobile platforms. While it allows cross-platform development, apps are still packaged natively and some limitations remain. The future roadmap includes improved plugin support and new features like web sockets and background services to enhance the capabilities of hybrid mobile apps.
Introduction talk on Phonegap. Tells you why you should care about mobile, and how to start off using Phonegap. After seeing this presentation you should be able to start a Phonegap project pretty rapidly and feel comfortable with the file structure you're working in and structures of the platforms you're building your app for.
- Cross platform mobile app development allows building apps that can run on multiple operating systems like iOS, Android, Blackberry etc using a single codebase. This is done through frameworks like PhoneGap that allow using web technologies like HTML, CSS and JavaScript but also provide access to device capabilities via plugins.
- While cross platform apps offer benefits like being cost effective, there are also challenges around performance, differing platform capabilities and the need to test on multiple platforms. PhoneGap Build helps address issues of working with multiple platforms and SDKs. Developers are advised to take a multi platform approach and be ready for emerging platforms.
(1) The document discusses making mobile websites, including trends in mobile technology, challenges in development, and examples of mobile sites built with content management systems like Drupal and Joomla.
(2) Key challenges in mobile development include device fragmentation, usability issues like screen size and navigation, and optimizing content for smaller screens and slower connections.
(3) The presentation provides examples of mobile sites built with Drupal and Joomla, and introduces new solutions like the Osmobi plugin and template to more easily build mobile sites within existing CMS platforms.
Instead of Introducing Mojito, I want to recap on the state of the industry, and specifically on a new trending about frameworks and platforms that are trying to blur the line between server and client. Mojito, MeteorJS, DerbyJS and others are part of that group. I also want to provide more details about the motivations, challenges and the state of the Yahoo! Cocktails platform.
This document provides an overview of IT and digital technologies including web development, mobile apps, software as a service (SaaS), and .NET. It discusses key topics such as:
- Web development terms like HTML, CSS, APIs, and content management systems.
- The differences between native mobile apps and web apps, and their respective advantages. Native apps have more features but web apps can work across devices.
- An explanation of Software as a Service (SaaS) and how software is delivered as an online service.
- An overview of the .NET framework for building web apps, desktop apps, mobile apps and games on Windows, Linux and Mac.
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
Presented June 8, 2012 (Online) at the 'Access by Touch: Delivering Library Services Through Mobile Technologies' conference sponsored by Amigos Library Services.
Description: By the end of 2012, it is expected that more than 80% of the world’s population will have access to a smartphone. Your library users will assume that your library can be accessible from anywhere, at any time, and on any device. Now is the time to be ready! During this webinar, you will:
- learn what a mobile framework is.
- acquire best practices in mobile Web development.
- understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile Web apps.
- recognize the differences between native and web apps.
- have an opportunity to continue to work with Chad after the webinar to demonstrate what you learned.
- gain access after the webinar to a free Web server so you can see your mobile Web app live.
The document discusses tech stacks for startups. It defines tech stacks as including both front-end and back-end components. The back-end contains the business logic and databases that drive an application but are not directly visible to users. Popular back-end frameworks include Laravel, Django, and Ruby on Rails. The front-end includes markup, styling, and client-side programming seen and interacted with by users, such as HTML, CSS, and JavaScript frameworks like AngularJS and ReactJS. The document also discusses considerations for mobile vs web applications and popular mobile development approaches like native, hybrid, and React Native.
This document provides an overview and agenda for a talk on starting with Android development. It discusses topics like platform fragmentation, whether to build native or hybrid mobile apps, interfaces, and new features in Android 4.3. It also covers best practices for Android like how Android manages resources and threads, and avoiding memory leaks. The document contains code examples and links to additional resources on these subjects.
I gave this talk at Squares Conference 2016.
http://squaresconference.com
Code demo from the talk…
http://t7.github.io/react-starter
https://github.com/t7/react-starter
This document summarizes a presentation about using Sass, Compass, and Serve for rapid templating and designing in the browser. It discusses how responsive design has changed workflows, and tools like Sass, Compass, and Serve allow collaborative work between designers and developers. Serve is presented as a tool that allows building prototypes that resemble the final product through templating with Sass and Compass in a Rails-like MVC structure, without the overhead of a full Rails app.
Presentation that I gave, along with coworkers Mark Sims and Mike Townson, at the Dallas Society of Visual Communications.
http://www.dsvc.org/events/working-lunch/10/2012
This document provides a summary of Nathan Smith's upcoming presentation on the future of HTML, CSS, and JavaScript. It begins with a brief history of each technology, including that HTML was created by Tim Berners-Lee in 1989 to share research documents, JavaScript was created by Brandon Eich in 10 days for Netscape Navigator, and CSS was proposed by Håkon Wium Lie in 1994 to allow styling of HTML pages. It then discusses the standardization processes and "Browser Wars" between Netscape and Internet Explorer in the late 1990s before setting up Nathan's talk on what may come next for these core web technologies.
This document discusses the 960 Grid System, a CSS framework that utilizes a 12-column grid layout with widths of 60px each and gutters of 20px. It can be used for rapid prototyping and integrated into production environments. The document provides code examples of typical grid layouts and nested grids. It also discusses related topics like fixed-width grids, grid generators, and myths around CSS best practices.
The document discusses crafting app interfaces. It begins with an introduction by Nathan Smith about carpal tunnel relief and slides being available online. It then discusses using Sass to expedite writing CSS which compiles down to CSS. It emphasizes using frameworks as extensions and learning the underlying languages to avoid being dependent on frameworks.
Talk I co-presented with Andy Rutledge, at the Dallas Society of Visual Communications...
http://dsvc.org/events/working-lunch/11/2010
These are slides from my talk at the Think Vitamin HTML & CSS online conference...
http://thinkvitamin.com/online-conferences/html-css/
The document summarizes a presentation about using Adobe Fireworks for designing HTML and CSS websites. It discusses how Fireworks is ideal for web design as it integrates well with other Adobe applications. It also explores how Fireworks allows for rapid prototyping through features like slicing images and exporting code. The presentation emphasizes writing code by hand and using frameworks like the 960 grid system to help maintain consistency and improve efficiency.
Clumsy is a new font that other designers are enjoying using for their projects. It can be downloaded from the website clumsy.kylesteed.com. The font Clumsy is available for download along with links shared by other designers who are using and enjoying the font in their work.
Slides I co-presented with John Dyer at the 2010 Echo Conference in Dallas, TX.
http://johndyer.name/
http://echoconference.com/
The document summarizes Thomas Merton's autobiography Seven Storey Mountain. It describes how Merton experienced a spiritual crisis and conversion after experiencing the deaths of his father and grandparents. He explored different religions and monastic orders before ultimately deciding to become a Trappist monk at the Abbey of Gethsemani in Kentucky.
The document discusses fundamental design principles from a Christian perspective. It references biblical stories and concepts like the Tabernacle to illustrate principles of design such as structure, dimensions, symbols and their meanings. Design elements from nature like triangles, arches, honeycombs and fractals are also examined. The document advocates for thoughtful, well-executed design that solves problems and prevents them.
Striking a Balance: Middle Ground in Front-End DevelopmentNathan Smith
The document discusses balancing design and development in front-end work. It addresses stereotypes between designers and developers, and describes front-end developers as "midfielders" who ensure designers get credit and backend developers can focus on their work. The document also covers topics like web standards, accessibility, version control systems, frameworks, team dynamics and more.
Godbit.com aims to help churches adhere to best practices and standards for web design as defined by the World Wide Web Consortium in order to make religious and scientific information more accessible online. Adopting common standards, like web design guidelines, ensures that content can be displayed coherently across different platforms and browsers, similar to how Gutenberg's printing press standardized book publishing and dissemination of knowledge centuries ago. Standards provide authorities and general consensus on approved models and conventions to facilitate communication.
Automation Hour 1/28/2022: Capture User Feedback from AnywhereLynda Kane
Slide Deck from Automation Hour 1/28/2022 presentation Capture User Feedback from Anywhere presenting setting up a Custom Object and Flow to collection User Feedback in Dynamic Pages and schedule a report to act on that feedback regularly.
Hands On: Create a Lightning Aura Component with force:RecordDataLynda Kane
Slide Deck from the 3/26/2020 virtual meeting of the Cleveland Developer Group presentation on creating a Lightning Aura Component using force:RecordData.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...Fwdays
Why the "more leads, more sales" approach is not a silver bullet for a company.
Common symptoms of an ineffective Client Partnership (CP).
Key reasons why CP fails.
Step-by-step roadmap for building this function (processes, roles, metrics).
Business outcomes of CP implementation based on examples of companies sized 50-500.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Rock, Paper, Scissors: An Apex Map Learning JourneyLynda Kane
Slide Deck from Presentations to WITDevs (April 2021) and Cleveland Developer Group (6/28/2023) on using Rock, Paper, Scissors to learn the Map construct in Salesforce Apex development.
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtLynda Kane
Slide Deck from Buckeye Dreamin' 2024 presentation Assessing and Resolving Technical Debt. Focused on identifying technical debt in Salesforce and working towards resolving it.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Slide Deck from Automation Dreamin'2022 presentation Sharing Some Gratitude with Your Users on creating a Flow to present a random statement of Gratitude to a User in Salesforce.
1. HTML5 Can’t Do That
Surveying the Mobile Landscape
Matt Baxter
UX Designer
Nathan Smith
Principal UI Architect
2. Take notes if you like. Or, you can get the slides here…
http://j.mp/html5-cant
3. Obligatory Intro Slide…
— on Twitter: @mbxtr & @nathansmith
— UI Developers (caffeine
code)
— We do UX/web/mobile stuff at
— We have mixed feelings about HTML5
4. In all honesty…
I BUILD THE LEGACY
APPS OF TOMORROW!
And hey, so do you. We’re creating software UI in a
document language. It’s a wonder anything works.
5. State of mobile in 2007, before the iPhone was introduced…
http://flickr.com/photos/djwudi/382030798
10. What is the most frequently used app on your computer?
Probably one of these…
http://paulirish.com/2010/high-res-browser-icons
13. This is what the Web would look
like if there were no native apps.
The browser is arguably the
most important native app.
23. Firefox can run the Unreal
game engine in native JS!
Okay, so it’s not mobile.
But it’s still cool, right?
25. Fun Fact:
iOS game Candy Crush Saga
makes $850,000 per day.*
*Assuming this peak number, sustained over an entire
calendar year, that’s annual revenue of $310,250,000.
http://j.mp/candy-crush-story
26. Fun Fact:
Amazon’s revenue is roughly
$167,378,082 per day.*
*61B total revenue in 2012. After operating expenses
of 45.9B, that’s a gross profit of approximately 15.1B.
http://finance.yahoo.com/q/is?s=amzn+income+statement&annual
27. So, at the very least…
HTML5 is what you use to buy
things that don’t run in HTML5.
28. This quote is sometimes (mis?) attributed to Napoleon…
“It is not enough that
I succeed, everyone
else must fail.”
He said, as he
reached for the
phone in his pocket.
http://en.wikipedia.org/wiki/Napoleon
29. So what?
Hopefully by now we can all
agree that HTML5 needn’t fail
for native apps to be considered
successful, or vice versa.
30. How we see the mobile landscape…
Approaches to Mobile Development
Web Development
Responsive or
Mobile Web App
Native Development
PhoneGap
Titanium
Xamarin
Native
HTML, CSS, JS
JavaScript API
Cross-platform C# API
C#, Java, or Objective-C
or
or
Android, Blackberry, iOS,
Windows Phone, etc.
Multiple OS (browsers)
or
Android, iOS
or
Android, iOS,
Windows Phone
Android, Blackberry, iOS,
Windows Phone, etc.
Application Services API — JSON to/from XML, etc.
Java
AS/400
.NET
MySQL
Node.js
PHP
Oracle
Python
PostgreSQL
Business Logic and Data Aggregation
Ruby
SQL Server
31. When making an app, especially if not 100% native…
It’s important to strive for 60
FPS* and avoid interactions
that feel awkward, lest you fall
into the “uncanny valley” of UX.
*FPS = Frames per second. Most movies are 24 FPS. Video games aim for 60 FPS.
32. In case you are unfamiliar with the term “uncanny valley”
The uncanny valley is a hypothesis in
the field of human aesthetics which
holds that when human app features
look and move almost, but not
exactly, like natural human beings
native apps, it causes a response of
revulsion among human observers.
https://en.wikipedia.org/wiki/Uncanny_valley
36. How PhoneGap Works
— It embeds a WebView in a native app
— Native app gives access to OS API’s
— All the UI is built via HTML/CSS
— JavaScript handles everything else
— The app wrapper compiles via…
Xcode, Eclipse, Visual Studio, or
“the cloud” build.phonegap.com
http://phonegap.com
38. Benefits of PhoneGap
— It is “the web you already know”
— Debugging via desktop browser
— Access to device API’s (GPS, etc)
— Strives to implement W3C specs
— Camera API, etc.
— Supports Windows Phone, too
http://phonegap.com
39. Drawbacks of PhoneGap
— WebView dependent on OS
— “Browser” on old Android
— IE on Windows Phone, etc.
— Not as performant as “native”
— Presupposes mad web skills
— (Okay, maybe that’s a “pro”)
http://phonegap.com
41. “Topcoat is a brand new open
source CSS library designed
to help developers build web
apps with an emphasis on
speed. It evolved from the
Adobe design language
developed for Brackets, Edge
Reflow, and feedback from
the PhoneGap app developer
community.”
— Brian LeRoux
44. Side-by-side comparison: Native vs. HTML5
http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-story
47. Benefits of Titanium
— Native UI (not necessarily look & feel)
— Code organization: Alloy MVC approach
— Views are XML, JS for Models/Controllers
— Build for iOS, Android, and Blackberry
— Some code reuse across platforms
— Entirely JavaScript based
— Uses CommonJS’s AMD approach
— Except for WebView (+HTML/CSS)
http://appcelerator.com/titanium
48. Drawbacks of Titanium
— Slow apps… I end up using WebViews
— Workflow: code, compile, rinse, repeat
— It’s XML/JS, but no DOM traversal
— No first-party way to test your code
— Regression testing is difficult
— Added file size, due to Ti framework
— Non-transferrable support license
— Can’t hand off to a coworker
http://appcelerator.com/titanium
49. Abstraction layers tend to be
harder to debug than “native”
languages: C#, Objective-C,
or Java — when using an IDE
such as Visual Studio, Xcode,
Eclipse, or Android Studio.
With “the web,” you have
familiar developer tools, built
into all major browsers.
52. Benefits of Xamarin
— Speed… It compiles to native code
— 1:1 mapping of native API’s to C#
— Code reuse: Android, iOS, Windows
— Visual IDE, lets designers see the UI
— Big-name apps use it (Rdio, anyone?)
— Transferrable support license
http://xamarin.com
54. Drawbacks of Xamarin
— Still need to learn the native API’s
— Doesn’t abstract that away
— Need to know C# (“pro” if you do)
— Added file size, due to Mono framework
— Commercial, has licensing fees
http://xamarin.com
56. Developer Sites for Various Platforms
http://developer.android.com — http://developer.apple.com — http://developer.windowsphone.com
57. Benefits of Native Development
— Default OS look & feel (UI conventions)
— Performance (“closer to the metal”)
— Access to device hardware (GPS, etc)
— Benefit from latest OS enhancements
— Able to hire specialists in that area
http://developer.android.com — http://developer.apple.com — http://developer.windowsphone.com
58. Drawbacks of Native Development
— Tied to the particular OS you built for
— Maintaining a multi OS team/skill-set
— Keeping app in sync with OS updates
— Having multiple devices for testing
http://developer.android.com — http://developer.apple.com — http://developer.windowsphone.com
64. A serendipitous use of HTML5
HTML5 Cant Do That
Last year, we were anticipating writing a lot of
JavaScript to generate a barcode for a mobile
app. To my surprise, I found a barcode font:
“IDAutomationHC39M.” What would’ve taken
days was mere minutes, adjusting font-size.
http://www.dafont.com/idautomationhc39m.font
65. But what about JavaScript? — Glad you asked! :)
Helpful utility libraries:
— jQuery or Zepto
¬ jquery.com
¬ zeptojs.com
— Underscore or LoDash
¬ underscorejs.org
¬ lodash.com
— Handlebars
¬ handlebarsjs.com
66. There are also plenty of JavaScript MV* Frameworks
¬ angularjs.org
— Backbone
¬ backbonejs.org
— Ember
¬ emberjs.com
*MVC: Model, View, Controller — MVVM: Model, View, View Model, etc.
— Knockout
& Durandal
¬ knockoutjs.com
¬ durandaljs.com
>
— Angular
We’ve begun using this
70. SunSpider JS benchmarks, circa 2010 (lower is better)
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow
72. Safari on iOS 6 vs. Safari on iOS 7
http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review
73. So… Web, Cross-Platform, or Native?
Key Considerations:
— Features needed
— Target market
— Existing skill-sets
— Talent availability
— User experience
74. How we see the mobile landscape (revised)…
Approaches to Mobile Development
Responsive or
Mobile Web App
X
Uncanny valley
Web Development
PhoneGap
Titanium
or
Android, Blackberry, iOS,
Windows Phone, etc.
Multiple OS (browsers)
Xamarin
Native
JavaScript API
HTML, CSS, JS
or
Native Development
Cross-platform C# API
C#, Java, or Objective-C
Android, iOS
or
or
Android, iOS,
Windows Phone
Android, Blackberry, iOS,
Windows Phone, etc.
Application Services API — JSON to/from XML, etc.
Java
AS/400
.NET
MySQL
Node.js
PHP
Oracle
Python
PostgreSQL
Business Logic and Data Aggregation
Ruby
SQL Server
75. Why? Because: “I fight for the users.” — Tron
http://www.hdwallpapers.in/tag/tron.html
78. Highlights of Knockout.js
— Model, View, View Model (MVVM)
— Two-way data binding
— If user interacts with page, you can
— reflect these changes in your data
— Declarative UI: in markup, not in JS
— Observables: If data changes, UI updates
http://knockoutjs.com
79. Whenever I see “ko” in the code, I think of Street Fighter…
http://streetfighter.wikia.com
80. Highlights of Durandal.js
— Built on KO, picks up where it left off
— Routing: based on changes to URL
— View/state change transitions
— Async data fetching, with Promises
— Manage code modules with Require.js
— Enforces consistent code structure
http://durandaljs.com
81. Around the office, we refer to Durandal.js as “Duran Durandal”
http://fanart.tv/artist/1a1cd7f3-e5df-4eca-bae2-2757c9e656b5/duran-duran
84. Below a certain width,
the layout switches
to a “mobile” view.
The table rows & cells
are display:block, and
text from each <th>
is inserted as a label,
preceding the data.
87. // In a real app, this data would potentially be dynamic.
// But for the purposes of this demo, is hard-coded here.
[
{
"first_name": "Amy",
"last_name": "Poehler",
"character_first_name": "Leslie",
"character_last_name": "Knope"
},
{
"first_name": "Nick",
"last_name": "Offerman",
"character_first_name": "Ron",
"character_last_name": "Swanson"
},
{
"first_name": "Aziz",
"last_name": "Ansari",
"character_first_name": "Tom",
"character_last_name": "Haverford"
},
...
]
88. // Extend KO array, to make it sortable
ko.observableArray.fn.sort_by = function(key, reverse) {
var self = this;
self.sort(function(a, b) {
var a_key = String(a[key]);
var b_key = String(b[key]);
var n, val;
if (reverse) {
n = a_key - b_key;
val = !isNaN(n) ? n : b_key.localeCompare(a_key);
}
else {
n = b_key - a_key;
val = !isNaN(n) ? n : a_key.localeCompare(b_key);
}
return val;
});
};
89. // APP.models
models: {
// APP.models.table_view_model
table_view_model: function() {
var self = this;
// This data comes from "/json/data.js"
APP.data = APP.data || ko.observableArray(DATA_JSON);
self.data = APP.data;
}
},
...
90. // APP.init.sort_by
sort_by: function(key) {
var event = 'click.sort_by';
var str = '.table-data th[data-key] a';
body.off(event).on(event, str, function(ev) {
var el = $(this);
var th = el.closest('th');
var th_other = th.siblings('th');
var key = th.attr('data-key');
var sort = th.attr('data-sort');
var asc = 'ascending';
var desc = 'descending';
var dir = asc;
if (!sort || sort === asc) {
dir = desc;
}
var reverse = dir !== asc;
th.addClass(on).attr('data-sort', dir);
th_other.removeClass(on).removeAttr('data-sort');
APP.data.sort_by(key, reverse);
});
},
91. Questions? Comments?
Get the slides
http://j.mp/html5-cant
Say hi on Twitter
@mbxtr
@nathansmith