`
bardo
  • 浏览: 378212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11805
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10112
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9499
社区版块
存档分类
最新评论

企业应用移动APP偷工减料的秘密

阅读更多

        偷工减料,让没有能力从事移动开发的团队,也能进行移动开发。偷工减料,但做出的成品,质量并不亚于完全原生代码开发的应用。这同样使得从事开发的企业能够省钱少力。何乐而不为?偷工减料,同时也可以大大加快开发速度。

        企业移动APP开发,现在多数采用对HTML版进行封装。所以,一般我们称APP有两类,一类是NATIVE APP,那就是说,IOS肯定是完全OBJECT C++源码的。ANDROID肯定是JAVA源码的。另一类,就是使用相关的封装工具,瘵MOBILE WEB APP包装成NATIVE APP(所以,我们称为封装APP)。

        这里有几点:第一,如果快速做出MOBILE WEB APP。这就需要对应的开发框架。则这类框架是很多的。列举如下:

baseJS

 

官方网站:http://paularmstrongdesigns.com/projects/basejs/

 

一套为Safari, FirefoxMobile Safari设计的轻量化javascript framework,目前和以后都不支持IE

 

iAd JS

 

官方网站:http://developer.apple.com/iad/

 

iAd JSApple为了iAd广告而设计的javascript framework,只支持iOS4以上的iPhoneiPod Touch。不过已经有开发者把它用于app的开发。需要和Apple付费申请iOS Developer Program才能使用。

 

iUI: iPhone User Interface Framework

 

官方网站:http://code.google.com/p/iui/

 

iUI是一套包含Javascript library, CSS和影像的iPhone web app framework,能够让web app有和native app相同的外观,并提供屏幕旋转侦测。

 

Jo HTML5 mobile app framework

 

官方网站:http://joapp.com/

 

另一个为行动装置设计的轻量javascript framework,对于HTML5的支持较其它framework丰富,包含WebQL, Audio。设计上比较特殊的部份在于UI组件的抽象化,因此能够在不同的装置上显示对应的UI

 

jQTouch

 

官方网站:http://www.jqtouch.com/

 

jQTouch是一个jQuery的外挂,jQuery的开发者能够用最短的时间开发iPhone web app,支持自订主题和extension

 

jQuery Mobile

 

官方网站:http://jquerymobile.com/

 

jQueryjQiery UI的行动版本,强调跨装置(SmartphoneTablet)跨平台( iOS, Android, BlackBerry, bada, Windows Phone, webOS, symbianMeeGo ),提供jQuery核心与UI widget

 

PhoneGap

 

官方网站:http://www.phonegap.com/

 

PhoneGap是一套开发原始码的包装软件 (Wrapper),能够把Mobile Web App包装成原生软件,支持iPhone/iTouch, iPad, Google Android, Palm, SymbianBlackberry。透过PhoneGap所提供的Javascript library,便可以取得联络人、加速计、位置信息,还能控制震动。

 

Sencha Touch

 

官方网站http://www.sencha.com/products/touch/

 

ExtJSjQTouchRaphael(一个SVG library)整合而成的HTML5 mobile web app framework支援iPhone, iPadAndroid触控装置。具有完整的touch event (tap, double tap, swipe, tap and hold, pinchrotate)data integration (Ajax, JSONpYQL)和完善的UI组件。

 

iWebKit

 

官方网站:http://iwebkit.net/

 

一个轻量的iPhone mobile web app freamework,主要功能在于利用CSS3仿真navitve app的外观。

 

MooTouch

http://dailyjs.com/2010/03/24/mootouch/

 

官方网站:http://gist.github.com/341230

 

MooTools javascript framework的外挂,目的在于模拟iPhone native UI

 

Titanium Mobile

 

官方网站http://www.appcelerator.com/products/titanium-mobile-application-development/

 

Titanium Mobile让你使用javascriptHTML5CSS3就能打造iPhoneAndroid native app。因为它与OS深度整合,因此它能够使用Camera、存取文件系统、本地数据库,在通讯方面则支持SOAPYQL。如果功能还不够,Titanium Mobile也允许使用Objective-CJava扩充,再运用javascript呼叫。

 

PastryKit

官方网站:无

源文件:

http://help.apple.com/iphone/3/mobile/dist/PastryKit-ug-compact.js

http://help.apple.com/iphone/3/mobile/dist/PastryKit-ug-compact.css

Apple官方自己使用的javascript library,在iPhoneSafari预设书签里的iPhone使用手册(iPhone打开才看得到效果)就是使用PastryKit打造而成的。PastryKit能够让Mobile Safari有着和native app有相同的外观(隐藏网址列、固定位置的工具列、重新定义页面卷动)。因为不是公开的framework,因此目前没有正式的文件,目前仅有零星几篇介绍和功能说明。

 

UiUIKit

官方网站:http://code.google.com/p/iphone-universal/

 

UiUIKit是一个模拟iPhone native UIHTML/CSS3 framework,并提供原始的PSD影像文件。

 

Unify

 

官方网站:http://unify.github.com/unify

 

destop, smartphonetablet上模拟native appweb app framework,能够与Adobe AIRPhone Gap整合,算是支持平台最广的framework,不过在2011 Q3才会提供tabletUI组件。

 

WebAPP.Net

官方网站:http://webapp-net.com/

 

一个轻量化的javascript iPhone web app javascript framework提供基本的UI组件与AJAX功能(php proxy供跨网域存取)

 

XUI

 

官方网站:http://xuijs.com/

 

PhoneGap的开发团队认为现代javascript framework (例如:jQuery, Ext, MooTools)在行动装置上加载过于缓慢。因为这些framework都有很强大的跨浏览器兼容性,而在手持装置上这些并没有必要。于是他们打造了为行动装置浏览器最佳化的XUIXUI目前支持WebKit, FennecOpera,未来也有计划IE MobileBlackBerry

语法与jQuery相近,实作了方便的选取器, DOM操作, Event handeling, Style, FxXHR

 

zeptojs

官方网站:http://github.com/madrobby/zepto

 

为行动装置最佳化的javascript framework,兼容于iOS 4+, Android 2.2+webOS 1.4.5+,语法与jQuery相近。

 

也许,这些资料有些老了,可能还有更多新的。比如:

 

Jo HTML5 Mobile App Framework
http://joapp.com/

 

 

        这些不同的Mobile Web App Framework,我认为在功能上应该可分为三大部份。

 

  • UI Component:提供适用于触控屏幕的UI组件
  • Javascript Library:让开发更有效率的Javascipt函式库。
  • Wrapper:把Mobile Web App包装成原生软件 (Native App),同时提供一些functionjavascript可以存取一些底层的功能(例如:相机、档案系统、各类sensor)

 

        实际上,框架第一步提供的是开发,第二个更为重要。那就是封装。上述框架中提供Wrapper的据本人所知,只有phoneGap和Titanium Mobile。 当然还有更多的第三方的Wrapper可用。

        接下来,还有一项最重要的,那就是,你的APP与NATIVE  APP质量上的差别。其实,差别只在流量这一方面。因为,你的APP的界面定义是从服务器端下载下来的。NATIVE APP只要下载与安装一次。

        不过,你的APP有一个最大的优势,那就是,你不需要不断更新,你会自动推给用户新功能与新版本。

        为此,我们需要扬长避短。那就需要设法节省流量。好在,现在同样也有一些新技术支持我们这样干,这是什么呢?JS客户端模板引擎。通过JS客户端模板引擎,我们的界面只下载一次,后面均是数据交换。那么,我们的流量实际与NATIVE差别不是很大了。

        JS客户端模板引擎目前也是相当多的。比如:

  • Nano 纳米 -  jQuery的模板引擎
    The “template” binding
    JsViews:下一代jQuery的模板
    JsRender:下一代jQuery的模板
    Google-jstemplate
    jQuery的模板插件
    jQote2 -  JavaScript的模板改组
    kite JavaScript模板引擎
    mustache.js
    Tempo

        当然,上面很多是基于JQUERY的插件。相信,基于其它移动开发框架的肯定有很多客户端模板引擎。

        好了,秘密完全公开了。 公式是: MWAF + WRAPPER + JS TEMPLATE = NATIVE APP。

         相信,根据此,很多企业也就能够开发自己的APP了。

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics