`
natuever
  • 浏览: 74422 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

杂聊——基于HTML+CSS的UI开发与实现

阅读更多
   做了两年UI开发了。和不同的人配合。使用不同的后台编码..NET,J2EE,PHP,ASP.
   随着人们对WEB应用的要求提高。我们的软件和网站在前端的用户体验和人机交互方面在做不断的尝试和提高。
   但是在实际的开发中。很多公司还是陷入了一个困境。注意。这里只是说部分公司。大部分公司吧.因为没有专人去负责UI开发和交互设计与开发。而是由美工与程序共同完成。
  
  困境一:   美工设计-->后台编码实现.
   美工负责设计。并且做成静态页面模型<有些美工会实现部分JS>.发给后台开发小组/人员.
   后台开发人员负责VIEW层的最终实现。<并且会实现部分JS.>

   问题:
   后台开发人员接收到的静态页面模型不标准.嵌套程序有困难.或者嵌套程序后会出现页面布局混乱等问题。
   大部分美工很多情况下都只是设计人员.并且大多情况下只会用效果图去做第一次审核和最后一次审核。而这样又会出现新的问题。动态的效果无法用一张图片很详细的说明。很多效果或许自己不知道该如何实现或者有些困难会舍去.虽然网上有很多开源的代码。JS,FLEX,FLASH. 但多数情况下这些UI都是以代码为主.以前端为主.对于大部分美工来说。读代码是件痛苦的事.或者根本读不懂.
   对大部分程序来说。很多高级的UI应用都是基于JAVASCRIPT+XML|JSON|XSLT|TXT|HTML+CSS+DOM/FLEX/FLASH.这样的应用或许很容易上手。但也很容易由于2次开发造成很多BUG.还有一种情况。对于数据传输来说。后台与前端的数据交互。采用什么格式.什么标准?
   至此.已经早成了前后台开发人员协调脱节的现象。

  困境二:美工设计-->UI开发人员实现-->后台编码人员与UI开发人员一起整合
    这样的开发团队似乎理想一点。每个人分工清楚。但协调脱节的现象仍然存在。
    在开发阶段。顺利的话可以正常发布.上线.
    但是这样子做.假设数据传输格式为:JSON|XML|XSLT. 发送请求为AJAX.或者伪AJAX(IFRAME).如果出现了BUG.调试将是件痛苦的事.尤其是中型以上的项目。大量采用了JS开发前端的项目。分析BUG只能是两组人一起上。效率很底.

    为了更好的开发.更好的应用。我们身边或许很多公司已经有人开始使用JQUERY,PROTOTYPE,EXT,DOJO,YUI,GWT.并且也做出了很多很出色的CASE.我也参与了好几个项目的UI开发。说真的。对我来说最痛苦的莫过于与后台人员沟通如何实现数据交互了。要不就是程序不知道JSON.你给了他们模板数据也会出错。要不就是输出XML后在用JS解析.或者动态捆绑XSLT解析.开发效率底.要不还有一种情况就是程序告诉我这个必须采用服务器端控件:比如.NET.真疯了。
     最近一直在想一种新的开发模式。方便自己也方便程序员.简单的先说下了。过段时间有机会在提交详细的说明.
   
    基于HTML+CSS的UI开发与实现.
    一:分析
    1.WEB应用里最常见的。增、删、改、查
     增加:FORM<控件、数据校验>,数据提交<post,get|ajax、伪ajax>。布局<div|table>。
     删除:数据提交    <post,get|ajax、伪ajax>
     修改:数据回填、FORM、数据提交、布局
     查询:查询的表单、查询的结果、分页、对单条数据的一些附加操作:比如删除、修改的接口调用。基于超级连接的或者AJAX
     2.特殊的UI效果 
     拖动、MENU、TABS、TREE、等等。。。。
     3.其他应用调用接口。

     二:设计思路
     上边我们提到了常用的一些操作和功能。
     按照这些功能。我们对UI可以进行分组定义。定义出一组基于HTML的模板。
     比如一个有一个查询功能。我们可以这样划分
     1。查询表单。<form页面。就一个单页面存放查询的FORM>
     2。显示结果的GRID。<列表页面,用TABLE就行。>
     3。分页控件。<分页控件页面>
     4。单选或者复选。<包含在GRID里。用CLASS标记>
     5。其他操作的接口。比如单条数据的查看详细信息。删除。修改等。<特殊操作的接口页面,或者是包含在grid里针对某一条信息的操作接口>
   
    用一个页面对这些操作进行include和布局.可以用动态页面中的include.也可以用JS提供一组AJAX方式的include方法<ajax请求某一个页面返回HTML代码加载>。
    
     三:特殊处理
     用一组CSS来定义组件的显示方式。比如现在我们定义了3个UI。
     CLASS:menu grid tab
    用一组JS来读取UI的CLASS。并且添加事件和特殊操作等。比如AJAX事件。
     menu.js  grid.js tab.js
    用一组JS来配置这个应用的操作接口。上边的JS会用到。
     这里我们是在做查询应用。比如这样定义
     SearchConfig.js
    SearchConfig = {
       delete : 'xx/xxx/xxx.jsp',
       add : 'xx/xxx/xxx.jsp',
       update : 'xx/xxx/xxx.jsp',
       get : 'xx/xxx/xxx.jsp',
       search : 'xx/xxx/xxx.jsp'
    }
   
    四:后台开发
     在这里。我只需要按照后台人员的需求在我已经做好的UI中挑选静态页面发给后台开发人员。他们只需要关心输出HTML或者接受请求处理。返回一个标记。
    
     五:总结
     在这个过程中,后台开发人员不需要关心什么是JSON。怎么用XML,怎么用XSLT。美工也不用去关心怎么去实现JS。怎么去实现AJAX。美工只需要按照程序的要求在UI的库中按照要求组装。最多做一个布局。修改部分UI的风格就可以。
     呵呵。还没说我到底要做什么。
     做一组用HTML+CSS定义好的静态UI。用JS动态的读取这些UI,并且根据CONFIG文件自动配置UI。最大限度的减轻美工和后台开发人员对JS开发的痛苦。
    
     由于表达能力有限,说的不好。尽请朋友口下留情。
     有兴趣的朋友可以看下:http://www.hooyi-semi.com/semi/index.html
    其中的grid和tabs,menu.都是按照这样的思想去做的。
12
4
分享到:
评论
12 楼 natuever 2008-11-28  
ayaya 写道

构建一套基本的css和js,能完成需求期间UI就ok了,至于最终的形式,基本就是仁者见仁智者见智了,呵呵

是啊。做一套最基本的。在做一套高级的ui用的html.css.js.剩下的完全由用户自己选择。
11 楼 ayaya 2008-11-28  
构建一套基本的css和js,能完成需求期间UI就ok了,至于最终的形式,基本就是仁者见仁智者见智了,呵呵
10 楼 zenggang2008 2008-11-28  
往往一个webapp最花时间的就是在UI上
不过现在的解决方案也有很多了
真的希望flex能火起来,毕竟写html.css.....太累了
9 楼 natuever 2008-11-28  
flyfan 写道

如果你的框架能提供这样的功能,让程序员更多的关注后台代码,那真是完美了

我只能说。我努力吧.呵呵。
8 楼 flyfan 2008-11-27  
如果你的框架能提供这样的功能,让程序员更多的关注后台代码,那真是完美了
7 楼 ynw520 2008-11-27  
写代码不难,封页面真的花时间.
6 楼 whaosoft 2008-11-27  
呃 你辛苦了 我为所有的前端程序员致敬~
不要怪我们把页面都跑给你们
5 楼 jiyu 2008-11-27  
写webapp跟写nativeapp越来越像了,webapp也逐渐能胜任很多nativeapp的工作。但是,写native app很简单,了解一个框架,掳起袖子就可以写,刷刷两下,一个程序就出来了,但是些一个webapp,要了解很多东西,HTML/CSS/JS/...,数不胜数,如果,能有一个框架,把程序员从烦恼的页面设计中解脱出来,那就十分帅了,大家都集中精力在程序功能上,一个真正的web framework,用起来都如同native framework一样的东东。

曾经以为YUI算得上一个framework了,后来发现使用起来仍然很困难,作罢。

如果博主有兴趣发布这样一个框架,那可真是不错,写代码的就安心写代码去吧,设计页面的就安心设计页面去吧。
4 楼 natuever 2008-11-27  
flyfan 写道

liangwenzheng 写道
曾经的公司里别说UI开发,就是美工都是自己弄,往往1/4的时间在写后台代码,3/4时间在弄自己很头疼的页面。 我现在的情况跟你一样呀,natuever的文章虽然给了一些方法,但公司的人力不能满足这种模式呀

如果我们可以提供一组这样的框架.不知是否可以被大家接受和采用
3 楼 flyfan 2008-11-27  
liangwenzheng 写道

曾经的公司里别说UI开发,就是美工都是自己弄,往往1/4的时间在写后台代码,3/4时间在弄自己很头疼的页面。

我现在的情况跟你一样呀,natuever的文章虽然给了一些方法,但公司的人力不能满足这种模式呀
2 楼 natuever 2008-11-26  
liangwenzheng 写道

曾经的公司里别说UI开发,就是美工都是自己弄,往往1/4的时间在写后台代码,3/4时间在弄自己很头疼的页面。


不知道我这样的想法和做法是否对你以前那样的公司有所帮助。
1 楼 liangwenzheng 2008-11-26  
曾经的公司里别说UI开发,就是美工都是自己弄,往往1/4的时间在写后台代码,3/4时间在弄自己很头疼的页面。

相关推荐

    HTML+CSS+JavaScript+jQuery+Bootstrap等前端框架实现的前端案例.zip

    本文将深入探讨这些技术,并基于"HTML+CSS+JavaScript+jQuery+Bootstrap等前端框架实现的前端案例.zip"这个压缩包中的webdemo-master项目,分析它们在实际应用中的作用。 首先,HTML(HyperText Markup Language)...

    基于单片机——基于Electron + Vue的桌面音乐助手的设计与实现.zip

    标题中的“基于单片机——基于Electron + Vue的桌面音乐助手的设计与实现”表明了这是一个结合了单片机技术与现代Web开发框架的项目,旨在创建一个桌面应用,用于音乐播放和管理。这个项目利用了Electron框架,它...

    网页模板——js+css3实现的报警灯背景数字时钟效果源码.zip

    该网页模板是一个基于JavaScript(js)和CSS3技术实现的报警灯背景的数字时钟效果。这个源码项目提供了一种动态、引人注目的时间显示方式,特别适合用于需要实时时间显示且需要吸引用户注意的场景,比如监控界面或者...

    web前端期末大作业:基于html化妆品购物商城项目的设计与实现——化妆品官方网站设计与实现(HTML+CSS+JS)

    本项目的主题是“基于HTML的化妆品购物商城”,旨在通过实践的方式让学生掌握前端开发的基本技能。 #### 二、项目目标 - **网页设计与布局**: 使用Div+CSS完成网页的整体布局设计,包括首页、导航栏、内容区域以及...

    ASP.NET毕业设计——ASP.NET+SQL网上校友录设计与实现(源代码+论文).zip

    【ASP.NET毕业设计——ASP.NET+SQL网上校友录设计与实现】 ASP.NET 是微软公司推出的一种Web应用程序开发框架,主要用于构建动态网站、Web应用程序和服务。它基于.NET Framework,提供了丰富的功能和工具,使得...

    html5后端模板,html5+css

    HPlus是一个基于HTML5和CSS3的后台管理模板,它以其简洁大气的设计风格受到开发者的欢迎。HPlus通常包含一系列预定义的页面布局、组件和小工具,如导航菜单、按钮、表格、图表、表单元素等,这些都是构建后台管理...

    基于SpringBoot+Mybatis+Thymeleaf+SemanticUI的在线考试系统(低仿牛客网)

    《基于SpringBoot+Mybatis+Thymeleaf+SemanticUI的在线考试系统——低仿牛客网》 本文将深入探讨一个使用SpringBoot、Mybatis、Thymeleaf和SemanticUI构建的在线考试系统,该系统是对于牛客网的一个低仿实现,非常...

    大二Web课程设计:服装网页设计题材——HTML+CSS汉服文化带背景音乐素材带视频(12页)

    3. **编码实现**:基于设计稿编写HTML、CSS和JavaScript代码,实现页面功能。 4. **测试调试**:进行全面的功能测试和兼容性测试,确保在各种设备和浏览器上都能正常工作。 5. **部署上线**:将项目发布到服务器,供...

    商城网站-网页设计大作业

    【网页设计大作业】是一个关于构建商城网站的学习项目,它涵盖了Web开发中的核心技术,包括HTML5、CSS和网页设计原则。在这个项目中,你将有机会深入理解和实践这些技术,以创建一个具备完整功能的在线购物平台。 ...

    H+UI后台框架

    【H+UI后台框架】是基于HTML5+CSS3技术构建的一款现代化的、完全响应式的前端框架,专为后台管理界面设计。它采用主流的左右两栏式布局,旨在提供高效、灵活且功能丰富的UI组件,以帮助开发者快速构建美观且易用的...

    java毕设:办公自动化系统——springboot+vue+element-ui 前后端分离.zip

    该资源是一个基于Java技术栈开发的办公自动化系统,采用了前后端分离的设计模式,前端使用了Vue.js框架结合Element-UI库,后端则利用SpringBoot框架。这是一个完整的项目,不仅包含源代码,还可能附带有运行和配置...

    ASP.NET源码——网页选项卡(div+CSS).zip

    这个源码压缩包“ASP.NET源码——网页选项卡(div+CSS).zip”显然是一个使用ASP.NET技术实现的网页选项卡功能的示例代码。选项卡在网页设计中非常常见,它们可以有效地组织大量内容,让用户在一个简洁的界面中轻松...

    HTML5+CSS3在触屏网站上的实践

    ### HTML5+CSS3在触屏网站上的实践 #### 触屏现状 ...综上所述,本文档详细介绍了HTML5+CSS3在触屏网站上的实践经验和技巧,涉及多个应用场景和技术要点,对于从事前端开发的专业人士来说具有很高的参考价值。

    jquery-ui.min.js+CSS

    首先,我们要明确jQuery UI的核心——它是基于jQuery的,这意味着你需要在项目中先引入jQuery库,然后才能使用jQuery UI。在标题中提到的"jquery-ui.min.js"就是jQuery UI的压缩版JavaScript文件,包含了所有UI组件...

    植物大战僵尸HTML5+CSS+JAVASCRIPT

    《植物大战僵尸HTML5+CSS+JAVASCRIPT》是一个基于网页的游戏项目,它利用了前端三大核心技术——HTML、CSS和JavaScript,来重现经典游戏"植物大战僵尸"的部分功能。这个项目展示了如何将游戏逻辑与视觉表现相结合,...

    基于springboot的景区旅游信息管理系统:springboot+mybatis+mysql+html+layui.zip

    本文将深入探讨一个典型的信息管理系统——基于SpringBoot的景区旅游信息管理系统,该系统集成了Mybatis、MySQL、HTML和Layui等技术,旨在实现高效、智能的旅游服务。 首先,SpringBoot作为Java领域的一种轻量级...

    基于ssm+vue+WEB的开放性实验室管理系统.zip

    本系统——“基于SSM+Vue+Web的开放性实验室管理系统”正是为满足这一需求而设计与实现的。本文将详细介绍该系统的技术架构、核心功能以及开发过程中的关键技术点。 一、技术架构 1. SSM框架:SSM是Spring、...

    755js_HTML手机电脑网站_网页源码移动端前端js效果_H5模板_自适应css源码ui组件.zip

    《HTML手机电脑网站网页源码移动端前端JS效果与H5模板——自适应CSS源码UI组件解析》 在数字化时代,构建一个响应式、交互性强的网页已经成为网站设计的必备要素。"755js_HTML手机电脑网站_网页源码移动端前端js...

    网页模板——基于jQuery Bootstrap3的文本编辑器特效源码.zip

    该压缩包文件“网页模板——基于jQuery Bootstrap3的文本编辑器特效源码.zip”提供了一个网页模板,这个模板特别设计用于实现基于jQuery和Bootstrap3的文本编辑器特效。jQuery是JavaScript库,它简化了HTML文档遍历...

Global site tag (gtag.js) - Google Analytics