漠
  • 发布:2017-12-19 17:15
  • 更新:2017-12-19 17:15
  • 阅读:8604

从零使用H5+和MUI一个月的体验

分类:HTML5+

我今年才开始转业到互联网,之前的工作与互联网无关,从2017年4月的时候敲下第一句hello world,到如今,2017.12.19,时间的确太短了。说是新手完全没错,但是也有些不合适了,与其他无关,只因为有个人告诉我,工作半个月,你就不是新手了。

公司让我独立开发app,而且也没有其他前端帮助,遇到问题只能自己解决,考虑到自己的英语太差,所以在HBuilder全家桶和reactNative中,我选择了前者。

为了能够按时完成工作,我每天看H5 资料到晚上12点多,那时的我,完全webview和NativeObj的概念,为了完成app的启动广告逻辑,废了两天时间,终于明白,需要两个主页来启动app,,,//此处应该放一个分享连接,//2017.12.27添加 启动广告

没有老师教,刚开始一直把子页面当作新页面添加了,郁闷了好久。为了搞清楚子页面与新页面的区别,废了我好大心思,现在想想,我还记得当要把写H5 文档的人杀了的心情。那文档,根本就不是给新手看的,突然明白为什么使用HBuilder的人那么少了。这已经不是技术和审美的问题了,这设计师的头上一定有个坑,而且一定是大坑。记得我学习vue的时候,老师曾经调侃过AngularJS 的文档写的差,现在来看,他估计是没有读过H5 和mui的文档。 //此处应也该放一个分享连接,//2017.12.27新窗口&子页面

终于开始做主要内容了,首要内容是制作地图,按部就班的使用地图,废了一天的多的时间,终于搞明白地图该怎么搞,我记得当时,为了在地图中间添加一个固定的点,怎么搞都不行,层级不够,查了好久的资料终于明白地图的层级在HTML是最高的,怎么搞都不行,除非重新创建子html挂到上去,最后经过优化,添加了一个NativeObj上去。 //此处应该有链接,日后添加

说到地图,现在还是没有解决的两个问题,一个是通过经纬度查询地理信息,百度地图得到的信息不够详细,一个是高德地图在某些机型上在zoom层级大于14就会出现白屏,比如oppoR11,暂时无解

轮播图,做这个比较简单。说实话,MUI做的挺麻烦的,循环播放还得添加首尾两张图片。这个其实没什么难的,困难的是如何缓存新获得的轮播图片。因为下载图片是异步进行,就不能在下载完之后直接添加,本来我花了好多心思做缓存的,可是老板嫌我的进度慢,所以就把这个半成品放弃了,不过前几天NativeObj添加了自动轮播选项,我也把之前写的东西重构了一下,发现H5 团队比mui的技术强多了 //此处应该有链接//2017.12.27轮播图

说到下载与读取文件。这个地方又该喷官方文档了,就算这两个地方不是同一个人负责的,路径问题就不能统一解决一下吗???从图库选择的图片的路径,在plus.io居然不能直接使用,plus.io的克隆属性,到现在我都没有还成功过。

再后来,是图片预览,终于在muiapp示例上看到眼前一亮的东西了,最后发现把它用到app开发上边太坑,被老板吵了好久,终于发现NativeObj里边有图片预览功能,第一次觉得H5 不是完全的一无是处。终于有个功能是完整一点的了。后来测试图片预览会黑屏不显示图片,现在只能说图片有问题了。。。。

窗口的滑动切换,那时候终于明白H5 的文档该怎么看了,这次没有费太久,本来好好的窗口滑动切换,最后不得不放弃,因为当手指放在轮播图上边滑动,轮播图的滑动事件不能阻止窗口之间的滑动。 //(当时用的是MUI的轮播图),老板第一次向我妥协,抛弃了主窗口的滑动。改为消息页面的滑动,前几天测试,看来这个滑动也不能用了,因为在安卓4.3以下,滑动虽然能够进行,但是滑动之后的函数不能正确执行。。。。//此处我觉得不应该出现链接。。

时间继续转动,上传图片,本来好好的,只是后台抱怨,取不到图片名字。后来发现,addData只能添加字符串。。。说到这,发现plus.storage,也是只能储存字符串。。。。好歹存个数组对象啥的啊。。。。

最后测试推送,中间的坑我就不说了,至今我们测试还是能够拿到值为字符串的“null”的clientid,。。。。

上边的坑全部踩了一边之后,app终于能看了,可是发布到安卓4.4以下,哇塞,白屏了。。。。。。。找了好久的原因,最后发现是在安卓4.4以下,对于当前窗口这个概念有点误解,不是窗口本身,而是正在显示的窗口,终于改完了,发现点击按钮打不开页面。原因暂不清楚,不过抛弃mui。直接 plus.webview.open打开窗口就可以了。。。终于差不多能够兼容安卓4.4了,最后发现返回键处理又有问题,返回键触发的不是当前展示的窗口,而是当前展示的窗口的父级窗口。。。。。改了好久,还是没有头绪。。。。

产品都快发布了,老板看我的眼神都是红色的。。。。。。

为啥HBuilder火不起来,自己长啥样你心里没点B数吗????????

5 关注 分享
5***@qq.com k***@126.com lxs 1***@qq.com 2***@qq.com

要回复文章请先登录注册

漠

(作者)

回复 skysowe :
这个链接视频我也看了,感觉很好,我的地图模块就是根据这个视频来完成的。

至于新手的问题,我自己独来独往惯了,感觉自己的学习能力也许不怎么样,但是独立思考能力还是挺不错的。

我觉得后台和数据库暂时不需要我会,我们公司有一个后台哥们,他跟陪我测试接口挺不错的。

不过为了深入开发,android和iOS还是需要了解的。但是这也牵扯到蛋生鸡鸡生蛋的问题,我既然会他们了,为什么还要继续选择混合开发?

我觉得作为产品来说,社会需要的不是开发者有多努力,而是优秀的,有明确市场定位的产品。H5+大体来讲,非常不错,这个是事实,我不否认,他解决了我的很多问题。我也使用它开发起了我们公司的产品。但是缺点与不足不能因为它的优秀而避而不谈。

文档排版难看,这个我感觉不是技术人员的锅,难道这么大的公司,连个UI设计师都请不起吗?至于其他问题,“时间是个伟大的作者,它终将写出……”,算了,时间眼里没有失败者。
2017-12-20 19:15
skysowe

skysowe

虽然你一直说自己是新手,但是不知道此前你做过什么开发,记不得哪本书里说的,有些新手可能以前开发过n多项目,做过其他平台,只是在此平台是新手,另外一种新手是真正的新手~你说你用过vue,看来应该是介于两者之间~

我用h5+和mui也差不多快一年了,勉强做完了一个简单的app,确实这个平台有很多不完善的地方,比如文档不全,有些前期文档里有的内容,后期居然去掉了,,很多问题我也是在论坛里搜索才找到解决方案的,要说最困难的是刚入门时对h5+、NativeObj、mui关系的理解,官方缺少入门指引~

我也是在用了好几个月之后,无意中看到Hcoder的免费MUI和H5+的视频教程,才算理解了这几者之间的关系,此处有链接:http://www.hcoder.net/course/info_211.html (这里有关于mui的详细组件讲解,学完可以举一反三做自己的ui控件)http://www.hcoder.net/course/info_212.html (这里有有关h5+的很多讲解,最后一个是关于地图的),非常感谢刘海君老师的这些免费课程,还有论坛里热心帮助回答问题的各位同仁,虽然这个平台有各种不足,但是确实能够实现了写一遍代码在Android和iOS两个平台运行的梦想,而且这些技术目前还都是开源和免费的,确实不容易~

App开发,需要很多的知识储备,包括html,css,js,http,后台,数据库,甚至还需要了解ios和android的原理,学无止尽,大家共勉~
2017-12-20 09:56
赵梦欢

赵梦欢

哈哈,其实你自己选择5+ App开发,不用其他方式,你心里没点B数吗?
2017-12-20 08:36
漠

(作者)

回复 王者地带 :
这个方法我在做轮播图缓存的时候用过了,不方便,或者应该说是,很不方便!!!!
2017-12-19 20:44
王者地带

王者地带

不知道怎么讲,其实也是和经验有关, 就像你说的plus.storage 不能存对象,你可以把数组先转为字符串,存进去,取出来时再把字符串转回数组,熟能生巧
2017-12-19 18:34
5***@qq.com

5***@qq.com

哈哈哈,太逗了,哥们加个联系方式
2017-12-19 17:42