`
rensanning
  • 浏览: 3548020 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38135
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607274
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682264
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89324
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401824
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69685
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91693
社区版块
存档分类
最新评论

面向Web程序员的Titanium入门

阅读更多
【官方地址】http://developer.appcelerator.com/blog/2011/09/titanium-mobile-for-web-developers.html

你是不是已经决定开始使用Titanium Mobile,但是不知道从何下手?你现在是一个Web开发者,懂JavaScript,但是感觉用它做一整个应用有些害怕?那么这篇文章将会给你帮助。

Titanium Mobile是什么?
Titanium Mobile首先是一个SDK。和一些浏览器提供一些扩展API一样,Titanium Mobile也同样扩展JavaScript(JS)从而允许你访问原生平台元素的接口。Titanium Mobile运行在一个native窗口上下文中,而不是一个浏览器窗口,从而它也存在DOM。其实,Titanium Mobile中的JS的运行方式更类似于服务器端(server-side)的JavaScript,比如node.js,但是它提供浏览器的实现。从一开始在思想上有这个认识,会为你节省很多麻烦。

在社区中已经存在以Titanium为基础的一批开源Framework,所以Titanium Mobile自身严格来说不是一个Framework。

理解Titanium中的UI设计
在网页中,你可能会用到DOM(Document Object Model)中的DIV来创建UI,并且提供多个页面。在Titanium中也适用了这个理念,但是不同的是,在移动开发中使用“view”来代替各种标记元素,窗口,以及页面。那么在设计应用的页面布局时,原则上来说我们应该指定绝对位置,当我们适用这样的方法时,就能缩短CPU的处理时间,从而优化性能。虽然那么说,但是相比绝对位置来说,我们也可以选择水平和垂直的相对位置来指定页面布局。这样页面布局就很方便。

在Titanium中,也提供了控件,比如按钮,滑块,开关,标签页等等,他可以使用户很直观的使用应用。

MVC是否还有意义
在社区中,已经存在一些开发好的MVC风格的框架,也欢迎大家试试(通过谷歌你能找到很多)。然而,我们认为,使用模块化的结构更容易,比如我们提供的例子应用Tweetanium

Titanium和window的URL
很多开发者查看我们的示例应用KitchenSink 中使用了URL属性,认为那是“最佳实践”,继续沿用它做类似于web页的应用。这里让我来解释为什么你不能按常规来使用这种方法开发应用。

对于window来说,定义URL属性有点儿类似于基于浏览器Web应用,它允许你打开一个新页面。
和浏览器一样,移动应用也会在新的cotext上被运行,换句话说,它就像你应用中的一个单独的应用程序。这样一来的结果是你定义的变量在另外的context中将不能再使用。为了解决这个问题,浏览器使用cookie来存取整个域下的数据,同样,你的应用也能设置属性保证整个应用都能够取到数据。这样的缺点是,即使你不需要的时候,数据也存在,除非你删掉它。而模块化设计方法将会使数据自动销毁。

有时候改变context也是个好事,比如在KitchenSink中,它对于保证变量值存在一个窗口中,而不会影响到下一个窗口是很有帮助的。能使开发者一看就知道是怎么回事。

所以,开发者应该做什么?这里我再次把Tweetanium推荐给你,它是一个很棒的例子,很好的展示了如何设计一个单context的应用。

跨平台测试

尽管被大家普遍的误解,但是Titanium真的不是一个“一次编写,随处运行”解决方案。虽然你可能会觉得这令人惊讶的,但他确实是有意的,也有很好的理由!不同的平台都会有他们的强项和弱项,所以,如果我们开发的应用什么地方都是一样的,他也就削弱了平台的强项,从而远离了他们的目标市场。比如,在iOS应用中,标签栏是位于屏幕的下方,但是完全不同的是,在Android中,标签组是在上方的。然而,虽然你需要适应在用户接口上的差异,但是所有的平台上大多数的业务逻辑是一样的。总的来说,还是要考虑跨平台测试(不想ie6和safari,更像firefox和chrome)。

总结
需要记住的一点是,Titanium的目标不是鼓励你把现有的web应用直接移植到移动电话上来,而是它提供了一种你需要的工具,通过你知道的语言来创建应用,给你的用户一个真正原生,更加逼真的应用体验。

一些有用的链接


分享到:
评论

相关推荐

    Titanium-Web-Proxy:C#中的跨平台异步HTTP(S)代理服务器

    Titanium Web代理 用C#编写的轻量级HTTP(S)代理服务器。 在此处报告错误或提出问题。 要获得编程帮助,请使用带有标签Titanium-Web-Proxy的 。 产品特点 采用服务器连接池,证书缓存和缓冲池的多线程全异步代理 ...

    Titanium中文版开发手册

    **Titanium中文版开发手册** Titanium中文版开发手册是一份专门为中文用户编译的开发者指南,旨在帮助熟悉中文的开发者充分利用Titanium框架进行移动应用的开发。Titanium是一个开源的JavaScript平台,允许开发者...

    titanium-web-proxy:C# 中的跨平台异步 HTTP(S) 代理服务器

    如需编程帮助,请使用带有标签 Titanium-Web-Proxy 的 。 特征 采用服务器连接池、证书缓存和缓冲池的多线程和异步代理 查看、修改、重定向和阻止请求或响应 支持相互 SSL 认证、代理认证和自动上游代理检测 在 ...

    Titanium plugin开发初探

    【钛合金(Titanium)插件开发初探】 在移动应用开发领域,Titanium 是一个流行的选择,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。Titanium 的核心理念是通过跨平台的 JavaScript API 提供与...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    Titanium Mobile SDK 3.1.0 是一个用于构建原生移动...虽然这个离线版的Apidoc在视觉呈现上可能不那么吸引人,但其内在的价值在于详实的文档和实用的信息,对于任何希望掌握Titanium开发的程序员来说,都是宝贵的财富。

    titanium-webserver:为 Titanium iOS 应用程序嵌入 HTTP 服务器模块

    这是一个适用于 iOS (iPhone/iPad) 的 Titanium Mobile 模块,它允许在您的应用程序中内置一个 HTTP 网络服务器。 基本安装说明 请遵循提供的指南。 变更日志 见。 访问保管箱模块 要从 JavaScript 访问此模块,您...

    TitaniumBackup_6.0.5.1

    《TitaniumBackup_6.0.5.1:专业版的安卓备份与恢复解决方案》 在安卓设备的管理和维护中,数据备份与恢复是至关重要的环节。TitaniumBackup_6.0.5.1,这款专业版应用,以其强大的功能和高效的操作,为用户提供了...

    Titanium-WebClient:Appcelerator Titanium Web服务客户端

    【钛合金-WebClient:Appcelerator Titanium的Web服务客户端】 在移动应用开发领域,Appcelerator Titanium是一个广受欢迎的框架,它允许开发者使用JavaScript语言来构建原生的iOS、Android以及Windows应用。...

    titanium:用Rust编写的键盘驱动的Web浏览器

    Titanium Web浏览器 用Rust编写的键盘驱动的Web浏览器 Titanium用Rust编写,并使用WebKit2GTK渲染网页。 它的灵感来自于Vimperator和qutebrowser.py。 屏幕截图 特征 类似于vim的键绑定 按照键盘上的链接/滚动 ...

    Titanium开发者平台介绍

    Titanium开发者平台是一个完全免费且开源的应用程序开发框架,它允许开发者使用自己熟悉的Web技术(如JavaScript、HTML、CSS、Python、Ruby以及PHP)来构建跨平台的应用程序。该平台不仅支持移动设备(如Android和...

    [Titanium] Appcelerator Titanium 移动应用开发教程 (英文版)

    [Packt Publishing] Appcelerator Titanium 移动应用开发教程 (英文版) [Packt Publishing] Creating Mobile Apps with Appcelerator Titanium (E-Book) ☆ 图书概要:☆ Develop fully-featured mobile ...

    《程序员》杂志2012年合辑2

    Android和iOS的竞争日益激烈,开发者开始关注跨平台开发工具和技术,如PhoneGap和Titanium,以适应多设备环境。 2. **云计算的崛起**:2012年,云计算逐渐从概念走向实际应用。Amazon Web Services(AWS)等云服务...

    Titanium Mobile API

    ### Titanium Mobile API 知识点详解 #### 一、Titanium Mobile API 概述 Titanium Mobile API 是一款由 Appcelerator 公司提供的用于跨平台移动应用开发的强大工具包。该工具允许开发者使用 JavaScript 编写应用...

    前端开源库-node-titanium-sdk

    通过Titanium,开发者可以利用Web技术(如HTML、CSS和JavaScript)构建功能丰富的、性能优异的原生应用。 在`node-titanium-sdk-master`这个压缩包中,通常会包含以下关键组成部分: 1. **源代码**:这是核心的...

    titanium 打开本地网络

    Titanium 是一个强大的开源JavaScript框架,专为开发原生移动应用而设计。它允许开发者使用JavaScript编写代码,同时能够利用iOS、Android等平台的原生功能。在涉及到“titanium 打开本地网络”的话题时,我们主要...

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序.zip

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序 #Ti 检查器Ti检查器允许在 Chrome DevTools web界面中调试 Appcelerator Titanium 应用程序。工具通过将命令和消息转换为 Chrome 调试协议和 ...

    Titanium Backup_3.7.4捐赠完全版

    Titanium Backup_3.7.4捐赠完全版

    Titanium学习教程

    ### Titanium学习教程知识点详解 #### 一、Titanium简介与特点 **Titanium**是由Appcelerator公司开发的...无论是对于希望快速入门的初学者还是寻求进阶的高级开发者而言,Titanium都是一个值得深入了解的强大工具。

Global site tag (gtag.js) - Google Analytics