这是个比较专业的问题
成都创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为金湖企业提供专业的成都做网站、成都网站设计、成都外贸网站建设,金湖网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
首先我推荐一个:react native,facebook推出的一个跨平台解决方案,去年推出了iOS版,手机淘宝的有一个模块“猜你喜欢”就是用react native实现的,效果还不错,另外今年9月份,facebook推出了android版,大家不妨试一下,这里针对于webapp,做了一个比对:
相对于Webapp的优势:
不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题;
有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用;
可以直接使用Native原生的「牛逼」动画(在FB Group这个app里面,面板滑出带一点果冻弹动,面板基于某个点展开这种动画随处可见,这种动画用Native code来做小菜一碟,但是用Web来做就难上加难)。
相对于Native app的优势:
可以通过服务端远程更新JS,进而直接更新app的页面;
相对于Webapp和Native的劣势:
扩展性仍然远远不如web,也远远不如直接写Native code;
从Native到Web,要做很多概念转换,势必造成双方都要妥协。最终web要用一套CSS的阉割版,Native要费劲地把这个阉割版转换成native原生的表达方式(比如iOS的Constraint\origin\Center等属性)。
另外我以前在CocoaChina上收藏过的一个帖子,整理了许多iOS和Android跨平台解决方案,感觉很不错,现在拿出来分享给大家,希望对题主有帮助。
1、jQuery Mobile
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile文档比较全面,同时有在线工具帮你快速创建自己中意的UI风格。
技术需求:HTML,CSS,jQuery
平台支持: 绝大多数移动浏览器
2、Corona SDK(使用Lua语言):
Corona SDK的优点:
稳定;支持硬件加速、GPS、指南针及照相机等;支持与Map、Facebook、OpenFient、GameCenter的集成;内建的物理集成;Lua语言比较容易学习;
已经有了一些很不错的应用,至少能够证明这个SDK是可以做出优秀应用来的;不错的社区支持。
Corona SDK不太好的地方:
只支持iOS和Android;Lua语言不是面向对象的;每年都要交授权费(99美元/年)。
另外还有其他的一些补充,比如:
对于Corona SDK不支持的第三方SDK没法自己去集成;编译项目的时候需要把代码上传到Corona的服务器上去编译,不能在本地直接编译;无法扩展Corona的功能;物理模块还有一些缺陷。
3、Airplay SDK(后来更名为Marmalade,不少大的公司在使用Airplay SDK,尤其适用于进行2D/3D游戏的开发)
目前使用Marmalade的游戏有《割绳子》、《植物大战僵尸》、《你猜我画》、Build 'n' Bash 3D、Catch the Monkey、Need for Speed Shift以及WorkSnug Pro等多款游戏。
Airplay SDK文档中还包含多个示例。“感觉受到限制”的开发者还可以在Airplay SDK上进行扩展。开发者需要对C++比较熟悉。
4、Appcelerator(Titanium)
Appcelerator允许使用HTML/Javascript来开发原生app,开发者可以免费使用。目前世界上185个国家中有超多46万的开发者在使用Appcelerator提供的解决方案。
Titanium为Appcelerator于2008年底所推出的跨平台应用程序开发解决方案,目前支持iOS/Android/Blackberry/WM7等行动平台,以及Windows/Linux/OS X这三种主流的桌上型平台。
我是学ios的,安卓的我就不了解了,但是ios分为个人开发者证书和企业开发者证书。个人开发者证书你可以想象成就是一个可以让你开发的app通过添加手机的udid让这个被添加的udid的手机可以使用,就像是一个通行身份证一样。而企业开发者证书当然也具备了个人开发者的功能,但是企业开发者证书除了添加udid让真机可以调试app之外,还可以不需要通过udid让所有的手机都能下载安装你的app以供调试测试。不过两者价钱也是差了几百刀的样子。(以上纯属个人理解,有误的地方希望各位网友斧正。)
安卓得应用 使用java编写得
ios得应用使用objectiveC编写得
两者不能互相转
开发一款APP,如果只开发安卓版本,不开发IOS版本,那么整体的成本和两个版本同时开发节约多少成本?
开发APP必须考虑ios和Android是否都要做,另外选择一个靠谱的开发团队,这是最重要的。一个好的开发团队至少需要一个项目经理、一个UI设计师、一个安卓开发工程师和一个ios开发工程师,如果你还需要后台数据交互,那么还要增加一个后台开发工程师,测试工程师。
以平均工资来计算,这些人的薪资加起来已超过4万元,简单的程序设计开发和测试大约需要六到八周,复杂的需要八到十二周。这样算下来,简单的APP开发成本是6万到10万,复杂的APP开发成本是10万到15万,而且还要包括ios和安卓两个平台。这些也只是粗略的计算。如果是外包给其他公司定制开发,价格肯定会在成本的基础上加一点的。
现在有很多小的工作室,一般有两三个人,产品经理、UI设计、iOS和Android开发都要这两三个人做,这样是费用是会节省不少,但是有一个问题就是这样开发出来的APP质量不高,后续问题也会很多。
现在还有很多现成的APP开发平台,你连编程都不需要。比如商领云的saas+paas系统可以直接通过后台进行在线制作APP,非常快捷,而且功能齐全。一般价格是一到三万左右。
可能有人会觉得找外包开发公司定制开发贵,想自己组建开发团队,其实这也是可以的。
组建APP开发团队的费用
一般来说,制作开发一个正式的APP,需要一个UI设计师、产品经理、前端工程师、后端工程师,这是比较简洁的配置,如果是大公司还要再配置测试工程师、交互设计师等等。大多数情况下3到6人出一个产品是正常情况,但是要知道现在符合这个比例的公司并不多。运营成本可想而知。
最快的方法是用PhoneGap技术,利用HTML5页面构造app应用程序,前端框架有很多,比较经典的、教程最多的是jQuery Mobile。
这种方法可以快速构造android和ios应用程序,调试也很方便(用浏览器就可以调试)。但是有以下两个问题:
1,性能比较差,所以可能用户体验不如原生开发的好。
2,很难与微信、QQ等SDK集成。
你好,原生(native)开发一般是指用原生开发语言开发,原生开发语言就是开发整个系统时使用的编程语言.对于iOS来说就是Objective C,对于Android来说...不太好说,因为Android用的Linux内核是用C开发的,中间层的库是用C/C++开发的,但应用程序框架和应用程序都是用"Java"开发的,这个系统就是用一堆开源的工程拼起来的,真不太好说哪种语言算是它的原生开发语言原生App实际上是一种基于智能手机本地操作系统如Android、IOS和Windows Phone并且使用原生程序编写运行的第三方移动应用程序。开发原生App软件需要针对不同智能手机的操作系统来选择不同的App开发语言,如安卓App是Java开发语言、IOS APP是Objective-C语言、Windows Phone的APP开发是C##语言。
如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。原生APP因为位于平台层上方,所以向下访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像拨号功能的调取。
原生App
原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
原生App
1、每一种移动操作系统都需要独立的开发项目。
2、每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等。
3、需要使用各自的软件开发包,开发工具以及各自的控件。
原生App仅供参考