开通快手直播权限窍门播

现在跨平台开发(手机平台,主要是Android、iOS以及WP)工具或者技术都有哪些?有哪些优缺点和发展前景如何?
标签: , , , , ,
收藏者: lemon3517
用于开发WEB APP的框架:
Jquery mobile
Sencha touch
Titanium, Corona
主要是web view的,例如phonegap。关于调用的API,可以参考
知道的有hp的网络操作系统,但是貌似项目被终止了。。。。跨平台移动框架iMAG开发入门 - Android,iOS,web开发,跨平台,iMAG - mobile - ITeye论坛
跨平台移动框架iMAG开发入门
锁定老帖子
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
等级: 初级会员
来自: 北京
发表时间:&&
相关知识库:
iMAG是一个非常简洁高效的移动跨平台开发框架,开发一次可以同时兼容Android和iOS平台,有点儿Web开发基础就能很快上手。当前移动端跨平台开发的框架有很多,但用iMAG还有一个好处,就是用iMAG开发出的App是原生的。iMAG采用XML + JavaScript(配置 + 脚本)的开发方式,它的原理是将符合iMAG开发规范的XML文件解释成对应的原生应用代码来执行。原生跨平台开发,iMAG App具有和Native App相同的性能和用户体验,因此相比PhoneGap、JQuery Mobile等Web开发框架iMAG适用于对性能要求较高的情况。
虽然是原生又跨平台,iMAG的开发环境却很简单,不需要在本地电脑上安装或部署,在iMAG的官网平台注册一个免费帐号,马上就可以开始开发了。注册完登录,安装网站提示先在手机上安装iMAG开发版的客户端,然后打开iMAG的在线开发工具开始开发。
登录iMAG开发版客户端,在iMAG在线开发工具里编辑XML文件并保存,在手机上刷新页面就能看到效果。
Hello World
下面来看这个hello world的例子。iMAG框架使用的XML格式的文件来描述UI,因此代码必须符合XML格式的规范,一套代码在Android和iOS平台都能运行,而且展现出来的是原生UI效果。
&?xml version="1.0" encoding="utf-8"?&
&title style="background:#6495ED"&
&center&&label&测试App&/label&&/center&
&list type="group"&
&label&Hello World!&/label&
&/content&
其中imag是XML文档的根节点,page包含整个页面的内容,是对页面的抽象和封装。上面的代码中page包括title和content两个部分,分别是页面的标题和内容。title是页面标题导航栏,有center、left、right三个子节点,分别用来在title上居中、居左和居右来摆放文本和按钮。content里有个list控件,用来展示“Hello World!”文本内容,list的type属性是"group",表示是一个分组列表。
iMAG在Android和iOS系统上会将XML解释成各自的本地代码,比如在Android上label会解释成原生的TextView,而在iOS上则会解释成对应的UILabel。因此不同于HTML,在iMAG框架里文本内容只能在放在label标签里,而不能任意放置。
基本页面布局
单个页面通常由title, header, content, footer组成:
&?xml version="1.0" encoding="utf-8"?&
&title style="background:#999999"&
&center&&label&标题&/label&&/center&
&header style="background:#padding:10"&
&label&置顶&/label&
&content style="background:white"&
&label&内容&/label&
&/content&
&footer style="background:#padding:10"&
&label&置底&/label&
header中的内容会始终显示在屏幕上顶部,content是页面的主要内容,footer的内容在屏幕中置底显示。
通常页面内容的布局可以通过列表控件list来实现,如下面的例子:
&?xml version="1.0" encoding="utf-8"?&
&title style="background:gradient(#444444)"&
&center&&label&费用报销单&/label&&/center&
&list type="group"&
&item style="col-width:100,*"&
&row&&label style="color:gray"&单据编号:&/label&&/row&
&row&&label&BXD-0&/label&&/row&
&item style="col-width:100,*"&
&row&&label style="color:gray"&主题:&/label&&/row&
&row&&label&客户招待报销单&/label&&/row&
&item style="col-width:100,*"&
&row&&label style="color:gray"&申请公司&/label&&/row&
&row&&label&&/label&&/row&
&item style="col-width:100,*"&
&row&&label style="color:gray"&职位:&/label&&/row&
&row&&label&财务总监&/label&&/row&
&/content&
其中item是列表项,每个item的都可以有自己的布局,在item中,col表示一列,row表示一行。这里list有点儿类似于HTML里的table,不同的是table是先有行(tr)再有列(td),而list是先有列(col)再有行(row)。col-width样式用来设置多列的跨度,多个用逗号“,”分割,星号“*”表示宽度自适应。
用list控件可以实现更复杂和细致的布局效果,下面是用iMAG框架开发的微博App页面:
UI控件分类
UI控件分类iMAG框架的UI控件可以分为三类:内容控件、表单控件、布局控件。内容控件:用来展示文字、图片等内容信息。表单控件:用来接收用户输入的表单信息。 布局控件:用来控制页面内容的布局和摆放。
iMAG框架的UI控件列表:
用来显示文本内容
用来显示网页内容
用来显示按钮
用来显示资源图片或手机本地图片
用来显示网络图片
用来显示一组图片
进度条控件
用来显示进度条
用来显示日历,可以用于开发日程管理功能
用来显示地图,可以在地图上标注地理位置信息。
用来表示表单,表单项都包含在form标签内
隐藏域控件
用来表示表单隐藏域
文本输入框控件
用来输入单行文本内容
密码输入框控件
用来输入密码
数字输入框控件
用来输入数字
邮件地址输入框控件
用来输入邮件地址
日期输入框控件
用来输入日期
时间输入框控件
用来输入时间
搜索框控件
用来输入搜索内容
文件选择框控件
用来选择文件
表单提交按钮
用来点击提交表单
文本域控件
用来输入多行文本
单选框控件
用来选取单个值
单选按钮控件
用来选取单个值
单选按钮组控件
用来选取单个值
多选按钮控件
用来选取多个值
表单验证控件
用来验证表单数据
包含当前页面的所有内容
用来显示页面标题栏
内容在屏幕上置顶
内容在屏幕上置底
包含页面的内容部分
内容组控件
多个content的组
标签栏控件
标签栏主要用于content内容的切换
标签页控件
以标签页的形式来显示内容
用来显示一行控件内容
以列表的形式来显示内容
以网格的形式来显示内容
多屏幕控件
以多个屏幕的形式来显示内容
系统菜单控件
用来显示系统菜单
弹出菜单控件
用来显示弹出菜单
导航菜单控件
用来显示导航菜单
弹跳菜单控件
用来显示弹跳菜单
侧滑菜单控件
用来显示侧滑菜单
在iMAG中通过对这些控件进行简单的组合和设置,就可以开发出各种效果的UI页面。
iMAG框架支持通过标准的Javascript语言来操作UI控件对象,完成动态交互功能,比如:
&?xml version="1.0" encoding="utf-8"?&
$page.onload = function() {
alert('hello world!');
上面的代码会在页面初始化时触发onload事件,调用JavaScript方法弹出一个alert对话框。
这里有必要解释一下Javascript的概念,完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。对于iMAG而言实际上只用到了ECMAScript,因为iMAG并不支持DOM和BOM。这是因为移动UI往往页面简洁元素较少,没有必要引入复杂的DOM操作,而且DOM API本身设计糟糕,对开发人员不够友好。而BOM里的Window, Navigator, History这些对象对于移动应用也不再适用,iMAG有自己的MOM(Mobile Object Model)。
iMAG中定义的MOM对象:
● $page:封装了页面UI相关的属性和方法。 ● $http:封装了http操作相关的方法。 ● $phone:封装了手机本地功能调用相关的方法。 ● $util:封装了一些实用工具方法。
通过这些内置的JavaScript对象和方法,iMAG框架可以轻松调用手机本地功能,比如GPS定位。
$phone.locate({
provider: 'gps',
success: function(location) {
alert('GPS定位成功,经纬度:' + location.latitude + ', ' + location.longitude);
error: function() {
alert('GPS定位失败!');
上面的$phone.locate()方法会启动手机GPS定位功能,定位成功之后回调success方法,显示出经纬度信息。
iMAG框架支持动态创建UI控件,要用到$C()方法,参数是XML格式的文档,如:
var button = $C('&button id="test_button"&按钮&/button&');
$('content').add(button);
上面的方法通过XML动态创建了一个button控件,并在页面的content里显示。
iMAG框架还可以使用Ajax请求来获取数据,如:
$http.get('/download/data/http_json_ret.jsp', function(json) {
var obj = JSON.parse(json);
$('test_label').text = obj.
$http.get()方法会发起一个异步调用的Ajax请求,服务器返回的JSON数据格式如下:
{text:'&font color="blue"&JSON数据&/font&'}
从服务器端动态获取的JSON数据用JSON.parse()方法解析,然后进行处理和显示。因为iMAG底层是原生代码非浏览器环境,因此在iMAG框架里调用Ajax请求没有跨域问题。
虽然使用HTML5不是iMAG开发所必须的,但iMAG通过web控件的方式对HTML5进行了很好的支持和兼容,并且提供了脚本机制使得web可以同原生控件进行内外交互相互调用,这在开发网站类应用的时候会比较有用。
使用Web控件显示HTML网页的例子:
&?xml version="1.0" encoding="utf-8"?&
&page style="background:white"&
&label&网页控件&/label&
&style type="text/css"&
table.altrowstable {
font-family: verdana,arial,sans-
font-size:11
color:#333333;
border-width: 1
border-color: #a9c6c9;
border-collapse:
table.altrowstable th {
border-width: 1
padding: 8
border-style:
border-color: #a9c6c9;
table.altrowstable td {
border-width: 1
padding: 8
border-style:
border-color: #a9c6c9;
.oddrowcolor {
background-color:#d4e3e5;
.evenrowcolor {
background-color:#c3dde0;
&table class="altrowstable" id="alternatecolor"&
&tr class="evenrowcolor"&
&th&Info Header 1&/th&&th&Info Header 2&/th&&th&Info Header 3&/th&
&tr class="oddrowcolor"&
&td&Text 1A&/td&&td&Text 1B&/td&&td&Text 1C&/td&
&tr class="evenrowcolor"&
&td&Text 2A&/td&&td&Text 2B&/td&&td&Text 2C&/td&
&tr class="oddrowcolor"&
&td&Text 3A&/td&&td&Text 3B&/td&&td&Text 3C&/td&
&tr class="evenrowcolor"&
&td&Text 4A&/td&&td&Text 4B&/td&&td&Text 4C&/td&
&tr class="oddrowcolor"&
&td&Text 5A&/td&&td&Text 5B&/td&&td&Text 5C&/td&
&/content&
这里显示的table表格是标准的HTML,因为内嵌的是HTML标签,所以这里必须使用CDATA来进行标记。
适配不同屏幕
iMAG已经屏蔽了不同平台不同分辨率手机之间的差异,按照iMAG规范开发出的移动应用自动适配不同手机。对于不同平台不同分辨率的屏幕,也需要使用多套不同大小的图片去适配,这些图片只需要按照规则放到相应的服务器目录下即可,手机客户端会自动下载与之相适配的图片。
服务器端图片资源目录结构如下:
Android图片资源目录是以屏幕密度(density)来区分,而iOS是以屏幕分辨率来区分。anroid和ios目录下分别有一个default目录,当具体屏幕分辨率或屏幕密度的图片找不到时会读取这个default目录中的相应的图片。
比如:&pagestyle="background:bg.png"&对于Android屏幕分辨率为800x480的手机bg.png图片的目录查找顺序是:/res/android/hdpi/res/android/default/res/default
对于iPhone5手机目录查找顺序是:/res/ios/640x1136/res/ios/default/res/default
可以看到这个查找顺序是由内向外的。Android各个屏幕密度的取值如下:
140&=dip&190
190&=dip&280
280&=dip&400
480x800480x854
可以根据比例来设计各种屏幕图片的大小:比如一个图片在hdpi上大小为48×48,那么在xhdpi上为64x64,在xxhdpi上为96x96(6:8:12)。
App开发完成之后就是打包和发布,打包之前要先上传自己的应用图标和App启动加载图片,因为要适配不同分辨率的手机,图片要上传多套。iOS打包时还要上传证书,这样打包出来的App才能够上传到AppStore。
font-family: S font-size: line-height: normal
xiaokang1582830
等级: 初级会员
来自: 成都
发表时间:&&
看上去还不错,不知道性能到底如何?
请登录后投票
等级: 初级会员
来自: 北京
发表时间:&&
xiaokang1582830 写道看上去还不错,不知道性能到底如何?
iMAG性能非常出色
请登录后投票
等级: 初级会员
发表时间:&&
有成功案例吗?
请登录后投票
等级: 初级会员
来自: 北京
发表时间:&&
交互动画可以设计吗?图片画廊什么的有吗?
请登录后投票
等级: 初级会员
来自: 北京
发表时间:&&
非法用户 写道有成功案例吗?
已经有很多成功案例了,网站上有产品资料下载
请登录后投票
等级: 初级会员
来自: 北京
发表时间:&&
deific 写道交互动画可以设计吗?图片画廊什么的有吗?
有动画操作的api,画廊有$page.gallery()方法
请登录后投票
跳转论坛:移动开发技术
Web前端技术
Java企业应用
编程语言技术标签:至少1个,最多5个
移动开发这些年,移动开发者人数越来越多,类似的培训公司发展也很快,不过伴随着的是移动应用的需求这几年发展更为旺盛。要开发好的App,纯原生开发肯定是最佳选择。但是这么多年发展,原生开发的难度并没有降低多少,特别是作为一个需要长期运营的App,需要原生人员的长期跟进,人员成本很高。另外,从苹果和Android的崛起开始,为了支持截然不同的二个操作系统,相当于二套开发人员开发二个功能完全的App,可想开发效率的低下。
一直以来,程序员对移动跨平台的追求就没有停止努力,跨平台是为了提高开发效率,随着带来的必然是性能的降低。但从软件发展的历史看,部分损失某一方面的性能来换取效率的提高还是非常值得的。就好像我们用c语言替代汇编,损失了掉的那些运行效率基本是可以忽略不计的,我们换来的是开发效率大幅提高,相对于汇编语言而言C语言同时也部分解决了跨平台跨设备的问题(至少不用再考虑对特定寄存器的编程了)。同样当历史发展到大量用Java替代C语言开发的时候,我们损失掉了c语言的Native设备的开发能力的同时,所换来的多线程开发、分布式开发、跨平台开发能力的增强,也完全符合www时代发展的需要的。
天然的,移动开发的程序员首先想到的H5和Webview,这是最容易实现的跨平台方案。在H5的路上移动开发者们做了很多努力。纯原生开发我们暂时不提,光从跨平台来说,发展的历程可以大概分3个阶段:
纯H5方式由于web应用已经在PC应用上占了半壁江山,最早的时候大家想着直接使用手机的系统浏览器加载一个网址,这最容易实现,显然问题很多,性能就不提了,其它方面,比如不同的浏览器适配很难,浏览器的安全性限制了大部分手机上的设备无法使用,存储本地都受限制。但是这种方式并没有消亡,它有一定的适应范围。特别是随着微信的崛起,这种方式已经应用很广了,微信承载了一个统一跨平台的浏览器功能,而且能调用不少原生功能。很多想长期运营的App都会有微信的入口,而且通常是先做微信推广,再做App。
以上的方式还有一个明显的缺陷就是应用的差异性,桌面上没有App的图标,大家都从浏览器或微信入口,对于一个长期运营的想有一定知名度的应用来说肯定无法接受。接下来移动开发者的想法就是用一个有自己图标和入口的原生的App的壳加载一个原生的Webview组件,然后加载网页,同时通过js和原生的桥接技术来实现html和原生功能的调用。这种技术的代表是phonegap技术,它影响了国内很多移动开发者和公司,有不少框架和技术都是基于或学习它。在它被改名之前,我们也完整下载和研究过它的代码。这个时期的应用特点是:*
整个核心就一个webview,里面页面的切换都是本地网页或web网页的跳转*
没有任何原生ui的参与,所有ui都是靠webview的标签。有一些简单原生ui可以以窗口的方式调用起来。*
整个应用的逻辑都是靠html里的js来驱动。*
能调用原生的一些基础功能,比如摄像头,存储,数据库等等。
这种方式起初还是有一定市场的,主要是开发效率非常高,很多已有的PC端的网站改吧改吧就出来一个跨Andoid和iOS的应用。但是这样的应用只能说勉强能用,稍微复杂一点就连用都不能用了。性能和体验问题是最主要的,更何况早期Android 2.x时代,iOS4.x,5.x时代手机的性能也不高。
2.H5和Native的混合 (Hybrid)手机的性能越来越好,H5也越来越流畅,但是随之而来的是好的原生App越来越多,H5在很多方面还是无法替代原生。于是越来越多的原生功能和H5混合在一起,形成了Hybrid开发的模式。这里我要说跨平台的发展分了二种思路或二个方向:*
原生为主,更多的加入H5的元素,我们暂且称之为Native/H5*
H5为主,更多的加入Native的元素, 我们暂且称之为H5/Native
首先我们看Native/H5,这种应用很多,而且是现有市场上的主流,特别是大型的优秀的以内容为主的App,代表是微信,天猫,京东这些App。里面都大量使用Webview加载大量网页。因为原生的更新很麻烦,而那些需要大量内容更新的App必然会选择Webview作为内容承载。很显然,这种方式并没有降低多少成本,原生人员还是需要二套,内容页面还需要一套熟悉web技术等人员。
我们再看H5/Native,国内的代表应该是Appcan,APICloud,wex5等移动开发平台。这些框架的最早期就是我上面提到的纯H5方式,慢慢加上更多的原生因素,比如一个webview改成多个webview,页面上加入不少原生的ui元素,比如页面的titlebar使用原生的ui,还有很多,他们一直在努力解决体验和性能的问题。也有很多App产出了。国外也有很多框架,不少是通过html实现一套和原生样子很像的ui组件。但是相比Native/H5, 我觉得H5/Native的发展思路不对。我们来看看它们的区别,我们先来看二个App的截图:
我使用了Android的开发者模式,可以看到原生UI组件的边框。我们可以看到他们的差别* 天猫App的主要/主体页面是纯原生的页面,页面上所有大大小小的元素都是原生的UI组件。而下面的截图主体部分都是Webview组件,但是加入一些原生UI。Native/H5的App所有核心的主要的界面都是纯原生,就像一棵树一样,通常只有到末端的内容页面是网页。页面的跳转都是原生效果。H5/Native主要的框架界面也是Webview加载Html,很显然,体验上和性能上来说H5/Native要差很多。
Native/H5的主要逻辑都是靠原生来驱动。H5只是负责简单的页面展示和很少的逻辑处理。H5/Native所有的逻辑处理都是靠Webview里的html里的js来处理。这一块,性能相比又差了很多。另外复杂度上高了很多,webview只是原生众多组件中的一个,由它来支撑和控制整个App基本上很难,很多开发中的坑无法解决。
从成本上来说,Native/H5只是稍微降低了一点成本,因为还是需要多套人马。H5/Native的成本就降低了很多了,因为只需要一套web开发人员。
JS/Lua和Native的混合从上面我们可以看到Native/H5 和H5/Native 中间我们还需要再努力努力再寻求一个中间状态,就是尽可能的不牺牲性能的基础上再降低效率和成本。这几年证明通过webview和H5的方式已经无法再优化了。
从Facebook的React Native开始,一种新的趋势已经逐渐冒出来,他们的思路是从Native/H5为源头,但是抛弃webview,保留js。Facebook自己相当于重新设计了一套类似H5的规范,并设计类似一个webview的组件来解析这套规范,包括ui和js代码。但是这里的标签对应的都是可扩展的纯原生的组件。包括国内的阿里推出的weex和LuaViewSDK,思想上和React Native类似的。
他们的思路就是从原生开发人员的角度出发,尽量扩大跨平台的范围,但是又不带来体验的下降。这种趋势应该是正确的发展方向。
不过这几个技术现在都是一个SDK,也就是并不能实现真正的跨平台,做不到一套开发人员,一套代码就能发布多个平台。就像React Native的口号是Learn Once,Write Anyway。
我要重点介绍一下国内一个移动开发平台Deviceone。Deviceone的发展走过我上面提过的所有阶段,它经历是差不多4年,在内部已经有5个大版本的迭代了。总体来说,也是长期追求效率和性能的最优化的一个结果。
Deviceone的特点是:?
deviceone有一个核心框架,可以理解为类似React Native一样的SDK,可以解析自定义的ui标签和js/lua 代码的功能。差别就是,deviceone定义的ui并不是类似h5,而是把ui代码和js/lua代码完全分开成不同的文件。Ui文件通过IDE的拖拽功能来实现,然后通过属性设置的方式,当然也支持js/lua代码访问。我们直观的看看IDE里可视化ui的图。
deviceone并不只是一个能实现跨平台的原生SDK,在这个框架的基础上,deviceone对android,ios,windows的移动基础框架做了抽象,包括移动系统基础元素Activity,UIViewCotroller之类的,也标准化了事件机制,存储管理,绑定机制,同步异步等等基础结构。目标就是App开发者无需了解Android,iOS技术的细节,用一套代码实现真正的跨平台,write once,run anyway。
deviceone并没有脱离原生开发,只不过把原生开发和App开发者分离了,原生开发者只负责开发和业务无关的组件,比如Button,VideoView之类的。而App开发者不需要理解操作系统的差异,只需要参考组件的一套JS/Lua的API,然后专心整理自己App的业务需求,就能搭建出跨平台的App。
deviceone最大的价值就是提供了一套组件重用的规范和标准,而且是跨平台的组件。我们平常用原生开发很多都是最基础的代码重用,组件重用也仅限于单个平台。而deviceone的组件商店已经积累了快100个跨平台的原生组件了,是由deviceone官方和一些个人原生开发者开发的,有很多都开源了,大家可以参考。目前正在以收费组件的方式吸引更多原生开发者参与。
deviceone在现有的很多第三方组件基础上由实现了跨平台的封装。大量的第三方平台提供了优质的服务,通常原生开发人员只需要集成android和ios都sdk就可以使用,大大简化了开发人员的。我们在这个基础上又简化了一步,一套js的sdk就可以使用。我们已经集成了很多常用的比如百度地图,极光推送,几个常用的支付,分享等等。
deviceone提供了强大的可配置组件云打包系统,开发者可以在100个组件里勾选自己需要的组件,然后打包成调试App和发布App。另外提供了很多配置项,尽量简化开发者的工作。
deviceone对外正式发布半年多,已经积累了很多企业应用,最近几个月逐渐开始积累不少个人应用,感兴趣的可以去苹果的商店和android的市场上搜索一下“慧影时间流”,“纳豆-点餐”,“爱抢劵”,“易经造命”体验一下。这一个月应该又有不少上线应用,请多关注。
介绍了不少,感兴趣可以去多关注国内这个优秀的产品,我相信不少移动开发者被国内各种框架的“折磨”失去了对国内移动开发平台的信心,但是这个平台值得你花一点时间去研究和体验。
0 收藏&&|&&8
你可能感兴趣的文章
27 收藏,2.3k
6 收藏,958
33 收藏,28.2k
这个广告打得有技术
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
我要该,理由是:
扫扫下载 App当前位置: >
>XaMarin:跨平台开源软件开发平台
网站详情来源:
收录时间:
名称: XaMarin:跨平台开源软件开发平台
英文网址:
XaMarin:跨平台开源软件开发平台是一款跨Windows Phone、Android、iOS三大平台的开源软件开发平台。开发人员只需要利用已经学过的编程语言,比如C#、C/C++、Java等语言,就可以 利用Xamarin同时在三大操作系统平台上开发,省去大量学习其他编程语言的时间。
Xamarin团队创立于2000年,曾用名Ximian,在2003年被Novell收购。2011年,Novell被 收购,不少开发Mono的员工被解雇。于是员工带着产品离开,创立了Xamarin。
作为一个跨平台开发框架,Xamarin.Mobile有很多优点。在这一框架内,开发 Android 和 iOS 应用可以不用转到 Eclipse 或者额外购买 Mac 并使用 Xcode,而继续在Visual Studio之中使用 C# 与 .NET Framework 进行。
分享给小伙伴们:
赫赫无敌:探索互联网世界,收集和分享实用互联网资源,推荐国内和国外知名、实用、创新、科技、优质的站点资源!互联无极限,探索无止境;分享求真知,网络无国界!
本文地址:/topics/4488.html 转载请注明
同类站点推荐那些iOS和Android跨平台解决方案
我的图书馆
那些iOS和Android跨平台解决方案
峰高方显谷深,一山自有一景。
发布于: 13:26阅读数:302
不少开发者有意进行跨平台应用开发,但“工欲善其事必先其器”,本文整理了一些iOS和Android跨平台解决方案,欢迎补充。
不少开发者有意进行跨平台应用开发,但“工欲善其事必先其器”,本文整理了一些iOS和Android跨平台解决方案,欢迎补充。
Corona SDK的优点:
稳定;支持硬件加速、GPS、指南针及照相机等;支持与Map、Facebook、OpenFient、GameCenter的集成;内建的物理集成;Lua语言比较容易学习;
已经有了一些很不错的应用,至少能够证明这个SDK是可以做出优秀应用来的;不错的社区支持。
Corona SDK不太好的地方:只支持iOS和Android;Lua语言不是面向对象的;每年都要交授权费(99美元/年)。
另外还有其他的一些补充,比如:
对于Corona SDK不支持的第三方SDK没法自己去集成;编译项目的时候需要把代码上传到Corona的服务器上去编译,不能在本地直接编译;无法扩展Corona的功能;物理模块还有一些缺陷。
(后来更名为Marmalade,不少大的公司在使用Airplay SDK,尤其适用于进行2D/3D游戏的开发)
目前使用Marmalade的游戏有《割绳子》、《植物大战僵尸》、《你猜我画》、Build 'n' Bash 3D、Catch the Monkey、Need for Speed Shift以及WorkSnug Pro等多款游戏。
Airplay SDK文档中还包含多个示例。“感觉受到限制”的开发者还可以在Airplay SDK上进行扩展。开发者需要对C++比较熟悉。
Appcelerator允许使用HTML/Javascript来开发原生app,开发者可以免费使用。目前世界上185个国家中有超多46万的开发者在使用Appcelerator提供的解决方案。
Titanium为Appcelerator于2008年底所推出的跨平台应用程序开发解决方案,目前支持iOS/Android/Blackberry/WM7等行动平台,以及Windows/Linux/OS X这三种主流的桌上型平台。
PhoneGap是一能够让你用普通NewsShow的web技术编写出能够轻松调用API接口和进入应用商店的HTML5应用开发平台。是唯一的一个支持7个平台的开源移动框架。PhoneGap的优势主要体现在开发成本低,兼容性好,完全做到了“Written Once,Run Everywhere!”。
它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能。此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。
PhoneGap在多个主要的智能手机设备上提供了以下功能的支持:
加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知(警告、声音和振动)以及存储等。如果正在为iPhone或Android设备做开发,那么这些功能都是支持的。
PhoneGap和Appcelerator的社区支持做的非常不错。 PhoneGap中文论坛:
Rhomobile(基于Ruby的手机软件开发框架)
Rhomobile是一款基于Ruby的手机软件开发框架,用于编写并发布跨越多个移动平台的应用程序,程序只需编写一次就能在各种平台上运行。Rhomobile要求用户只要掌握HTML和Ruby就可以开发iPhone软件。它目前支持为iPhone、BlackBerry、Windows、Symbian和Android平台创建应用。开发者使用HTML/JavaScript/VSS/Ruby等技术开发应用。Rhomobile表示自己遵循苹果的开发者授权。
Sencha Touch是一个基于HTML5的移动应用开发框架,其前身是Ext。使用Sencha Touch,开发者可以构建在iPhone、Android和BlackBerry touch等设备上运行的移动web应用,其效果看起来如同本地应用。目前Sencha Touch已经成为构建移动HTML5应用的领先框架。&
技术需求:HTML,CSS,Javascript,一般web开发知识
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile文档比较全面,同时有在线工具帮你快速创建自己中意的UI风格。
技术需求:HTML,CSS,jQuery
平台支持: 绝大多数移动浏览器
用jQuery Mobile作为基础,tiggzi是一个拖放开发工具用来开发移动应用。你可以添加标准的按钮,菜单,视频,地图等等到你的移动应用中,并且能够绑定事件。
技术需求:HTML,CSS,javascript,XML
平台支持:iOS,Android,移动web
Appmakr是一个在线工具帮助你创建移动应用,同时能够帮助你将应用添加到app store中。你可以倒入RSS feed来生成一个移动优化的应用。不需要任何的编程,当然你可以添加自定义的HTML。
技术需求:懂HTML,CSS将会更有帮助
平台支持:iOS,Android,windows phone
iBuildApp是一个创建移动应用的工具。拥有非常不错的模板供大家选择,而且你可以在iBuildApp Gallery里得到应用的特性。提供了很多选项添加到你的移动应用中,包括e-commerce和嵌入web页面到你的应用。提供了Soap web服务允许你创建,获取,升级或者删除内容。
技术需求:懂HTML,CSS将会更有帮助
平台支持:iOS,Android
Widgetbox提供了超简单的方式来创建和运营简单,基于内容的移动应用。你可以通过博客或者其它社交媒体的RSS来创建页面。当然你也可以使用HTML和CSS。
技术需求:懂HTML,CSS将会更有帮助
平台支持:大多数的移动浏览器
foneframe是一个移动HTML5/CSS3的框架帮助你开发针对移动设备优化的web应用。你可以使用phonegap或者appmobi XDK来作为后端。同时也是一个不错的构建mobile网站的工具。
技术需求:HTML5,javascript,CSS
平台支持:大多数的移动浏览器
Phonegap的开发人员创建了一个机遇web的平台帮助你创建你自己的build。叫做PhoneGap build。这个服务目前支持iOS,Android,blackberry,webOS和Symbian。使用这个服务你可以上传你自己的HTML5,CSS3和Javascript,PhoneGap build会帮助你生成你需要的文件,你可以直接发送到App store中。
appMobi XDK是一个基于云的移动应用开发环境。作为Google chrome的插件存在。同时帮助你运行你的mobile应用,也能帮助你部署应用到app store中。虽然服务是免费的,他们提供了一些附加服务例如,消息推送和电子商务帮助你增强你的移动应用。
AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用目前“不流畅”和“体验差”的问题。使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动应用基本接近Native App的体验。
上一篇下一篇
&&暂无评论
发表评论用 户 名:ilvu999评论内容:&&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:67379次积分:1352 等级:
排名:第13393名原创:42篇转载:186篇译文:1篇评论:6条
(1)(2)(8)(1)(6)展开
@goalwp: 用旧版build, OK
用旧版build, OK
楼主,你好!我在同一个地址下下载的源码没有build_red5webbap.xml文件,只有buil...
。。。。是网络问题~~~卡的没出来~~
Building a Jabber Client for iOS 我想问下这个教程怎么看,我进去了,...
您好~我使用你寫的程式,選好照片後沒辦法按確定,只有取消說,可否幫幫忙呢??感恩~
|||||||||400-600-2320|北京创新乐知信息技术有限公司 版权所有|江苏乐知网络技术有限公司 提供商务支持京&ICP&证&070598&号|Copyright ? , CSDN.NET, All Rights Reserved&
馆藏&22633
TA的最新馆藏[转]&

我要回帖

更多关于 快手开通直播权限12元 的文章

 

随机推荐