网站程序员如何应对web标准

  本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合开发符合web标准的网站项目。 [飞酷经典资源网]

  本文适合的读者是传统TABLE布局下分工不是非常明晰的程序员。 Coffly.Com

  1:学习web标准,让你的工作变得更加简单。

[飞酷经典资源网]

  web标准是大势所趋,所以作为网站程序员。你必须洗脑,必须去学习web标准。去重新认识html标签,去了解如何让程序输出页面需要的代码。 Coffly.Com

  比如:
  上边是美工出来的效果图,下边是符合标准的程序代码:

Dim oHtml

Coffly.Com

set rs=server.createobject("adodb.recordset") [飞酷经典资源网]

Sql = "select top 10 id,Title From tbl_News order by id desc"

Coffly.Com

rs.open sql,conn,1,1 [飞酷经典资源网]

oHtml="<ul>"

Coffly.Com

do while not rs.eof [飞酷经典资源网]

oHtml=oHtml & "<li><a href=""shownews.asp?id=" & rs("id") & """ title=""" & rs("title") & """>" & rs("title") & "</a></li>"

[飞酷经典资源网]

rs.movenext [飞酷经典资源网]

loop Coffly.Com

oHtml=oHtml & "</ul>"

[飞酷经典资源网]

rs.close

[飞酷经典资源网]

set rs=nothing Coffly.Com

response.write (oHtml)

[飞酷经典资源网]

  而如果是传统的TABLE布局下,程序员要写的HTML代码就会多很多,要写出TABLE、要判断什么时候输出TR来换行、要在每条新闻的前边加个一个IMG来输出小图标、要用程序去控制输出的标题长度。所有的工作都需要先出页面代码,程序员才能去写出这段程序。

Coffly.Com

  对于程序员而言,你应该把web标准当成是一种福音,你应该把它当圣经一样去读,去了解页面代码到底需要什么,明白之后你就会发现。你比以前要轻松多了。由于web标准注重的是表现与内容相脱离,而程序只负责内容数据。从此你就不再需要考虑用程序代码如何控制隔行换色、一行分几列输出等等。你需要去做的,就是向页面输出最直接的内容,没有任何装饰的内容。 Coffly.Com

  当然如果你是用.net开发的话,你就可以更彻底一点了。你可以完全将工作重点放在建立对象、类库、数据访问等,向表现层提供方法即可。下边的例子是我以前做项目的,应该有点参考价值。

Coffly.Com

  2:网站程序员,别让HTML标签阻挡了你的视线。 Coffly.Com

  如果你觉得你真的非常讨厌繁琐的HTML标签,而且自己的学习方向也不在网站的表现层,那你就和HTML标签彻底地说再见吧。

[飞酷经典资源网]

  我曾经在传统桌面软件开发的公司工作,程序员都不会HTML,网站项目紧的时候又不得不让他们来帮忙。我们就拿着Visual Studio .Net 2003自带的几个例子仔细分析,按照面向对象的结构化分层开发模式,也能非常好的进行配合。以新闻模块的开发为例:

Coffly.Com

  第一步:网站程序员可以按需求分析进行数据库设计,你可以负责建表、编写存储过程。这类的事情程序员都非常的熟悉。 [飞酷经典资源网]

  第二步:定义对象。将网站的信息对象化,比如: Coffly.Com

Public Class News

[飞酷经典资源网]

Protected _id As Integer Coffly.Com

Protected _typeId As Integer

Coffly.Com

Protected _title As String [飞酷经典资源网]

Protected _author As String

[飞酷经典资源网]

Protected _original As String Coffly.Com

Protected _updateTime As DateTime [飞酷经典资源网]

Protected _content As String [飞酷经典资源网]

Protected _clickCount As Integer [飞酷经典资源网]

Public Property Id() As Integer Coffly.Com

Get [飞酷经典资源网]

Return _id Coffly.Com

End Get [飞酷经典资源网]

Set(ByVal Value As Integer)

[飞酷经典资源网]

_id = Value [飞酷经典资源网]

End Set

Coffly.Com

End Property [飞酷经典资源网]

Public Property TypeId() As Integer Coffly.Com

Get [飞酷经典资源网]

Return _typeId [飞酷经典资源网]

End Get Coffly.Com

Set(ByVal Value As Integer) Coffly.Com

_typeId = Value Coffly.Com

End Set Coffly.Com

End Property Coffly.Com

Public Property Title() As String

[飞酷经典资源网]

End Property

[飞酷经典资源网]

Public Property Author() As String

Coffly.Com

End Property Coffly.Com

Public Property original() As String Coffly.Com

End Property Coffly.Com

Public Property UpdateTime() As DateTime [飞酷经典资源网]

End Property

[飞酷经典资源网]

Public Property Content() As String

Coffly.Com

End Property Coffly.Com

Public Property ClickCount() As Integer

Coffly.Com

End Property [飞酷经典资源网]

End Class

[飞酷经典资源网]

  就像这样,把网站里所有的表都试着对象化。然后再定义对象相关的记录集,上边定义的是单个的新闻对象,再定义一个新闻的记录集。 Coffly.Com

Public Class Newss [飞酷经典资源网]

...... [飞酷经典资源网]

End Class Coffly.Com

  第三步:定义一套公共的数据访问方法。

[飞酷经典资源网]

  定义一些操纵数据库、执行存储过程的公共方法。 Coffly.Com

  第四步:编写基于对象的方法层。如: [飞酷经典资源网]

Public Function ReadNews(ByVal ID As Integer) As News [飞酷经典资源网]

End Function

[飞酷经典资源网]

  函数返回的就是一个新闻对象。根据功能的需要,一般还会定义一些相关的函数,如:

[飞酷经典资源网]

  '读取新闻列表 Coffly.Com

Public Function ReadNewss(ByVal newsType As eNewsType, ByVal nCount As Integer) As News Coffly.Com

End Function [飞酷经典资源网]

  '增加一新闻

Coffly.Com

Public Function InsertNews(ByVal n As News) As Integer

[飞酷经典资源网]

End Function Coffly.Com

  '更新一条新闻 [飞酷经典资源网]

Public Function UpdateNews(ByVal n As News) As Integer

Coffly.Com

End Function

[飞酷经典资源网]

  删除一条新闻 [飞酷经典资源网]

Public Function DeleteNews(ByVal ID As Integer) As Integer

Coffly.Com

End Function

Coffly.Com

  这样来做,网站开发可以分成对象层、数据访问层、方法层、表现层。而程序员则只需要提供表现层所需要的方法。这样一来,在表现层需要显示新闻列表时,页面设计师只需要用.net中的Repeater控件,如下代码: Coffly.Com

<asp:Repeater ID="topNewsList" runat="server" > Coffly.Com

<HeaderTemplate>

[飞酷经典资源网]

<ul>

Coffly.Com

</HeaderTemplate> Coffly.Com

<ItemTemplate> [飞酷经典资源网]

<li><a href="shownews.asp?id=<%#Container.DataItem("id")%>"><%#Container.DataItem("title")%></a></li> Coffly.Com

</ItemTemplate>

Coffly.Com

<FooterTemplate>

[飞酷经典资源网]

</ul>

Coffly.Com

</FooterTemplate> Coffly.Com

</asp:Repeater>

Coffly.Com

  而在表现层的程序代码中我们只需要加上:

[飞酷经典资源网]

topNewsList.DataSource = New facade.newsFacade().ReadNewss(eNewsType, newsCount)

Coffly.Com

  这样的话,程序员基本上可以与HTML完全脱离了。而且这样的话,整个项目组的成员都可以并行工作了。能非常明显地提高整个项目的开发效率。况且现在web2.0模式的兴起,对后台数据库开发提出了更高的要求。如豆瓣网、365Kit等网站,后台的数据库挖掘工作是非常复杂的。所以在分工明晰的今天,除了HTML代码,其它有很多更重要的工作等待网站程序员去做。 Coffly.Com

  3:以用户为中心的设计,离不开前端开发工程师。

Coffly.Com

  如果你觉得脱离了熟悉的HTML代码,你有点舍不得的话,不要紧。干脆将自己推到web技术的风口浪尖。做一个成产品设计关系密切的前台开发工程师。 [飞酷经典资源网]

  随着网络、计算机硬件设施的不断提升,我们正在朝着富客户端的方向前进。为了产品的易用性,给网站程序员提出了非常高的要求。前台开发工程师这个岗位也越来越显得重要。这个职位应该说也是近年才有的,而这个职位也不是一般的网页设计师能胜任的,所以网站程序员也自然分开了,分后台开发工程师和前台开发工程师,这个方向应该说也是一个非常好的选择。而这个则需要你对web标准有一个比较全面的认识。既需要你对javascript非常了解,同时也需要你对DOM文档对象模型、CSS表现层样式代码、ajax异步都非常了解。相关的例子就非常多了,比如:在线注册表单的即时检测、密码强度的提示、多级下拉菜单的联动等。对于改善用户体验、提高网站访问速度都有非常重要的作用。
 
   请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz.com(把#改为@)。