使用Javascript开发移动应用程序

简介: Javascript并不仅仅只用于网页和网站程序。你还可以创建实时应用、服务端解决方案、桌面和移动应用。移动应用分为两种:浏览器里的网页应用和本地应用。本地应用通常更快更强大,因为它们有访问文件系统、传感器、照相机等设备的权限。

Javascript并不仅仅只用于网页和网站程序。你还可以创建实时应用、服务端解决方案、桌面和移动应用。移动应用分为两种:浏览器里的网页应用和本地应用。本地应用通常更快更强大,因为它们有访问文件系统、传感器、照相机等设备的权限。本地应用通常使用手机指定的语言编写,例如Objective-C、Java。所以独立开发者通常使用HTML+CSS+Javascript的解决方案。幸运的是,感谢最新的技术,我们可以很方便的将网页应用转换为真正的本地应用。

Titanium Appcelerator

 

视频(http://vimeo.com/moogaloop.swf?

clip_id=8730218&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=&fullscreen=1

这个恐怖的工具允许你使用所知道的网页技术通过本地控制为iPhoneiPadAndroid(稍后将支持黑莓)创建强大的移动应用。这些技术包括HTML5CSS3JavascriptPHPRubyPython。此外,它最近还更新了文档。

你可以使用任何一个你想用的框架(例如MootoolsjQueryPrototype)并利用上CSS3Javascript的最新特性。这是因为Titanium程序实际上运行在聪明的嵌入式Webkit(即Safari)窗口中。Titanium 1.0版本开始,除Webkit Webview外只有Javascript模拟器。米切尔所写的一样

Titanium 0.8版本中,WebkitWebview被当作核心使用,周围是GPS、用户界面、相机和映射到操作系统的数据。而到了Titanium 1.0版本,开发者现在可以选择通过直接绑定到操作系统的APIiPhone上的Objective-C或者Android上的Java建立Javascipt桥。

如果你学习了Titanium手机API,你会发现它使用地理定位或者鼠标手势是多么的简单。你甚至还可以仅仅通过简单的几行代码,就可以把你的应用连接到Facebook

PhoneGap

 

就像Titanium一样,Phone Gap让你可以使用HTMLJavascript来为多个手机平台构建应用,包括iPhoneGoogleAndroid、塞班、Palm和黑莓。你可以在这里看看上面提到的这些平台目前支持哪些特性。

坦白的说,我只用过Titanium,但是PhoneGap看起来也是一个很好的选择。

另外还有QuickConnectFamilyNibleKit。第一个相当强大,第二个缺乏文档同时不支持跨平台(只支持iPhoneiPod)。我还推荐iWebkit,但是它的主页最近被黑了(我没有开玩笑)。

你可能会对让你工作更容易的框架感兴趣。例如,如果你希望你的应用有特别的iPhone界面和外观,可以试试:

jQTouch

       

它可以使你轻松创建Webkit浏览器上运行的iPhone应用(还可以再使用Titanium PhoneGap 来创建本地应用)

jQTouch之外还有一个选择:IUI。你可以在Google代码里找到它。

如果你要选择一个轻量级和非jQuery的框架,可以试试WebApp,它被设计来模拟iPhoneiPod Touch真实的用户图形界面。

XUI

我们听到了你的话。另外一个Javascript框架是什么?!当使用PhoneGap开发时,使用现代的Javascript(例如PrototypeMooToolsYUIExt、甚至jQuery),会导致加载时间变慢。一个最大的原因是这些库太大,主要是它们包含了大量跨浏览器兼容性代码。到目前为止,手机平台上浏览器实现和不同的需求很少,所以请考虑XUI

我已经说得够多了

Cappuccino

这个框架为非Objective-C开发者设计,Capucchino引入了Objective-J

Objective-J是一个基于Objective-C的新式编程语言。它同时是Javascript的一个超集,这代表着任何有效的Javascript代码也是可用的Objective-J代码。任何熟悉Javascript和面向对象原理的人,学习Objective-J不会有任何困难。熟悉Objective-C会有一些帮助,但不是必须的。

使用这个框架可以创建和桌面应用一样棒的手机应用(这要感谢Titanium)。可以看看一些示例:280 slides,Mockingbird或者Github问题

iProcessing

 

使用上面的框架你可能无法创建3D应用和游戏。所以有了iProcessing。它是一个开放的编程框架,帮助人们使用Processing语言开发本地iPhone应用。它是Processing.js库和iPhoneJavascript应用框架的结合。

视频(http://www.youtube.com/v/tENliJSMEB8&rel=0&color1=0xb1b1b1&color2=0xd0d0d0&hl=en_US&feature=player_embedded&fs=1

你还知道另外值得提到的框架?请给我回复。

原文链接:http://article.yeeyan.org/view/153993/174186

目录
相关文章
|
19天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
118 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
10天前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10天前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10天前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10天前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10天前
|
JavaScript 前端开发 Java
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
柯里化是一种强大的函数式编程技术,它通过将函数分解为单参数形式,实现了灵活性与可复用性的统一。无论是参数复用、延迟执行,还是函数组合,柯里化都为现代编程提供了极大的便利。 从 Redux 的选择器优化到复杂的数据流处理,再到深度嵌套的函数优化,柯里化在实际开发中展现出了非凡的价值。如果你希望编写更简洁、更优雅的代码,柯里化无疑是一个值得深入学习和实践的工具。从简单的实现到复杂的应用,希望这篇博客能为你揭开柯里化的奥秘,助力你的开发之旅! 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
10天前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
2月前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
71 11
|
2月前
|
敏捷开发 人工智能 JavaScript
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
Figma-Low-Code 是一个开源项目,能够直接将 Figma 设计转换为 Vue.js 应用程序,减少设计师与开发者之间的交接时间,支持低代码渲染和数据绑定。
163 3
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
|
2月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
59 8

热门文章

最新文章