• Titanium, PhoneGap, Sencha Touch, jQuery Mobile – Clearing up confusion


    There’s a lot of buzz with the new mobile web frameworks and mobile platforms.  There’s also a lot of confusion and vague terms being thrown around that are causing people to misunderstand what each of these tools do.  I hope to clear up some of the confusion with a few brief points.

    A mobile web app is not the same as a mobile native app

    A lot of people think that Titanium and PhoneGap are in competition with Sencha Touch and jQuery Mobile.  They aren’t the same thing.  I’m sure I’m going to get some comments on this but think of a mobile web app as a website.  Think of it as Basecamphq.com or Twitter.com.  A mobile web app runs in your browser.  Almost all of the app’s resources are remote, stored on some server somewhere.  Sure there might be some local storage happening but at the end of the day it’s a website application.

    A native app runs on your device.  All of it’s resources are installed locally on your machine.  A native app uses platform and language specific API’s native to that device.  You can’t run NSString in a mobile web app.  A native app has access to local resources while a mobile web app cannot.

    “So what’s the difference between what’s out there?”  Here’s the difference:

    Sencha Touch and jQuery Mobile

    These are mobile web frameworks.  You can use these technologies to create web-based, mobile apps.  They don’t have access to any native API’s.  Both of these projects run in javascript.  Both projects have totally separate ways of tackling similar problems but they are similar in that they are for the mobile web.

    You can use Sencha Touch and jQuery Mobile inside both PhoneGap and Titanium.  If you decide your html/js is cool as a native app too, you can use either PhoneGap or Titanium to wrap a browser around your app and put it in the app store or marketplace.  This is where, I think, the confusion comes.  Putting your Sencha Touch or jQuery Mobile apps in a native wrapper doesn’t make it a native app.  It makes it appear as if it is a native app.  You might get some extra functionality from PhoneGap or Titanium API’s, but it’s still not necessarily a ‘native’ app.  It’s a web app running locally on the device.  It’s a great way to use web technologies inside a native-like area.

    PhoneGap and Titanium

    PhoneGap and Titanium are not similar to Sencha Touch and jQuery Mobile.  In fact, I would go as far and say that PhoneGap and Titanium aren’t all that similar.   Both allow you to distribute native or native-like apps.  Both don’t need to “build support” for Sencha Touch or jQuery Mobile.  Why?  Because the devices they support come with browsers.  Remember, Sencha Touch and jQuery Mobile run in the browser.  Since both PhoneGap and Titanium allow you to run things in a given device’s browser, they already have support for Sencha Touch and jQuery Mobile.

    The biggest difference with PhoneGap and Titanium is what they offer.  PhoneGap serves as a wrapper for the browser.  It appears as if it’s a native app but it’s really an html/javascript app.  Titanium can do the exact same thing via “webViews” but Titanium takes it a step further by offering a slew of native APIs for Cocoa Touch outside the browser.  The two apps I have in the app store are 95% non-web based.

    In Titanium you code in javascript, using Titanium’s unique API.  The end result, at the app’s runtime, is native performance, native UI’s, etc.  In simplest terms: You code in javascript and it ends up being Objective-C (in the case of iOS apps).

    I’m still skeptical of the “end of native” chant going around.  After building apps for the browser and for the device I think that there is a lot of room for both to still exist together.  Understanding the differences of the technologies out there will help clear that up.

    http://beautyindesign.com/blog/titanium-phonegap-sencha-touch-jquery-mobile-clearing-up-confusion/

    http://mobile.51cto.com/hot-274040.htm

  • 相关阅读:
    前端vue使用js-xlsx导出excel的三种方法
    vue使用echarts绘制河南地图并实现个人轨迹
    VUE中使用Echarts绘制柱状图
    springboot项目配置拦截器
    springboot+mybatis的多数据源配置
    Java后端高频面试题汇总
    Java基础专题
    Java集合专题
    Java并发专题
    JVM专题javascript:;
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168136.html
Copyright © 2020-2023  润新知