background preloader

Native, HTML5, or Hybrid: Understanding Your Mobile Application Development Options

Native, HTML5, or Hybrid: Understanding Your Mobile Application Development Options
Navigation: Developer Force | Salesforce Mobile Services | Native, HTML5 or Hybrid Screens are small, apps are big, and life as we know it is on its head again. In a world that's increasingly social and open, mobile apps play a vital role, and have changed the focus from what's on the Web, to the apps on our mobile device. Mobile apps are no longer an option, they're an imperative. You need a mobile app, but where do you start? Like Goldilocks, you may have to try a couple beds that are too soft or too hard, before you find the one that’s just right. While this article addresses mobile app development in general, it is specifically targeted at developers looking to create mobile applications that interact with Salesforce.com, Force.com, or Database.com. Native apps are specific to a given mobile platform (iOS or Android) using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android).

Le choix se complique entre application mobile et application HTML5 Le débat entre applications mobiles (natives) et application en ligne HTML5 est semble-t-il sans fin. J’en parlais déjà il y a 1 an 1/2 (Vous êtes plutôt application mobile ou site web optimisé pour les smartphones ?) et même plus récemment, car mes convictions penchaient en faveur de l’universalité (HTML5 s’impose petit à petit comme LA référence pour les applications mobiles). Oui mais voilà, le marché évolue et le dossier se complexifie avec de nouveaux facteurs à prendre en compte : L’irrésistible ascension d’Android qui annonce 10 milliards d’applications téléchargées, une compatibilité prochaine avec les processeurs x86 (donc Intel : Android Is Ready To Power The Next Generation Of Super Tablets), ainsi que l’arrivée prochaine de smartphones low-cost ($50 Android Smartphones? Bref, ça se complique, car les deux “clans” ont de solides arguments. Vous pourriez me dire que la solution réside peut-être dans les approches hybrides :

Android App Development Essential Training (2015) Enterprise Integration Patterns - Solving Integration Problems using Patterns This chapter illustrates how the patterns in this book can be used to solve a variety of integration problems. In order to do so, we examine common integration scenarios and present a comprehensive integration example. As we design the solution to this example, we will express the solution using the patterns contained in this book. At the end of this chapter you will be familiar with about two dozen integration patterns. The Need for Integration Enterprises are typically comprised of hundreds if not thousands of applications that are custom-built, acquired from a third-party, part of a legacy system, or a combination thereof, operating in multiple tiers of different operating system platforms. We may be tempted to ask: How do businesses allow themselves to get into such a mess? First of all, writing business applications is hard. Vendors have learned to cater to this preference and offer focused applications around a specific core function. Integration Challenges Information Portal

Applications « natives » contre les WebApps : forces et faiblesses Retour sur la notion de « web-app » et d’applications « natives » Les applications natives correspondent aux applications téléchargeables sur les différents Stores. Elles sont construites sur des langages dits « natifs » (JAVA, Objective-C…). Les WebApps sont des sites créés et optimisés spécialement pour l’affichage sur mobile. Elles sont accessibles à partir de n’importe quel navigateur mobile et sont construites à partir de technologies web, dont le fameux HTML5. Quelle est la meilleure alternative ? L’arrivée du HTML 5 a bouleversé le paysage de la mobilité. Certains analystes évoquent même la mort prochaine des applications « natives » au profit des WebApps. Les WebApps - Forces : Contrairement aux applications « natives », les WebApps disposent d’un code unifié, modifiable, et surtout accepté par tous les navigateurs. L’intérêt est donc de réduire de façon considérable les temps de développement et donc les coûts globaux du projet. - Faiblesses : Les Applications Natives Conclusion

HTML5 - Web developer guides HTML5 is the latest evolution of the standard that defines HTML. The term represents two different concepts. It is a new version of the language HTML, with new elements, attributes, and behaviors, and a larger set of technologies that allows the building of more diverse and powerful Web sites and applications. This set is sometimes called HTML5 & friends and often shortened to just HTML5. Designed to be usable by all Open Web developers, this reference page links to numerous resources about HTML5 technologies, classified into several groups based on their function. Semantics: allowing you to describe more precisely what your content is. Semantics Sections and outlines in HTML5 A look at the new outlining and sectioning elements in HTML5: <section>, <article>, <nav>, <header>, <footer> and <aside>. Using HTML5 audio and video The <audio> and <video> elements embed and allow the manipulation of new multimedia content. Forms improvements New semantic elements Improvement in <iframe> MathML WebRTC

HTML5 Enterprise Application Architecture Now that we have a good understanding of HTML5 for applications, we can jump right into the HTML5 application architecture. The most important aspect of a good architecture is the independence and integration of all the parts of the system (i.e., integration should not be a factor of dependence). In other words, we strongly recommend lightweight, modular frameworks or libraries that do one or two thing well over the do-it-all mega-frameworks (e.g., Sencha) that try to do too many things, often in their own way (and not the HTML/CSS/JS way). So, in short, go lightweight and modular, and most of all, learn the HTML5 way and NOT the framework way. Here is our recommended HTML5 application architecture (with some library recommendations). From bottom to top: The base of all HTML5 applications is obviously the browser runtime with HTML, CSS, and JavaScript runtime. 2 DOM Access API 3 UI Elements In short, there are two different approaches. 4 Templating 5 Data 6 LightWeight MVC 7 Application

Native mobile app dev vs. HTML5: Why not both? | Mobile development The ongoing debate over how to best get applications onto mobile devices -- either through native deployments or writing a mobile Web application -- is going to remain a front-burner question for developers to ponder, given the pros and cons of both, developers say. Developers see benefits to both approaches, as well as to hybrid applications that mix the two. Some application builders are using dev tools like Appcelerator Titanium, which compiles Web-based mechanisms like JavaScript to native code. Web-based, or HTML5, development provides a quick way to get some applications to multiple devices, developers say. But native development, such as with Objective-C for Apple iOS and Java for Google's Android devices, offers access to the full breadth of a particular device's capabilities, which is often worth the cost of having to develop the code (though not the underlying logic) independently for separate platforms. "Native development will never go away.

Architecture Overview July 2002 Michael Platt Microsoft Corporation Contents Enterprise ArchitectureApplication and Technology ArchitectureConceptual, Logical, and Physical ViewsApplication Architecture Application PatternsTechnology Architecture Technology Patterns This document is intended for business, software, and infrastructure architects who want to understand Microsoft's approach to enterprise, application, and technology architectures. Enterprise Architecture The definition of an architecture used in ANSI/IEEE Std 1471-2000is: "the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution." An enterprise architecture (EA) is a conceptual tool that assists organizations with the understanding of their own structure and the way they work. The individual models in an EA are arranged in a logical manner, and this provides an ever-increasing level of detail about the enterprise, including:

Mobile Apps: HTML5 vs Native Last week, Facebook transitioned its iOS app to be fully native. This has triggered another round of debate over the merits of native apps vs. HTML5. I am motivated to contribute my thoughts on this issue. Public discourse on this topic tends toward the extremes. I participated in a recent discussion which started with someone worrying that his company will have to support Microsoft Surface in addition to Android and iPad, and ended with someone saying, "Or you could use HTML5 and get all three platforms for free." Marc Andreessen, an influential bishop of the web, has said: "The application model of the future is the web application model. It seems like most people look at this situation and see black or white. The question The main question in play here is: How thick should clients be? Let me define my terms: I define the Client as the thing which is used by exactly one user, which interacts directly with that user, and which is probably physically close to that person. The Extremes Bets

Mobile Devices and Apps for Health Care Professionals: Uses and Benefits Is HTML5 the End of Native Mobile Apps? Hernán Gonzalez | August 17, 2012 | 12 Comments inShare53 Businesses seeking comprehensive mobile solutions are finding that HTML5 best meets their needs, as its features are built to support multimedia elements with consistency across devices. Back in the day, there was a big dispute between Apple and Adobe about bundling Flash with iOS. Now, that very same technology that Apple condemned seems to be replacing its App Store. Development on HTML5 is very popular, but it does have its challenges. One very compelling reason why the latest version of HTML is being so widely embraced is the cost savings in both development and distribution. Distribution of HTML5 mobile apps is also more efficient than relying on the App Store. The markup language can be used to write web applications that still work when you're not connected to the Internet.

HTML5 ou Natif, quelle stratégie adopter pour vos applications mobiles ? Beaucoup d’acteurs n’ont pas encore finalisé leur stratégie mobilité. Néanmoins, chacun a une réflexion sur le sujet et des projets potentiels à lancer. Parmi les premières questions que les décideurs se posent, nous retrouvons souvent celles qui concernent les choix technologiques. Quelles plateformes cibler ? Pour l’utilisation de fonctionnalités offertes par l’appareil (Accéléromètre, appareil photo, RFID,…) Pour des besoins de manipulation de données locales conséquentes (mode déconnecté) Pour des besoins forts de sécurité le natif est plus difficile à piraterSi les contraintes de synchronisation des données sont critiques, vous ne pourrez pas compter sur HTML5 pour garantir la cohérence des données surtout lorsque la connectivité réseau est perdue ou lors d’un changement de navigateurNotification plus efficace de l’utilisateur dans le cas d’une mise à jour Ainsi que les critères qui font que vous préférerez choisir du HTML5 : Les choix technologiques s’imposeront d’eux-mêmes.

Applications natives ou web HTML5 pour mon mobile ? L’arrivée des terminaux mobiles en entreprise et la popularité de l’iPhone avec son modèle économique basé sur l’AppStore ont engendré le retour massif du développement d’applications natives, permettant de profiter de l’ergonomie, de la puissance et des nouvelles fonctionnalités des smartphones. HTML5, la nouvelle version du standard du web, a été conçu pour remédier à ces lacunes. Quel est donc l’impact de HTML5 sur le choix entre application native ou application web? Les nouvelles fonctionnalités de HTML5 Nous allons ici étudier les nouvelles fonctionnalités de HTML5 et voir s’il rattrape partiellement ou totalement les applications natives. Des cas d’usages qui manquent encore Nous pouvons d’ores et déjà distinguer ces besoins justifiant le choix de développer en client lourd plutôt qu’en HTML5: le push de données : même si comme on l’a vu, HTML5 apporte de nouvelles fonctionnalités concernant le push de données, cela n’atteint pas les possibilités des clients natifs.

Related: