移动端之Android开发的几种方式的初步体验

jiankang77 8年前
   <p>目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得:</p>    <table>     <tbody>      <tr>       <td>开发方式</td>       <td>开发环境</td>       <td>是否需要AndroidSDK</td>       <td>支持跨平台</td>       <td>开发语言&技能</td>      </tr>      <tr>       <td>MUI</td>       <td>Win+HBuilder</td>       <td>否</td>       <td>是</td>       <td>Html5+Css3 Javascript</td>      </tr>      <tr>       <td>DeviceOne</td>       <td>Win+DeviceOne</td>       <td>否</td>       <td>是</td>       <td>JavaScript</td>      </tr>      <tr>       <td>ReactNative</td>       <td>Win+AndroidSDK+Node</td>       <td>需要</td>       <td>是</td>       <td>React</td>      </tr>      <tr>       <td>Xamarin</td>       <td>Win+AndroidSDK+VisualStudio</td>       <td>需要</td>       <td>是</td>       <td>C# Xaml</td>      </tr>      <tr>       <td>Qt</td>       <td>Win+Qt</td>       <td>需要</td>       <td>是</td>       <td>C++ Qt</td>      </tr>     </tbody>    </table>    <p>1、MUI我想这个应该是很多会Html的人的首选,上手速度极快,但是也是我个人最不推荐的一个,打包出来的APP就是webView,通过Bridge调用原生接口,App启动慢,吃内存,特别是配合Chrome调试,FQ是必须的,而且特吃内存,一个页面修改,调试,修改,几次内存就吃到好几百MB了,地图SDK封装太死,接口太少,简单的打个mark什么的还行,做map更多共更能的app不推荐</p>    <p>2、DeviceOne 这个我只是刚开始用的时候体验了一把,后来就没玩了,需要下载他们基于Eclipse开发的IDE,DeviceOne,通过服务器端打包,调试需在app设置调试服务器IP跟Port,纯Javascript(原生写法)开发,知名度不如MUI,除了官方文档甚少,不过官方用户群里面响应跟支持很及时,也算是前期在培养用户群体吧。</p>    <p>3、ReactNative 简称RN,最刚开始推出的是MAC平台开发IOS的,后来才在Win平台退出开发Android的,,高级的功能需要有原生基础,需要有React基础,根据官方的Quick Start部署Android你会被坑进去,官方说运行React-Native run-android就能运行了,太坑了,不信你进去刷新下页面试试,你要先运行react-native start 启动服务,再运行react-native run-android 运行app调试,模拟器使用摇一摇功能进入dev setting在debug server里面设置你开发机器的ip跟host才行,然而这些都是官方没告诉你的。最终打包的app依旧是webview的不过跟MUI比简直是一个天上一个地底,因为可以流畅得让你怀疑人生</p>    <p>4、Xamarin,这个是微软爸爸把收费的厂商收购的过来然后开源免费给开发者用的,支持跨平台(界面必须用Xamarin.Forms)这里我们只说Android,Xamarin官方文档过时,可能你参照官方的例子来敲代码,很多都会莫名的错误,跑不起来,是的!我深有体会,所以我打算还是玩原生去。再就是如果你用Vs 2015来开发Xamarin在界面那一块很卡很卡,你会发现你写个style,selector等等都没智能提示,layout从source到design切换会卡死,而且经常VS无响应死掉,但是如果你换Xamarin来做就体验比较好了,source到design切换很流畅,写style,color,selector等都有智能提示,但是:Xamarin不支持中文。。。。你写的string.xml等资源文件都不能有中文。。。。因为他不支持。。。而且会打包一个Runtime到APK里面去,Release版我不知道多大,反正debug版本50MB是有的</p>    <p>5、Qt,Qt是使用C++开发,所以当然支持跨平台了,他分好几个版本,你需要下载对应的版本才行,不过现在搞C++去写Android App的人多吗?我没体验过,这里只介绍Qt可以开发,如果你使用QML还好,使用QtWidget真的很无奈。</p>    <p>个人推荐排序:</p>    <p>ReactNative 对于高级功能能需要原生基础的可能要求较高,像通用的第三方SDK Githug上都有人封装过,直接可以拿来用,开发上手较快,用户群体大,网上资料多</p>    <p>Xamarin 这个要配合使用,界面用AndroidStudio来做,毕竟是官方自家的东西,支持很到位,后端你用VisualStudio来写 (目前我的做法)</p>    <p>DeviceOne 可以考虑,毕竟官方支持很及时</p>    <p>Mui 这个可以玩玩,了解了解,对于简单的列表,表单等要求不高的app可以用这个做</p>    <p>以上纯为个人观点,仅供非原生开发且徘徊在选择开发方法的新手参考</p>    <p> </p>    <p>来自:http://www.cnblogs.com/263613093/p/6252107.html</p>    <p> </p>