• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 基于原生HTML的UI组件开发

基于原生HTML的UI组件开发

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含原生HTML,UI组件开发等相关知识,匿名希望在学习及工作中可以帮助到您
  本文属于波澜不惊,平铺直叙版本。如果想看有激情有思想的版本,可以去ISUX官博:“顺势而为,HTML发展与UI组件设计进化”,多多留言哈。

  一、基于HTML开发组件的设计思想

  要想知道基于原生的HTML进行UI组件开发是什么鬼,您可以狠狠地点击这里:基于原生的HTML UI组件体验demo

  点击上面的demo, 进入一个平凡的静态页面,引入眼帘的是一个普通的表单,里面的UI都是系统默认的,HTML功能也是原生的。

  例如:

  •   title提示

  •   选择日期

  •   点击提交的表单验证

  UI虽然原始,但是功能却很健全。

  例如:

  •   男女款式、城市以及运费险对价格的影响

  •   表单提交事件

  下面,就是奇迹出现了,点击demo页面(下图所示)的按钮进行某项目UI组件资源的加载和初始化:

  结果,一瞬间,上面原始粗糙的界面一下子变成了这样子:

  妥妥的丑小鸭变成了白天鹅,包括之前原生的HTML功能。

  例如:

  •   title提示

  •   选择日期

  •   点击提交的表单验证

  而,最最重要,和最最神奇的事情是:我们仅仅是引入了UI组件的一些CSS和JS,对,仅仅是引入和一点初始化,没有动之前一点点一丝丝的业务JS. 但是,之前的各种交互功能,却完全不受影响,反而体验更上两层楼!

  请看下面的gif截图演示:

  之所以这里的UI组件可以和业务相关JavaScript完全分离,同时可以无缝对接。就是因为设计理念上是基于原生的HTML实现的,让UI组件回归其本质或者说本职作用——UI.

  二、基于原生HTML的UI组件开发

  解决2个疑问:

  1. new DatePicker($("#date"), { type: "date", initDate: .., beginDate: .., endDate: .., onSelected: $.noop });


      API参数,事件的回调全部源自JS参数。

      而面向HTML的设计思想下的实现则是:


    $("input").attr({ "min": "2015-12-27", "max": "2016-12-27" });

      UI组件会自动同步。没有任何组件相关的JS代码,也没有什么故弄玄虚,没有所谓的高屋建瓴,全是很简单基础的HTML操作。是不是这样的开发反而很省心,连小白用户也能上手?

      于是乎,在多团队联合协作开发的时候,前端开发的进度并不会受UI组件开发影响,面向HTML,专心自身业务开发就可以了。

      于是乎,实现了一个听上去很了不得的东西:前端分离。

      不仅如此,厂子里有很多开发,负责内部项目,会写JS擅长业务功能实现,但是,UI这块是个软肋。OK,此时,我们这里面向HTML开发的UI组件体系就是其救星,对吧,直接引入CSS和JS,简单全局初始化一下(可能还有一些简单的微调),结果,页面立马高大上了,是不是很有用!

      4. 可以一次性全局处理

      传统实现,每个具体业务的脚本里面要参与UI组件的具体API参数设置。而面向HTML的实现,API落地与具体的业务页面,于是乎,只要在项目的common.js中全局初始化一下,如下拉Select.init(), 具体的业务JS文件(绝大多数情况下)中就无需再出现UI组件相关的JS代码。

      UI层的JS代码和业务层JS代码分离,实现进一步的「前端分离」,去耦合。对于日后的维护、升级等必定大有裨益。

      四、总结

      本文主讲设计思想,至于具体的技术细节,以后有机会会慢慢分享。越是简单的成品越是需要足够的积累。

      然而,现在的我再重新评估UI组件的实现,还是有一些遗憾的,主要遗憾在于,HTML层→数据层→展现层这三层概念实现的时候并没有理得很清楚。目前,HTML层和展现层没有任何问题,但是,数据层,并没有完整贯穿整个UI组件体系,导致,本UI组件体系不能很好地吸引对JSON数据有着偏执爱好的开发,以及应付潜在的极端需求。

      不过,不要担心,明年,也就是16年,我会对组件设计进一步增强,首先,不考虑IE7浏览器,于是可以做的事情就更多了;其次,清晰的数据层作为中间层的代码重构等。

    以上就是基于原生HTML的UI组件开发的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • 基于原生HTML的UI组件开发

相关文章

  • 2018-12-03用protractor测试canvas绘制(二)
  • 2018-12-03迄今为止用 HTML5 技术开发的最好的几款网页游戏是哪几款?
  • 2018-12-03有关优化策略的文章推荐10篇
  • 2017-08-06HTML5 File接口在web页面上使用文件下载
  • 2018-12-03html5-Canvas可以在web中绘制各种图形_html5教程技巧
  • 2018-12-03Html5新标签datalist相关用法介绍
  • 2017-08-06HTML5对手机页面长按会粘贴复制禁用的解决方法
  • 2018-12-03使用HTML5 Canvas画柱状图
  • 2018-12-03HTML5与Qt QML仅从做UI的角度比较,哪个更便捷,哪个更强大,哪个(被渲染)性能更高呢?
  • 2018-12-03html5中video标签的详细介绍

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • canvas游戏开发学习之一:初识<canvas>标签
    • HTML5开发必备-游戏开发资源合集(图文)
    • html5 拖拽上传图片实例演示
    • 用Geolocation获取地理位置信息
    • HTML5 对各个标签的定义与规定:footer
    • HTML5画布Canvas线段、矩形、弧形及贝塞尔曲线等简单图形绘制
    • HTML5中dialog元素的详细讲解(代码示例)
    • 有关动画工具的文章推荐
    • Html5元素及基本语法详解
    • 简单整理HTML5的基本特性和语法_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有