使用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

目录
相关文章
|
24天前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它采用中间件系统增强功能,如日志和错误处理,集成多种模板引擎(EJS、Jade、Pug)用于HTML渲染,并提供安全中间件提升应用安全性。其可扩展性允许选用合适插件扩展功能,加速开发进程。
|
25天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。借助插件机制扩展功能,并支持热更新,加速开发流程。
17 4
|
25天前
|
缓存 JavaScript 数据安全/隐私保护
js开发:请解释什么是ES6的Proxy,以及它的用途。
`ES6`的`Proxy`对象用于创建一个代理,能拦截并自定义目标对象的访问和操作,应用于数据绑定、访问控制、函数调用的拦截与修改以及异步操作处理。
17 3
|
25天前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
21 2
|
26天前
|
自然语言处理 JavaScript 网络架构
js开发:请解释什么是ES6的箭头函数,以及它与传统函数的区别。
ES6的箭头函数以`=>`定义,简化了函数写法,具有简洁语法和词法作用域的`this`。它无`arguments`对象,不能用作构造函数,不支持`Generator`,且不改变`this`、`super`、`new.target`绑定。适用于简短表达式,常用于异步编程和高阶函数。
17 5
|
3天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
22天前
|
开发框架 JavaScript 前端开发
描述JavaScript事件循环机制,并举例说明在游戏循环更新中的应用。
JavaScript的事件循环机制是单线程处理异步操作的关键,由调用栈、事件队列和Web APIs构成。调用栈执行函数,遇到异步操作时交给Web APIs,完成后回调函数进入事件队列。当调用栈空时,事件循环取队列中的任务执行。在游戏开发中,事件循环驱动游戏循环更新,包括输入处理、逻辑更新和渲染。示例代码展示了如何模拟游戏循环,实际开发中常用框架提供更高级别的抽象。
11 1
|
25天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
18 4
|
25天前
|
JavaScript 前端开发 编译器
js开发: 请解释什么是Babel,以及它在项目中的作用。
**Babel是JavaScript编译器,将ES6+代码转为向后兼容版本,确保在旧环境运行。它在前端构建中不可或缺,提供语法转换、插件机制、灵活配置及丰富的生态系统,支持代码兼容性和自定义编译任务。**
17 6
|
25天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的async/await,以及它如何解决回调地狱问题。
ES6的`async/await`是基于Promise的异步编程工具,能以同步风格编写异步代码,提高代码可读性。它缓解了回调地狱问题,通过将异步操作封装为Promise,避免回调嵌套。错误处理更直观,类似同步的try...catch。