<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我是FE,也是Fe

    前端來源于不斷的點滴積累。我一直在努力。

    統(tǒng)計

    留言簿(15)

    閱讀排行榜

    評論排行榜

    企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架

    在過去的很長的一段時間,我都從事b/s應(yīng)用系統(tǒng)開發(fā),我要做的事情就是怎樣做界面規(guī)范以保證UI風(fēng)格統(tǒng)一,同時保證開發(fā)的高效性。具體而言,我要做的工作需要把css寫好,開發(fā)者做界面時能方便的寫html和樣式。可更多的經(jīng)歷我都花在javascript上。

    問題一:要不要采用javascript框架?

    我剛到公司的時候,我們的技術(shù)架構(gòu)師是不同意使用javascript 框架。理由很多,javascript 沒有得到應(yīng)有的重視是主要的原因,他一直強調(diào)我們做的是應(yīng)用系統(tǒng)。所以他只在網(wǎng)上找到幾個js放在項目下面,然后頁面上很亂,要寫一顆樹展現(xiàn)真是麻煩又麻煩。而且大家的javascript水平都很一般,基本只是稍微了解一點。用的最多的還是數(shù)據(jù)校驗,寫的方法還是document.form1.formname,document.add['id']之類的寫法。這讓我這個天天關(guān)注界面的技術(shù)人員(冒昧自稱技術(shù)人員,其實只是在界面層上有點研究而已)真是抓狂。很諷刺的是,為了使用一個小窗口彈出錯誤信息,把jqeury+ui搬出來。整個項目也只有這么一個地方用到j(luò)query,去年的時候jquery的人氣正在攀升。我來了之后,由于自己輩分小,在技術(shù)上說不上話,后來大家界面上開發(fā)的時候遇到這個那個問題解決不了的時候,大家慢慢的認(rèn)識到了我的價值。新的項目領(lǐng)導(dǎo)讓我負(fù)責(zé)界面規(guī)范這塊,公司也想把這個項目做成一個產(chǎn)品。經(jīng)過很多次“力薦”,我終于說服了大家,我們不能再"IE only" 了。

    我認(rèn)為使用的理由: 一,我們要有兼容各種瀏覽器的能力,現(xiàn)在新的瀏覽器大戰(zhàn)正在打響,將來的瀏覽器市場還很難說。在css這方面 我借鑒了ext 的兼容思想,在body標(biāo)簽上加上class "IE IE6",這樣我們不要使用hack 去兼容瀏覽器了。對于javascript上,基本上只有IE和非IE的差別了。主流的javascript框架都提供了很好的瀏覽器支持。二,用javascript框架的目的是提高開發(fā)效率。這與主流的javascript不謀而合。三,web應(yīng)用正在飛速發(fā)展,界面層應(yīng)用越來越復(fù)雜,javascript不在一個校驗數(shù)據(jù)的腳本了,ajax的應(yīng)用能很好的提升用戶體驗,有些場合使用ajax,用戶操作更加方便。舉個很簡單的例子,很多的記錄需要排序,雖然在數(shù)據(jù)上來看,只要改變排序值能解決問題,但在界面上,難道要用戶去填寫排序值,這樣用戶會覺得很難操作,而用上sortable,這個問題不僅簡單,而且操作起來不知道清晰多少。我們從傳統(tǒng)的c/s走到b/s不僅是因為b/s 不需要安裝,升級容易。還是因為b/s具有更前的表現(xiàn)力。

    當(dāng)然,反對使用javascript框架的理由也很尖銳。一,開發(fā)人員的水平很難以掌握現(xiàn)有的javascript框架。二,大家堅持認(rèn)為,其實現(xiàn)在用的javascript的地方還不是很多。從需求上將屈指可數(shù),tree,borderlayout,grid,calendar。

    對此,我提出的想法就是,大家如果覺得難以使用的話,我在javascript框架上做一次封裝,降低使用難度。第二個理由更好說,雖然現(xiàn)在使用的地方就那么幾個,那好,你能拿出更好的方案么。曾經(jīng)架構(gòu)師說,我們希望每一個界面控件都是單獨的,能單獨使用。當(dāng)然現(xiàn)在的主流javascript 都是這樣的。這樣,我就在大家仍用懷疑的眼光注視我的時候開始了javascript框架之旅。

    問題二:用哪個javascript框架?

    這個問題不是在討論或者爭執(zhí)哪個好哪個不好,未免大家再又爭執(zhí),我讓他們自己找javascript框架,甚至可以把他們最熟悉的拿出來使用。大伙都說沒有時間,這樣我也不擔(dān)心有人說后話了。

    我把目前主流的javascript分為三類。

    諸如:prototype/jquery/mootools這樣的javascript框架,只能是javascript工具。他的優(yōu)勢就是擴(kuò)展性強,社區(qū)支持很好,尤其是jquery

    第二類就是:yui/ext/dojo/qooxdoo這樣的框架。他們是一套全系列的純客戶端的ui解決方案,使用方便,能滿足我們的需要。缺點是入口很高,適用于做富客戶端。雖然我們現(xiàn)在的應(yīng)用還是很多,但是還沒有到那個地步。

    還有一類就是與服務(wù)器端技術(shù)結(jié)合的ajax框架,他只能叫ajax框架,他基本只做數(shù)據(jù)交換。事實上只要做一個簡單的servlet(j2ee)或者HttpHanlder(.Net)再在客戶端加以封裝,使用起來也是很方便的。所以這類ajax框架我認(rèn)為不需要考慮。

    在我看來,并不是那個框架絕對的好壞,而是什么樣的框架能最好的滿足你的需求。

    論個人閱歷上來講,三類的多個框架我都知道一二。但是我最喜歡jquery,所以使用了jquery了,他的好處就是輕量級,擴(kuò)展性強,現(xiàn)有的插件足以滿足需要。代碼非常簡介而且執(zhí)行效率高。于是我找了一大堆jquery插件。再自己封裝城稍微簡單的方法。本著不重復(fù)發(fā)明輪子的原則。很多的界面問題都能解決了。

    問題三:真的是那樣么?

    時至2009,項目完了,到了需要再次封裝城產(chǎn)品的時候,麻煩也就來了。我發(fā)現(xiàn)雖然jquery插件很多,很全,但是由于是百花齊放,我就不想修改里面的代碼。慢慢的使用發(fā)現(xiàn)很多插件不是很穩(wěn)定,像jstree,jquery ui 由于先前用的版本比較低,導(dǎo)致很有的bug自己寫一些修正。現(xiàn)在回過頭來看那時候做的東西,發(fā)現(xiàn)新的版本已經(jīng)修復(fù)了這些功能。而換上新版本的jquery,變化還是蠻多,比如jquery.browser就不推薦使用了,怎么辦。

    將來。

    本文就是在使用jquery之后,發(fā)現(xiàn)維護(hù)工作量也不小的背景下寫下來的。我不知道是不是我當(dāng)初選擇jquery是錯誤的。是不是應(yīng)該選擇ext 之類的有著更強表現(xiàn)能力,更穩(wěn)定的框架么?現(xiàn)在的代碼還是不是那么理想。由于很多的歷史原因,大家還在用ecside ,jscalendar。使用ecside是因為歷史原因。使用jscalendar是因為jquery還沒有一個日歷控件能支持時間的。我一個人的精力有限,而且我很多的時間都在寫項目代碼(說到底還是領(lǐng)導(dǎo)不重視)。我擔(dān)心我當(dāng)時做的決定會對將來造成負(fù)面影響。

    冒昧發(fā)在首頁上,真誠的希望大家提出自己的看法,在企業(yè)級應(yīng)用系統(tǒng)上界面層應(yīng)該怎樣做,文中的有些觀點如有不對的地方還請大家指教

    posted on 2009-04-12 17:25 衡鋒 閱讀(3023) 評論(7)  編輯  收藏 所屬分類: javascriptWeb開發(fā)j2ee

    評論

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架 2009-04-12 20:29 sowill

    我們項目用的prototype,前端方面研究的不太多,但是我覺得一個項目一旦選定一個框架的穩(wěn)定版本之后,在夠用的基礎(chǔ)上,就盡量不要升級的好,尤其是像jquery這種以插件取勝的框架,版本之間的兼容性會對眾多插件產(chǎn)生影響,我覺得這個帶來的維護(hù)是最致命的  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架[未登錄] 2009-04-12 20:57 xh

    換一個版本有的時候代價比較大,也可能出現(xiàn)新的問題,如果沒有足夠的時間還是不建議。
    自己改改bug,改的時候注意方法,沒有把握的地方增加新的方法,保留原來的方法。
    別怕麻煩就行了。  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架 2009-04-12 21:42 陽衡鋒

    上面兩位仁兄還是有經(jīng)驗的,我現(xiàn)在也這么想,做了的東西就放著,是在有問題考慮補補,只是現(xiàn)在我現(xiàn)在新開發(fā)的東西用的新版本,導(dǎo)致項目里面兩個jquery版本。感覺很別扭。  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架 2009-04-13 09:55 wangbing

    對ext進(jìn)行標(biāo)簽化 我看好這個方式  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架[未登錄] 2009-04-13 09:56 fish

    我在問題2以前和你的經(jīng)歷驚人的相似,只不過我比較幸運,碰到了一個比較好的領(lǐng)導(dǎo),至于使用什么框架庫的選擇,我覺得你可以參照ext作者當(dāng)年的做法,使用yui/jquery/prototype等基礎(chǔ)框架之一,在這個框架上面寫自己的組件,也就是說自己造輪子,這響應(yīng)你們的產(chǎn)品需求會非常快,還能提高很多JS/CSS知識,何樂而不為呢?  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架 2009-04-13 12:41 陽衡鋒

    @wangbing
    @fish
    你們提到的兩種方式都很好,我現(xiàn)在發(fā)現(xiàn)用jquery插件多了,我的系統(tǒng)首頁要加載將近200k的js和30k的css,在IE 6,7下面主頁反應(yīng)有點慢,在別的瀏覽器下當(dāng)然是不會又這種情況的,我有點擔(dān)心性能了。  回復(fù)  更多評論   

    # re: 企業(yè)級b/s應(yīng)用系統(tǒng)采用怎樣的javascript框架 2011-09-15 08:31 tb

    jquery 比較好  回復(fù)  更多評論   

    主站蜘蛛池模板: 69成人免费视频| 国产精品免费大片| 免费看美女被靠到爽的视频| 亚洲美免无码中文字幕在线| 久久99热精品免费观看动漫| 久久久久久亚洲精品| 无码人妻一区二区三区免费n鬼沢| 亚洲国产一成人久久精品| 国产猛男猛女超爽免费视频| 亚洲Av无码专区国产乱码DVD| 免费人成网站在线观看不卡 | 久9这里精品免费视频| 久久精品亚洲中文字幕无码网站| APP在线免费观看视频| 中文字幕亚洲精品资源网| 国产精彩免费视频| 亚洲综合欧美色五月俺也去| 免费高清小黄站在线观看| 国产亚洲蜜芽精品久久| 久久久久噜噜噜亚洲熟女综合 | 中文字幕亚洲免费无线观看日本 | 国产美女亚洲精品久久久综合| 精品熟女少妇aⅴ免费久久| 亚洲免费观看视频| 最近的中文字幕大全免费8 | 免费在线观看一区| 亚洲国产美女精品久久久久∴| 亚洲视频在线免费观看| 国产精品亚洲四区在线观看| 国产嫩草影院精品免费网址| 九九热久久免费视频| 亚洲视屏在线观看| 国产在线ts人妖免费视频| 国产无遮挡又黄又爽免费网站| 亚洲神级电影国语版| 免费一看一级毛片人| 一级毛片免费播放| 国产精品亚洲二区在线| 亚洲专区在线视频| 国产一区二区三区免费视频| 无码囯产精品一区二区免费|