问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

各种移动开发工具是怎么实现的

发布网友 发布时间:2022-05-05 16:09

我来回答

1个回答

热心网友 时间:2022-04-19 23:52

随着这种需求的日益增长,越来越多的开发者开始关注移动开发工具和开发库的开发了,他们试图帮助移动开发者扫平实现梦想的障碍。
虽然这套工具的开发目前尚不成熟,但是HTML5的出现让大家看到了移动Web开发的光明前景,它让用户摆脱了对native软件的依赖。
首先,web是完全开放的,它不用受到App Store的协议*。
其次,程序开发人员能够获得100%的收益。当然,这也意味着必须找到一种新的获得收益的方式,这一点并不简单。但是,一旦找到了合适的方法,程序员就不用再将自己30%的收益拱手让给Apple了。
第三,HTML5变得越来越强大了,功能也变得更加丰富了。最新的HTML5版本已经能够支持客户端在本地保存数据了,目前基本能够替代native app的功能。换句话说,浏览器已经基本能够取代native apps的地位了。
第四点,HTML5 apps不与具体设备绑定。虽然目前大部分的宣传还是围绕着Apple的iPhone,但是HTML5 apps是比较容易迁移到其他平台上的。虽然可能还没简单到按下一个按钮就完成平台的迁移,但是起码和Objective C转换为Java的工作比起来,还是简单许多的。
当然,HTML5也不是万能的。Web apps最大的缺陷就是对网络连接的依赖。它确实不如native apps响应及时,而native app的开发者常常在讨论微秒级的延迟是否会影响用户的体验。游戏开发者在使用JavaScript编程前需要再三权衡一下。
目前最大的*可能就是工具本身的开发。Apple的开发工具能够看到native apps的结构,而移动浏览器却很难深入了解上面运行的应用程序的代码结构。现在已经有一些开发工具和开发库来帮助程序员简化web开发的难度。下面介绍 一些移动web开发中著名的相关项目。
移动web开发工具:ChocolateChip-UI(下载)
由于移动设备上的屏幕通常都比较小,因此为移动设备设计一个有效的UI显得尤为重要。Enter Robert Biggs是一个来自Northern California的Web程序员,他开发的ChocolateChip-UI成为使用HTML开发移动界面的优秀示例。
开发中使用的WAML(Web Application Markup Language)是基于HTML5封装的编程语言。使用WAML提供的标签(如<slider>或是<stack>)能够极大 地简化开发者的工作。可以在JavaScript中使用WAML并在支持HTML5的智能手机上运行。
程序员可以将HTML、CSS、JavaScript和WAML组合起来,只需指定好ChocolateChip-UI的翻译进程即可。
虽然这种做法并不完美,但这已经足够好用了。我之前曾用过其他的移动开发工具,他们都不能很好地封装在JavaScript中。
ChocolateChip-UI已经基本将所有的WAML提供的组件都封装好了,效果几乎与标准的iPhone UI相当。它甚至还包括了一个额外的删除列表,用户通过点击鼠标就能将组件从UI上删除。
移动Web开发工具:Mobl(下载)
JavaScript使用起来不算太简单,而Mobl就 是用来简化JavaScript的开发的。Mobl是专门用于Webkit浏览器上应用开发的框架。它不使用HTML、JavaScript或是CSS编 写程序,而是直接使用Mobl编程,然后通过Mobl编译器将它转换为适合在移动浏览器上运行的HTML、JavaScript和CSS语言。
Mobl开发者使用这种方法弥补了JavaScript的不足。例如,它解决了延迟执行的函数传递问题;跟踪括号的配对问题(程序员对JavaScript的这一缺陷常常感到头痛,并且容易导致错误产生)。
Mobl通过使用大量的申明降低了程序的复杂度。如果你想传递1,000毫秒,你可以写:
sleep(1000); doNext();
Mobl将这条语句翻译成JavaScript,通过setTime函数执行时间传递,通过回调函数执行doNext()语句。程序员无需考虑回调函数的语法以及函数的封装方法,只要将希望发生的事情列举出来就可以了。
Mobl提供了几十种方法帮助程序员编写指令,并且不需要考虑这些指令是如何转换成JavaScript的。如果你想要编写一个下拉菜单,这很简单,只需要将菜单中的选项用关键字表示出即可。
对于已经熟悉了Objective-C或是JavaScript的程序员来说,可能觉得Mobl没有太大意义。毕竟,他们能够用自己熟悉的语言编写 很好的程序,又何必去学习一种新的语言来完成同样的工作呢?但是,对于编程语言的热爱者来说,他们能在Mobl上发现许多好的、有意思的想法,而Mobl 确实可以简化他们的开发工作。

移动开发工具:jQuery mobile(下载)
51CTO专题报道:jQuery Mobile基础入门教程
基于jQuery框架开发一个移动平台并为智能手机开发一个简单的UI工具显然是迎合大众需要的。这个项目得到许多主流硬件厂商的支持,也一定能够在移动设备上取得成功。
jQuery Mobile中最简单的部件是HTML-center布局部件。它使用DIVs和其他标准的HTML部件(如<LI>标签)来构建页面。 jQuery Mobile通常只需要开发者添加几个新的主题或是皮肤,它就能够非常方便地处理动态网页和CMSes了。
使用jQuery意味着,大部分桌面网站上可用的插件在移动网站上也是可用的。也有一些专门为移动网站开发的插件。jQuery Mobile拥有轻量级架构和丰富的资源组件,不难看出它将在未来的移动开发中占据重要地位。
移动开发工具:The-M-Project(下载)
如果说jQuery Mobile无法精确地处理网页中的方法和风格的话,那么The-M-Project则为开发者提供了一组经jQuery Mobile对象封装的部件。使用它能够更好地控制网页的设计细节,例如可以在某个合适的地方添加一个图标,而不仅仅是添加一张大的图片。
代码采用Model-View-Controller模式。开发者创建一个大的JSON结构,在上面定义各个不同的页面以及页面上用到的各种组件。使用The-M-Project处理页面的布局信息。
在每个页面的事件钩子上定义一组功能函数,用来实现应用程序的功能。The-M-Project维护事件与页面相应位置的对应关系。
工具可以直接使用Node.js,代码可以在Node.js中运行,甚至可以在相同的服务器上完成测试。开发出来的应用可以在任何Web服务器上运行,也可以进一步将它整合到Node.js中。
移动开发工具:Touchqode(下载)
假设你正坐在巴黎的一家咖啡馆,或是在珠穆朗玛峰的峰顶,你手头上没有台式电脑或是笔记本,如果此时你的脑海中浮现出一个很妙的想法,你是不是只能 找张纸粗略地描述一下你的想法,然后等到合适的时候再实现这个想法呢?如果此时你的Android手机上正好安装了Touchqode,那么你大可不必这 么麻烦了。
这个小小的开发工具包含的功能丰富得惊人:代码可以高亮显示,可以在本地运行脚本,甚至可以通过FTP同步新加的代码。如果你的老板在你旅行的途中 让你修改一下代码,有了Touchqode,这并不会给你带来多大的麻烦。我无法想象怎样使用我的Android手机编写很长的代码程序,但是已经有作者 使用手机完成整部小说的创作了,所以,不要低估Touchqode在手机编程领域的作用。
不管怎么说,Touchqode在紧要关头还是非常派得上用场的。
移动开发工具:LimeJS(下载)
Flash游戏之所以如此引人关注,一个重要的原因就是它有非常丰富的flash库。Flash库的开发者将他们的工作出售给Flash开发者,从而获取收益。同样的,DigitalFruit开发出了LimeJS,并将它出售给想使用WebGL对象的开发人员。
LimeJS的早期版本在Webkit浏览器上还是非常好用的。代码使用的是JavaScript,但结构看起来更像是C语言,它调用了OpenGL的库。一些OpenGL库和LimeJS可以自动完成交叉编译,但通常还是需要手动调整部分内容。
LimeJS提供了一些简化游戏开发的功能。它提供了一些场景和一个灵活的事件管理机制。它还附带有一些动画和效果转换机制。所有这些功能都是游戏开发人员经常使用的功能。
开发环境的基本架构使用的是Python,最后的开发包与Google的Closure Compiler绑定,下载速度相当不错。
对于那些使用OpenGL开发游戏应用的程序员来说,LimeJS还是非常有吸引力的。虽然它使用的是JavaScript,但是它并没有用到JavaScript中复杂的编程思想。
移动开发工具:Jdrop(下载)
表明上看,Jdrop似乎是由一堆JSON组成的,它常被误解为一个开源的NoSQL数据库。事实上,Jdrop是用来帮助程序员处理台式机和移动设备上屏幕显示差异的开发工具。
为了简化从移动设备上提取性能反馈的复杂性,Jdrop为开发者提供了Mobile Perf组件,它是一个累积性能的标签,其中包括Firebug Lite, Page Resources, DOM Monster, SpriteMe, CSSess, 和Zoompf。程序员可以使用Jdrop直接在手机上调试程序,并能够自动将结果上传到Jdrop云上,方便开发者在台式机上对运行的数据结果进行进一 步的分析。它还能用来调试真实移动设备上的性能并检查移动网站的源码。

移动Web开发工具:XUI(下载),Zepto(下载)
大部分框架所做的主要工作就是将一个应用程序转换成一个很炫的网页,通常它们需要使用自己特定的编程语言。而XUI和Zepto则与这些框架不同。 它直接使用HTML和CSS,这已经使得它能够显示开发者想要呈现的各种效果了,而它只是为开发者提供了创建和修改DOM的方法。

这些库并不会重新组合各种部件或是创建任何新的部件。它只提供HTML里面有的部件,开发者可用使用CSS来控制这些部件。这些库为开发者提供了处理DOM的各种方法,如寻找组件、添加类或是丰富事件等等。
这两个库最大的优势就是节省空间。Zepto目前的版本只占2,300个字节,仅是jQuery的十分之一。而XUI则稍微大一点。与jQuery 对比是合适的,因为它们提供的功能是相当的。例如,XUI不能在BlackBerry或是IE mobile上兼容。如果你想让它在这些设备上兼容,那么你需要一个更加大的库。
移动Web开发工具:Jo(下载)和Sencha Touch(下载)
51CTO专题报道: Sencha Touch基础入门教程
Jo和Sencha是两组部件集合,适用于使用JavaScript开发的移动设备。通过JavaScript定义的结构可以调用这两个库的函数,使得屏幕上显示的页面更加美观。这些代码中通常包含比较复杂的功能调用和函数嵌套。
Sencha Touch是由Sencha公司开发的,Sencha公司专门为通用Web页面开发提供设计框架。它也出售支撑方案,但是并不对Sencha Touch收取版权费。该公司的研发团队会解决开发者的疑问,并且还提供了一个开放的技术支持论坛。
Jo是一个取得了OpenBSD授权的开源项目。开发者可以免费使用它,而它的开发者Dave Balmer还为用户提供各种帮助。
我已经使用Sencha Touch开发了几个Web Apps了,我发现这个工具使用起来相当方便,因为它很好地处理了许多常见的布局问题。我曾经自己创建了一个新的组件,而Touch框架很好地将这个新组 件放置到了页面中合适的位置上。这些apps能够很好地在iPad和iPhone上运行,尽管二者的屏幕尺寸相差较大。
Jo和Sencha Touch目前的介绍文档还不完善。目前这方面的工作也正在逐步跟进。Sencha的商业版本有更加全面的介绍文档。
移动Web开发工具:jQTouch(下载)
jQTouch是移动Web开发的最好框架之一。虽然他的开发者David Kaneda已经离开了这个项目转而投入Sencha,但Jonathan Stark接手了jQTouch的相关工作,并且对代码进行了优化和补充。
jQTouch开发的Apps是在DIVs中加入HTML。jQuery为DIVs选择合适的类,并加入事件处理代码。
我尝试用jQTouch开发了几个Web Apps,整体感觉jQTouch使用起来还是非常方便的。它可以很方便地与其他Web工具以及服务器端的框架整合在一起。
有些时候,使用jQTouch的代码可以达到native apps的效果。但是它还存在一些奇怪的问题,并且会处理一些没有意义的转换工作,在某些设备上的触摸事件响应速度也不够理想。
移动Web开发工具:PhoneGap(下载)
51CTO专题报道: 跨平台移动web中间件PhoneGap开发入门
另一个使用广泛的开源移动框架就是PhoneGap,PhoneGap可以让开发者在智能手机上使用HTML、JavaScript和CSS编写各 种native app。许多使用JavaScript编写的apps最后都要与PhoneGap绑定,然后通过App Store推向用户。
这个框架让开发者对HTML有了新的了解。在iOS上,它被称为UIWebView,而在其他的主流智能手机上也有类似的部件。它的目标就是使得 HTML、JavaScript和CSS能够在所有的主流平台(如Android、iOS、BlackBerry和WebOS)上运行。
通过使用PhoneGap的几次编程经历看来,PhoneGap的使用方法通常是比较类似的。将一个Web App转变为一个能够在iPhone和Android上运行的native app,只需花费不到一个小时的时间。PhoneGap能够帮助开发者完成窗口的建立工作。
但是PhoneGap的解决方案不算完美。用户还是能够发现使用同一套HTML和CSS代码构建的应用,在Android和iPhone上的显示仍 存在许多细微的差别,尽管Android和iPhone都支持同一套Webkit内核。虽然没有在BlackBerry和WebOS做类似的测试,但是不 难想象,这两个设备显示的内容应该也有不少的差异。话虽如此,但是PhoneGap确实能够帮助开发者开发出更加通用,性能更好地Web App。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
路由器网线一米多少钱 东芝电视怎么投屏安卓手机 东芝电视怎么投屏 东芝电视投屏功能在哪里 指甲根部半月白 ...在指甲中部黑线长起 还有就是月牙上有白色一块 都在同一个指_百度... 我农业银行五年定期无密码存款,身份证没了,仅凭身份证复印件和存款单... 混凝土强度回弹怎么测算推定值,是否满足要求?一篇文章讲明白_百度知 ... 发动机舱有胶皮味跟安装防盗器有关系吗 cb400f启动后有股胶皮味道 一个袋子装了半袋米,倒出三分之一多1千克后还剩19千克... 求助,U盘安装XP系统进入PE界面无法选择选项,求原因及解决办法 谁能告诉我PY手机平台,安装了这么用不了啊!还有就是PY,是什么意思啊 这一段Python代码 哪个大神能帮我仔细的分析解答一下 *桃PE一键装机工具为什么选择不了系统,不选择系统也没法重装,总之就是重装不了系统,在线等。。。 我是河南的在校大学生非师范专业 想考教师资格证 都需要什么条件 python中用pyplot画图,标题想做成“t=”后面是变化的t值,应该怎么写? 我是一名往届大专毕业生,非师范专业的. 我想报考幼师资格证, 请问要怎样报考 python中,同时用点记法和中括号怎么理解呢? 河南省非师范类大专生,如何报考教师资格证。 PYTHON pyQT4 不规则图形界面 python的输出数据问题 求帮看下程序应该怎么改 按钮上数值没有变化 应该 河南非师范类在校学生,只有毕业才能报考教师资格证吗? 我是河南大学的一名非师范专业的学生请问怎么考教师资格证呢 我是一名非师范类的大专生想知道一下2013年河南省南阳市幼师证如何考取,及时间 流程 河南非师范类专业,报考教师资格证。具体要怎么报考,流程是什么样的? 河南非师范专业报考教师资格证考试科目? 柿饼特别的红 是不是不正常啊 柿子树折枝怎么回事 学校和本科学校合作的每年专升本有人数,老师问我要不要升本,这种本科第一学历是本科吗? 有哪些中外合作办学的本科大学可以专升本? PE中装系统,为什么无法选择iso文件,只能选择gho文件?在PE中应该如何装iso文件的系统? u盘启动能正常进入选择pe菜单那里,选择启动模式以后无法进入pe U盘装系统到进PE选择哪里卡主了,不能选择! 跪求!!趴地跪求!!上吊跪求N95下划盖自动挂电话软件!! U盘装XP系统不能选择PE选项 诺基亚6120ci我下载了一个PY平台,不知道有什么用,听说是有的软件需要,请问什么软件需要PY平台,要我手 求手袋韩语专业术语 食用油会导电吗? u盘装系统无法选中u盘 里面的系统 汽油,柴油导电么? 请问油导电吗? 油导电吗?(汽油、柴油、机油、原油之类的) 油导电吗? 油,可不可以导电? 油有导电性吗 食用油导电吗 汽油是否可以导电? 普通机械油导电吗? 哪些情况下润滑油会导电? 油烟能导电吗?为什么?