HTML5+MUI+HBuilder 之初探情人

07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以我的大学都献给了C/C++和Java。当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪,爆炸式的崛起了。小弟不才,反映略慢,加上观念陈旧,(C++程序员的通病——觉得前端=低端&移动端=前端),因此并没有打好移动APP的基础。这给后来我和我们兴趣小团队做些创意式项目也带来了难以逾越的坎。现在这会儿,哪个web应用没有移动APP客户端,就好比飞机没有机翼,帅哥没房没车没学历,美女不能生育一样,让人无法接受,且火不起来。令人欣慰的是,我的团队里有人会Android开发,所以我所要担心的就是IOS开发了,于是我自学了IOS上的Xcode开发。现在的我只能说是入门。入门的我发现,IOS的开发太繁琐了,毕竟我不是专门做这个的,要成为熟练的开发者,需要花大量的时间研究开源控件,改写代码等,当然令人费心的还有Xcode奇葩的MVC逻辑(MVC用在web开发很好,但是用在本地应用开发真的适合吗?小弟作为一个Xcode新人吐槽一句:这就相当于当年VC中的MFC!用过Delphi和CBuilder这些RAD的都会喜欢BCB的界面开发,入手简单,所见即所得。所以在Delphi的Anders Hejlsberg去了微软之后开发出了微软至今最伟大的语言——C#及相关组件,当我第一次使用C#做Windows窗体应用开发的时候,我感觉到了Delphi界面开发的灵魂)。

言归正传,当我正迷茫自己诸多想法皆要毁于巨大的App开发成本时,MUI的出现真正的解放了我的负担。先简单介绍下MUI:

        MUI(Mobile User Interface)是一套基于Html5的,遵循Html5+规范的,中国团队(是否有老外我不知道哦)开发的,开源的(遵循MIT 条款),用于手机端界面开发的一套框架。以下内容摘自MUI在Github上的项目介绍:

 

性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有; 另一方面,浏览器默认控件样式又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。mui框架有效的解决了这些问题,这是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。——摘自MUI在Github上的项目介绍

MUI的出现绝非偶然,小弟就曾经有过类似的完整的设计,所以当MUI出现在我的视野中时,更多的是那种“英雄所见略同”的快感。我曾想过并初探过Xamaria的使用,这玩意一是收费,二是感觉有点半成品,开发环境很繁琐,不适合新手作为一个业余爱好使用。

Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发, 包括iOS、Android、Windows Phone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。——摘自百度百科。

年初时,我就想过为啥不可以出来一款类似于JVM的,可以运行在安卓,IOS上的虚拟机,然后开发者只需要使用一门语言(Java,Javascript,python等)就可以开发出运行在任何移动平台的软件呢?然后再使用拖拽+事件编程(等于用BCB/Delphi开发windows应用)的方式来开发APP界面呢?到那个时候,用户只需要拖拖控件,双击添加事件,修改修改样式等属性就可以完成通用的应用。而且,APP的安装包会很小,我们把一些规范的样式和基础控件都放到这个虚拟机中,运行时只需要按照ID来调用。当然,草民肯定是没有这个能力,时间,金钱来做这个的。。。

MUI包括同类软件的诞生,绝对是我今年听到的对我最有用的软件行业的消息之一了!它将极大的提高了草根程序员开发web产品的单兵作战能力。虽然我不熟悉原生APP的开发,或对于HTML,CSS和JS并不能说是精通,但是不虚!!至少有经验,了解原理。跟Xcode的学习成本比已经好了太多!虽然我是xcode菜鸟,不应该黑xcode,不过之前的swfit的出现,让我看到了猪跑···(没吃过猪肉,还没见过猪跑吗?)

MUI是移动端开发的革命者之一(同类的产品已经陆续出现)!终将革掉那些高富帅,“土豪劣绅”,大地主才能用的起的开发方式的命。也许MUI之后还有更加优秀的类似框架产生,目前(2014年年底)MUI是基于H5的最方便的App开发框架之一!

MUI框架的原理图如下:

           

 

HTML5+ Runtime即H5的运行环境,它的功能其实就是手机上Web browser,不过要加上一个形容词:高效的! 它执行JS和HTML的速度比IOS自带的Safari可要高多了。通过高效执行HTML5和JS,MUI框架才能实现和Native媲美的速度。

        MUI框架目前的产品——HBuilder,也是遵循了H5+规范的H5 IDE。通过HBuilder,我们可以快速开发出H5网页,而它跑在MUI框架中的速度非常快,您不用担心他看起来不像native。另外,HBuilder号称史上最牛的Html+js IDE,提供了各种快捷键,和缩写方式。小弟体验了下,感觉确实不错。不过这个工具做的再好,毕竟意义没有MUI本身大,不过还是非常值得鼓励的。

要使用HBuilder开发和调试移动端APP(且容忍小弟这么称呼吧),只需要:

(1)下载手机端软件:http://dcloud.io/hellomui/

(2)下载Hbuilder,安装,打开。

————————下面是开发阶段了——————

(3)新建,编写一个项目(html,js,css,图片等组成的)。

(4)插上您的手机,连接到电脑,点击运行按钮(具体的方式参见教程),进行调试。

(5)打包发布!

咋样?就这么简单。这快感!!!啧啧。

        再来谈谈我对MUI的发展预测:

一开始,MUI最为一个吊丝框架,肯定不敢大摇大摆的大谈行业规范,所以只能把自己的runtime打包到任何一个发布的应用中。所以如果一个用户的手机里装了多个Hbuilder开发的APP,那么会有多个重复的基本库。不过MUI框架是很小的,不用很担心。

随着MUI的推广,样式的丰富,对Runtime和核心包作出了更大更复杂的要求,因此这个包应该会变大,从而推动了H5 + Runtime的平台化和固件化(软件固件),也许过几年,每个手机的操作系统都会自带这个运行环境,基于它开发的APP可能只有几百KB。

        至于MUI的钱途命运,要么自成一家,为各大手机商提供服务,索要服务费用,又或者被Apple,三星这样的巨头以重金收购。总之,这项技术是很好的,但是盈利模式和最终命运会和Java类似。

希望MUI的同志再接再厉,做好后续的服务和工作。刚使用了下语音输入功能,好像有点小BUG。

 

    (本文纯属饭后闲话,勿对号入座,口水满屏) 

 

 

 

  • 27
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
HTML5+ 的 pickDate 和 MUI 的 dtpicker 都是移动端时间控件,它们的使用和对比如下: 1. 使用方式: HTML5+ 的 pickDate 使用方式: ```html <input type="date" id="datePicker" /> ``` MUI 的 dtpicker 使用方式: ```javascript var dtPicker = new mui.DtPicker({ type: "date", // 显示类型,可选值:date、datetime、time beginDate: new Date(2019, 0, 1), // 开始日期 endDate: new Date(2022, 11, 31), // 结束日期 labels: ["年", "月", "日", "时", "分"], // 按钮上的文字 customData: { h: [ { value: "0", text: "0时" }, { value: "1", text: "1时" }, { value: "2", text: "2时" }, { value: "3", text: "3时" }, { value: "4", text: "4时" }, { value: "5", text: "5时" }, { value: "6", text: "6时" }, { value: "7", text: "7时" }, { value: "8", text: "8时" }, { value: "9", text: "9时" }, { value: "10", text: "10时" }, { value: "11", text: "11时" }, { value: "12", text: "12时" }, { value: "13", text: "13时" }, { value: "14", text: "14时" }, { value: "15", text: "15时" }, { value: "16", text: "16时" }, { value: "17", text: "17时" }, { value: "18", text: "18时" }, { value: "19", text: "19时" }, { value: "20", text: "20时" }, { value: "21", text: "21时" }, { value: "22", text: "22时" }, { value: "23", text: "23时" } ], min: [ { value: "0", text: "00分" }, { value: "10", text: "10分" }, { value: "20", text: "20分" }, { value: "30", text: "30分" }, { value: "40", text: "40分" }, { value: "50", text: "50分" } ] } }); ``` 2. 功能特点: HTML5+ 的 pickDate 可以简单的显示日期选择器,支持原生的日期格式,但是其样式无法自定义,功能比较简单。 MUI 的 dtpicker 支持日期、时间、日期时间三种类型的选择器,支持自定义样式和文字,支持自定义可选项,功能比较丰富。 3. 兼容性: HTML5+ 的 pickDate 兼容性较差,只有在支持 HTML5+ 的浏览器和 Webview 下才能正常显示。 MUI 的 dtpicker 兼容性较好,支持 iOSAndroid 平台,同时也支持在 Webview 中使用。 综上所述,如果需要功能比较简单的日期选择器,可以使用 HTML5+ 的 pickDate,如果需要功能比较丰富的日期选择器,可以使用 MUI 的 dtpicker。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值