android程序员要不要学习html,css,js

Android学习之使用 HTML 5 支持移动 Web 应用程序离线工作
简介:&移动应用程序的部分魅力是无论您走到哪里,都可以带着您的应用程序及其数据。但移动应用程序面临的一个现实是,有时候,移动设备没有到 Internet 的工作连接。这似乎是移动 Web 应用程序的一个不可逾越的障碍。然而,Web 应用程序已经发展为能够离线工作。在本文中,您将了解如何使您的移动 Web 应用程序离线工作,并检测您的应用程序何时从离线转为在线或从在线转为离线。
HTML 5 是一项被大肆宣扬的技术,但是它实至名归。它有望成为一个技术引爆点,将桌面应用程序功能引向浏览器。它不仅适用于传统浏览器,甚至也针对移动浏览器。更好的是,最流行的移动浏览器已经采纳和实现了 HTML 5 规范的很多重要部分。在这个五部分的系列中,我们将详细了解几个新技术,它们都是 HTML 5 的一部分,可以大大影响移动 Web 应用程序开发。在每一部分中,都将开发一个可以工作的移动 Web 应用程序,展示一个可以用于现代移动 Web 浏览器(比如 iPhone 和基于 Android 的设备上的浏览器)的 HTML 5 特性。
在本文中,您将使用最新 Web 技术开发 Web 应用程序。这里的大多数代码只是 HTML、JavaScript 和 CSS & 任何 Web 开发人员的核心技术。需要的最重要的东西是用于测试代码的浏览器。本文中的大多数代码将运行在最新的桌面浏览器上,例外的情况会指出来。当然,还必须在移动浏览器上进行测试,您肯定希望最新的 iPhone 和 Android SDK 支持这些代码。本文中使用的是 iPhone SDK 3.1.3 和 Android SDK 2.1。参见
中的链接。
由于几个原因,离线 Web 应用程序对于用户和开发人员都有吸引力。许多开发人员希望能够编写一个能够在所有最流行的智能手机上运行的 Web 应用程序,而不是为每个平台编写本机应用程序。这对开发人员很方便,但并不意味这这是用户的愿望。为实现上述目标,移动 Web 应用程序必须能够提供本机移动应用程序能够提供的许多(或绝大部分)相同的特性。离线工作肯定是其中一个特性。有些应用程序非常依赖来自 Internet 的数据和服务 & 不管它们是移动 Web 还是本机应用程序。但是,应用程序不能仅仅因为用户的连接不好而完全失败。但这正是传统 Web 应用程序的症结所在。
离线功能使移动 Web 应用程序类似于本机应用程序。此外,离线功能还有其他好处。Web 浏览器总是缓存静态资源。它们依赖通过您的 Web 服务器发送的 HTTP 响应头部中的元数据来检索渲染页面所需的 HTML、JavaScript、CSS 和图像。如果渲染页面所需的所有资源都已缓存,那么页面就可以非常迅速地加载。但是,如果某个资源没有缓存,那么它将极大地降低页面载入速度。这种情况经常发生,实在是让人无法忍受。也许一个 CSS 文件拥有一个与其他所有文件都不同的 Cache-Control 头部,或者,也许是浏览器因为耗尽了已分配空间而无法缓存。
使用离线应用程序,您可以确保所有资源都会被缓存。浏览器将总是从缓存加载所有资源,尽管您也能够控制哪些资源从缓存加载。一种常见的 Ajax 技巧是将一个额外的时间戳参数添加到 Ajax GET 请求(或者,更糟糕的是在应该使用 GET 时使用 POST)来避免浏览器缓存一个响应。您无需使用这种技巧来支持离线 Web 应用程序。
离线应用程序听起来挺棒,那么创建一个离线应用程序一定很复杂,对吧?实际上,创建方法非常简单,只需完成下面三个步骤:
创建一个在线清单文件。
告知浏览器这个清单文件。
设置服务器上的 MIME 类型。
创建过程涉及一个关键文件:您的应用程序的缓存清单。这个文件告知浏览器要缓存(或者,不缓存)的确切内容。这成为您的应用程序的事实来源。 展示了一个简单缓存清单示例。
CACHE MANIFEST
# Version 0.1
offline.html
/iui/iui.js
/iui/iui.css
/iui/loading.gif
/iui/backButton.png
/iui/blueButton.png
/iui/cancel.png
/iui/grayButton.png
/iui/listArrow.png
/iui/listArrowSel.png
/iui/listGroup.png
/iui/pinstripes.png
/iui/redButton.png
/iui/selection.png
/iui/thumb.png
/iui/toggle.png
/iui/toggleOn.png
/iui/toolbar.png
/iui/whiteButton.png
/images/gymnastics.jpg
/images/soccer.png
/images/gym.jpg
/images/soccer.jpg
这个文件列示了您的应用程序正常工作所需的所有文件,其中包括 HTML 文件、JavaScript、 CSS 和图像。它还可以包括视频、PDFs、XML 文件,等等。注意,本示例中的所有 URLs 都是相对的。任何相对 URLs 必须相对于缓存清单文件。在本例中,缓存清单文件位于您的 Web 应用程序的根目录。比较
中的目录结构和
中的相对 URLs。
gymnastics.jpg
soccer.png
backButton.png
blueButton.png
cancel.png
grayButton.png
iui.css-logo-touch-icon.png
listArrow.png
listArrowSel.png
listGroup.png
loading.gif
pinstripes.png
redButton.png
selection.png
toggle.png
toggleOn.png
toolbar.png
toolButton.png
whiteButton.png
manifest.mf
offline.html
您可能已经注意到,这个应用程序正在使用 iUI 框架。这个一个流行的 JavaScript+CSS 工具包,用于向移动 Web 应用程序提供本机 iPhone 应用程序观感。如
所示,这个框架使用几个图像来伴随它的 JavaScript 和 CSS 文件。但是,只要列示在清单中,所有这些文件都将被浏览器缓存并可在离线模式中使用。
中另一个需要注意的关键点是版本信息,它并不是规范的一部分。事实上,它只是文件中的一个注释。但是,拥有这样的信息很关键,因为您可以使用该信息来告知浏览器您的应用程序有一个新版本。想想看,假如您更改了一些 HTML 或 JavaScript,或者甚至只是更换了一个图像。如果您不修改清单,则浏览器永远不会费心去加载修改后的资源的新版本。缓存清单没有过期一说,因此所有资源都将保持缓存状态,除非用户清空缓存或清单文件更改。浏览器将检查是否存在新的清单文件。要表明一个新的清单文件,您只需更改现有清单文件的部分或全部内容。返回到您的修改页面上的 HTML 的示例,如果您更改了 HTML 并更改了清单文件中的版本字符串,那么浏览器将知道资源已经被更改并再次下载它们。将版本号放置到注释中是管理这个生命周期的一种简单方法。
要启用您的 Web 应用程序的离线缓存,还需要向浏览器提供一些信息。Web 浏览器需要知道您想启用缓存,以及到哪里去找到您的缓存清单文件。 展示了一种非常简单的方法。
&!DOCTYPE html&
&html manifest=&manifest.mf&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&/&
&meta name=&viewport& content=&width=device- initial-scale=1.0;
maximum-scale=1.0; user-scalable=0;&/&
&meta name=&apple-touch-fullscreen& content=&YES& /&
&link rel=&apple-touch-icon& href=&/iui/iui-logo-touch-icon.png& /&
&style type=&text/css& media=&screen&&@import &/iui/iui.css&;&/style&
&script type=&application/x-javascript& src=&/iui/iui.js&&&/script&
&title&Let's do it offline&/title&
&div class=&toolbar&&
&h1 id=&pageTitle&&Going offline&/h1&
&a id=&backButton& class=&button& href=&#&&&/a&
&ul id=&menu& title=&Sports& selected=&true&&
&li&&a href=&#gym&&&img height=&80& width=&80&
src=&/images/gym.jpg& align=&middle&/&
&span style=&display:inline-
vertical-align:middle&&Gymnastics&/span&&/a&&/li&
&li&&a href=&#soccer&&&img src=&/images/soccer.jpg&
align=&middle&/&
&span style=&display:inline-
vertical-align:middle&&Soccer&/span&&/a&&/li&
&div id=&gym& title=&Gymnastics& class=&panel&&
&img src=&/images/gymnastics.jpg& alt=&Boys Gymnastics&/&
&div id=&soccer& title=&Soccer& class=&panel&&
&img src=&/images/soccer.png& alt=&Boys Soccer&/&
这个 HTML 最重要的一点是根 html 元素。注意,该元素拥有一个称为 manifest 的属性。正是这个属性告知浏览器这个页面可以离线工作。manifest 参数的值是到该 Web 页面的缓存清单文件的 URL。重申一遍,这个 URL 可以是一个完整 URL,尽管它在这里是一个相对(于指定 Web 页面的)URL。这里需要注意的另一点是该页面的 DOCTYPE。这是用于 HTML 5 Web 页面的规范 doctype。离线 Web 应用程序规范并不强制您使用这个 DOCTYPE;但是,建议您这样做。否则,某些浏览器可能不会将页面识别为 HTML 5 页面,并且可能会忽略缓存清单。这个 HTML 的剩余部分只是使用 iUI 的一个简单示例。 展示了这个页面在 iPhone 模拟器上的外观。
测试离线应用程序可能有点麻烦。如果可能,最简单的测试方式是将您的应用程序部署到一个 Web 服务器上。然后,您可以访问这个页面一次,关闭您的 Internet 连接,然后尝试再次访问。如果出现任何失败,那么您可能在缓存清单中遗漏了一些文件。在进行上述测试之前,您需要对您的 Web 服务器进行一些关键配置。
展示您通过使用您的 Web 页面的根 html 元素上的 manifest 属性来表明您的缓存清单的位置。但是,缓存清单规范规定,浏览器在下载和处理缓存清单时必须执行一个额外的验证步骤,即检查缓存清单的 MIME 类型,该类型必须为 text/cache-manifest。通常,这意味着您需要配置您的 Web 服务器来设置一个静态文件的 MIME 类型,或者,您必须编写一些代码来动态创建该文件并设置 MIME 类型。前者当然是更有效的方法,但是有时您需要使用后一种方法,比如您没有对服务器配置的控制权(比如在一个共享或托管环境中)。如果您对服务器拥有控制权且正在使用一个 Java& 应用程序服务器,您可以在 Web 应用程序的 web.xml 文件中配置这个参数。 展示了一个配置示例:
&?xml version=&1.0& encoding=&utf-8&?&
&web-app xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&/xml/ns/javaee&
xmlns:web=&/xml/ns/javaee/web-app_2_5.xsd&
xsi:schemaLocation=&/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd& version=&2.5&&
&!-- Servlets go here --&
&mime-mapping&
&extension&mf&/extension&
&mime-type&text/cache-manifest&/mime-type&
&/mime-mapping&
&welcome-file-list&
&welcome-file&index.html&/welcome-file&
&/welcome-file-list&
&/web-app&
显然,这里的关键部分是 mime-mapping 元素。在本例中,您的设置的含义是:对于以 .mf 扩展名结尾的任意文件,将它们的 MIME 类型设置为 text/cache-manifest。当然,一种甚至更有效的方法是从专用于提供静态内容的服务器(比如一个 Apache Web 服务器)提供这样的文件。在一个典型 Apache 安装中,您只需修改 httpd/conf 目录中的 mime.types 文件,如
# This file controls what Internet media types are sent to the client for
# given file extension(s).
Sending the correct media type to the client
# is important so they know how to handle the content of the file.
# Extra types can either be added here or by using an AddType directive
# in your config files. For more information about Internet media types,
# please read RFC , , and 2077.
The Internet media type
# registry is at &http://www.iana.org/assignments/media-types/&.
# MIME type
Extensions
text/cache-manifest
# many more mappings...
在这两个示例中,您都使用 mf 作为您的清单文件的扩展名,因此该文件是 manifest.mf。这个扩展名可以任意选择,您可以使用 .manifest 或 .foo,只要这个清单文件的扩展名匹配在您的配置文件中的映射中使用的扩展名。注意,其他应用程序和 Web 服务器可能拥有不同的配置机制。现在您已经看到了使用 HTML 5 创建离线移动 Web 应用程序中的关键因素,下面我们来看一个更复杂的示例,探索离线移动 Web 应用程序的更多功能。
在上一个示例中,所有内容都是静态的。能够以离线模式看到所有内容让人感觉不错,但更典型的应用程序需要从它的服务器和 Web 服务读取动态数据。为使您的示例更真实,可以拖入一些来自 Twitter 的数据。如果您阅读了本系列之前的文章,那么您将对此感到熟悉(参见 )。首先,在
中查看这个示例修改后的 HTML。
&body onload=&init()&&
&div class=&toolbar&&
&h1 id=&pageTitle&&Going offline&/h1&
&a id=&backButton& class=&button& href=&#&&&/a&
&ul id=&menu& title=&Sports& selected=&true&&
&li&&a href=&#gym&&
&img height=&80& width=&80& src=&/images/gym.jpg& align=&middle&/&
&span style=&display:inline- vertical-align:middle&&Gymnastics&/span&
&li&&a href=&#soccer&&&img src=&/images/soccer.jpg& align=&middle&/&
&span style=&display:inline- vertical-align:middle&&Soccer&/span&
&li id=&online& style=&display: none&&&img src=&/images/online.jpg&/&&/li&
&ul id=&gym& title=&Gymnastics&&&/ul&
&ul id=&soccer& title=&Soccer&&&/ul&
主要区别是现在列示了 gym 和 soccer 元素,且这两个元素为空。您将分别使用来自 Twitter 的关于体操和足球的 tweets 来填充它们。还要注意一个 id 为 online 的列表项元素,该元素显示一个图像,用于向用户表明应用程序是在线还是离线。但是,这个元素默认隐藏,也就是说,默认模式是离线。 这个 body 元素规定:一旦这个 body 加载,就会调用一个 init() 函数。 展示了这个函数。
function init(){
if (navigator.onLine){
searchTwitter(&gymnastics&, &showGymTweets&);
searchTwitter(&soccer&, &showSoccerTweets&);
$(&online&).style.display = &inline&;
gymTweets = localStorage.getItem(&gymnastics&);
if (gymTweets){
gymTweets = JSON.parse(gymTweets);
showGymTweets();
soccerTweets = localStorage.getItem(&soccer&);
if (soccerTweets){
soccerTweets = JSON.parse(soccerTweets);
showSoccerTweets();
document.body.addEventListener(&online&, function() {
$(&online&).style.display= &inline&;
applicationCache.update();
applicationCache.addEventListener(&updateready&, function() {
applicationCache.swapCache();
}, false);
}, false);
document.body.addEventListener(&offline&, function() {
$(&online&).style.display = &none&;
}, false);
这个代码所做的第一件事就是检查您是在线还是离线。如果在线,则显示在线图像。更重要的是,如果您在线,那么它将通过调用 searchTwitter 函数来从 Twitter 加载数据。同样,这是一种允许您使用 JSONP 直接从浏览器搜索 Twitter 的技术(在本系列前面的文章中解释 & 参见 )。接下来,试图从 localStorage 加载现有 tweets。如果您熟悉 localStorage,就会知道这是另一个能够在离线模式下很好地工作的 HTML 5 功能。参阅本系列第 2 部分进一步了解它(参见 )。注意,为进行新搜索(在检测到您处于在线时启动)并加载本地保存的 tweets,showGymTweets 和 showSoccerTweets 函数将被调用。它们是相似的函数, 展示了 showGymTweets。
function showGymTweets(response){
var gymList = $(&gym&);
gymList.innerHTML = &&;
if (gymTweets){
if (response){
gymTweets = response.results.reverse().concat(gymTweets);
gymTweets = response.results.reverse();
showTweets(gymTweets, gymList);
localStorage.setItem(&gymnastics&, JSON.stringify(gymTweets));
这个函数能够显示本地存储的 tweets,来自 Twitter 的新 tweets,或者二者的结合(如果二者都存在)。最重要的是,它本地存储所有资源,构建您的本地 tweets 数据缓存。这是用于同时管理本地缓存的数据和来自服务器的实时数据的典型代码。它允许应用程序顺畅运行,无论在线还是离线。
返回到 ,需要做的最后一件事是注册事件处理程序。这将告知您浏览器的在线或离线状态何时改变。至少,您可以更改在线图像,并在是否显示图像之间切换。在这个应用程序从离线转为在线的例子中,您访问 applicationCache 对象。这个对象表示按照缓存清单中的声明方式缓存的所有资源。在本例中,您调用它的 update 方法。该方法指示浏览器检查它是否检测到 applicationCache 的一个更新。如前所述,浏览器首先检查缓存清单文件的一个更新。您添加另一个事件监听器来检查可用缓存的一个更新。如果存在更新,则调用 applicationCache 上的 swapCache 方法。该方法将重新加载在缓存清单文件中指定的所有文件。
谈到缓存清单文件,您需要对这个高级示例进行最后的完善。缓存清单文件需要按
所示修改。
CACHE MANIFEST
# Version 0.2
offline.html
/iui/iui.js
/iui/iui.css
/iui/loading.gif
/iui/backButton.png
/iui/blueButton.png
/iui/cancel.png
/iui/grayButton.png
/iui/listArrow.png
/iui/listArrowSel.png
/iui/listGroup.png
/iui/pinstripes.png
/iui/redButton.png
/iui/selection.png
/iui/thumb.png
/iui/toggle.png
/iui/toggleOn.png
/iui/toolbar.png
/iui/whiteButton.png
/images/gym.jpg
/images/soccer.jpg
/images/online.jpg
在这个示例中,您将一个显式 CACHE 区域添加到清单。清单可以拥有多个不同的区域,但是,如果它只有一个区域,那么这个区域就假定为 CACHE 且可以省略。这里之所以要使用显式区域,其原因是您还有一个 NETWORK 区域。这个区域向浏览器表明:来自指定域(这里是 )的任何数据都应该从网络获取且从不缓存。由于您正在本地缓存来自 Twitter 的搜索结果,您肯定不希望浏览器再执行间接的查询缓存。现在,这段代码就位后,应用程序将总是从 Twitter 加载实时 tweets。但是,它将总是缓存那些 tweets 并使它们对用户可用,即使在用户的设备丧失连通性时。
自从 Mosaic 浏览器风靡以来,Web 应用程序已经走过了漫长的发展历程。移动 Web 应用程序发展得甚至更快。只使用 Wireless Markup Language (WML) 的 WAP 手机的日子走到头了。现在您对您的移动浏览器提出要求甚至比它们的桌面浏览器还要多。离线功能就是这样的要求之一。HTML 5 中的标准经历了很长时间,以简化开发人员离线支持他们的移动 Web 应用程序的工作。在本系列下一篇文章中,您将看到另一个 HTML 5 标准 && Web Workers && 如何极大地改善移动 Web 应用程序的性能。
最新开班信息
Android课程
免费咨询热线
400-654-7778
免费咨询热线
400-627-7899
北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2层、南区服务楼2层
咨询电话:400-654-7778
面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
咨询电话:8/9-801
面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
上海学院地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
咨询电话:400-627-
面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员
郑州学院地址:郑州市金水区纬五路21号河南教育学院综合楼(经纬中学楼)6/7/8层
咨询电话:0 400-654-7778
面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
广州学院地址:广州市天河区元岗路310号智汇park创意园E座5层
咨询电话:020--654-7778
面授课程:iOS课程培训、Android课程培训、HTML5课程培训
大连学院地址:大连市甘井子区软件园路2号B8座二楼
咨询电话:6 400-654-7778
面授课程:iOS课程培训、Android课程培训、HTML5课程培训
武汉学院地址:武汉市东新区光谷大道77号金融港B26栋9楼
咨询电话:027---
面授课程:iOS课程培训、Android课程培训、HTML5课程培训
成都旅游学院校区:成都市一环路西二段17号四川旅游学院青羊校区内
成都华立校区:成都一环路西二段17号华立大厦3楼
咨询电话:028--
面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
西安南二环校区:西安市二环南路西段60号永安大厦4层
西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
咨询电话:029---
面授课程:iOS课程培训、Android课程培训、HTML5课程培训
杭州学院地址:浙江省杭州市江干区九堡旺田书画城A座4层
咨询电话:2
面授课程:iOS课程培训、Android课程培训、HTML5课程培训
青岛校区地址:青岛市市南区金坛路17号青岛职业技术学院南校区实训楼A4层
咨询电话:2/3
面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
了解千锋动态关注千锋教育服务号
扫码关注千锋互联身边的移动开发导师
京ICP备号-3 京公网安备55号现在人人都想成为安卓/IOS应用开发工程师。其实,安卓/IOS应用可以用很多种语言来实现。由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了。所以,今天大家将会认识到一些利用前端语言来开发安卓应用的工具。&
在文章的末尾,也介绍了使用、、以及来开发安卓应用的工具。&
希望大家都能找到适合自己的开发工具!祝大家开发安卓应用一切顺利!&
开发语言:&HTML,&CSS,&JavaScript
开发工具:&ools,&
优点:开源、跨平台
PhoneGap是一个开源项目,并且是跨平台的。有了它,JavaScript工程师能够轻松地利用网页技术(HTML/CSS/JavaScript)来开发手机应用(包括安卓和苹果的)。PhoneGap号称是&唯一开源的手机框架,并且支持7个平台&!&它支持的平台有Android,&iOS,&Windows&Phone7,&Web&OS,&Symbian,&和BADA。甚至连&都支持PhoneGap啦!&
Sencha&Touch&
开发语言:&HTML5,&CSS3,&JavaScript
开发工具:&
优点:免费、小巧、支持触屏、数据集成
Sencha&Touch&是免费的JavaScript手机框架,该框架是世界上第一个基于HTML5的Mobile&App框架。它能在安卓、IOS和BlackBerry(黑莓)的平台上运作。
官方公布的优点为:
1、基于最新的WEB标注,比如HTML5/CSS3等。整个库压缩并gzip后只有80KB,禁用一些组件后能使它更小。
2、支持触屏事件。在touchstart、touchend等标准事件基础上,增加了一组自定义事件数据集成,如tap、swipe、pinch、rotate等。
3、数据集成。提供了强大的数据包,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储。
那么Sencha&Touch和PhoneGap有什么区别麽?如何选择他俩呢?
你可以选择Sencha&Touch去创建智能手机的用户界面,用PhoneGap去访问一些诸如GPS、相机、加速器等平台的应用。
jQuery&Mobile
开发语言:&HTML5,&CSS3,&JavaScript,&jQuery
开发工具:&
链接:&&(要FQ)
& & & & & & & & &&&(中文网站)
JQuery&Mobile&是一个网页用户界面的手机开发工具。你能用它来制作基本的布局、导航灯。并且它强依赖于JQuery。所以,熟悉JQuery的同志们学起它来易如反掌啦~&它也是多平台支持的:Android,&iOS,&BlackBerry,&BADA,&Windows&Phone7,&Web&OS,&Symbian,&MeeGo.&
RHOMobile&
开发语言:&HTML,&CSS,&JavaScript,&Ruby
开发工具:&
优点:一次编译,到处运行
RHOMobile&支持全部的智能机!!因为它参照Rails的框架,所以它是最适合Ruby开发者的。RHOMobile基于MVC架构(Model&View&Controller)。它目前支持为iPhone、BlackBerry、Windows、Symbian和Android平台创建应用,并且支持最新的Android&4.0和IOS&5。Rhomobile基本上把网络和桌面程序开发领域的&一次编译,到处运行&的目标带到了移动开发领域。
另外,利用RhoHub工具可以在线开发和编译手机应用。地址:&
Titanium&Mobile&
开发语言:&HTML,&CSS,&JavaScript
开发工具:&
Titanium&Mobile&是另一个由Appcelerator支持的开发平台项目。也是&一次编写,到处运行&的。有超过300多个API。支持HTML5和CSS3。据说开发者用JavaScript开发安卓/IOS应用时,能像用Objective-C&开发iPhone&and&iPad应用或者用Java&开发Android应用一样自如。
其他语言及其工具:
开发语言:&HTML,&JavaScript,&Action&Script&3.0
开发工具:&
AIR是针对网络与桌面应用的结合所开发出来的技术,可以不必经由浏览器而对网络上的云端程式做控制。支持平台:安卓Android,&黑莓BlackBerry,&苹果iOS&,&&个人电脑和电视机。
Adobe&Flex
开发语言:&Action&Script&3.0
开发工具:&
使用Flex开发应用,程序员们不用关心动画方面的开发,完全可以脱离美工,纯粹依靠技术来构建软件系统。开发者也不用学习FLASH,就可以直接进行FLASH&RIA的编程。支持平台:IOS,Android,黑莓,Tablet系统,传统浏览器应用。它使服务器整合了PHP,JAVA,Ruby,.NET和SAP终端。
开发语言:&Lua
开发工具:&,&Lua&editor&of&your&choice
优点:创建复杂游戏利器
&Corona&SDK&是一个给力的创建复杂游戏的工具!看看官网上那些诱人的游戏吧!反正我是爱死它了!运用Corona,只需简单几行代码,就能低成本地创建一些让人耳目一新的游戏!它拥有Libaray,里面提供了游戏的物理引擎代码。支持平台有IOS、安卓、Kindle&fire、nook。并且提供超过500的API接口。不过,每年199刀,也不便宜。
开发语言:&JavaScript,&C#,&Boo
开发工具:&
Unity3d&是一个游戏引擎,使用它能创建一些3D游戏。它是目前针对智能机和游戏驱动,最好游戏开发工具。支持平台:Android,&iOS,&Web&OS,&PS3,&Xbox&360,&Wii&devices.。
开发语言:&Action&Script&3.0
开发工具:&
链接:&&&(官网)
& & & & & & & & &&&&(上的代码)
& & & & & & & & &&&&(用创建的游戏,FQ使用)
优点:免费&
Flixel是一个开源的游戏制作库(其实,译者更喜欢使用libaray这个词,而不是库)。它完全利用Action&Script&3.0&编写。并能免费创建个人或者商业的应用。,是它的游戏引擎,结合Action&Script&3.0,就能创建flash游戏了。从Github上可以下载代码。
Java&Programming
开发语言:&Java,&XML
开发工具:&,&,&
&最官方、正规的安卓编程语言/工具。JAVA是一种开发安卓应用最常用,首选的语言。Android&SDK包含了运行应用的模拟器。Eclipse&IDE和ADT(Android&Develelopment&Tools)可以让用户界面的设计和应用的图形描绘更容易。它同时减少了开发和测试的事件。如果你是JAVA新手,我建议你可以先看看入门级参考书《Head&First&Java,&2nd&Edition》。
百度地图API移动版(for&android)就是利用这个语言/工具进行开发的。
Mono&(此为译者加上)
开发语言:&.NET,&C#
开发工具:&Visual&Studio,&MonoDevelop,&the&Mono&Framework
有效链接:&
优势:&开源、跨平台
Mono是一个开源软件。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了&ADO&NET和ASP&NET。能够使得开发人员在Linux用C#开发程序。支持平台:Windows系统,Linux,&FreeBSD,&Unix,&Mac&OS&X和Solaris。
原文地址:
原作者是一个20岁的印度小男孩儿~
本文参考了其他资料,对原文做了增加和修改。更适合中国国情~
阅读(...) 评论()

我要回帖

 

随机推荐