前端 關(guān)于前端面試?
關(guān)于前端面試?web開發(fā)為何沒(méi)往拖動(dòng)控件的方向發(fā)展?從ASP時(shí)代走過(guò)來(lái)的老程序員可以負(fù)責(zé)任地說(shuō),web開發(fā)拖動(dòng)控件是在10多年前與Microsoft aspdotnet一起推出時(shí),用webform技術(shù)
關(guān)于前端面試?
web開發(fā)為何沒(méi)往拖動(dòng)控件的方向發(fā)展?
從ASP時(shí)代走過(guò)來(lái)的老程序員可以負(fù)責(zé)任地說(shuō),web開發(fā)拖動(dòng)控件是在10多年前與Microsoft aspdotnet一起推出時(shí),用webform技術(shù)實(shí)現(xiàn)的,它仍然處于產(chǎn)品生命周期中。雖然沒(méi)有更新新功能,但仍有正常的產(chǎn)品維護(hù)。
在webform技術(shù)剛剛誕生的時(shí)代,許多Delphi/VB開發(fā)人員剛剛從拖拽控制轉(zhuǎn)向web開發(fā)。在這個(gè)時(shí)候,webform,它有著類似于本地開發(fā)的簡(jiǎn)單的入口和事件模型,甚至一經(jīng)推出就變得流行起來(lái)。它已成為開發(fā)B/s(即所謂的瀏覽器/服務(wù)器)應(yīng)用程序的首選技術(shù)。
那是一個(gè)互聯(lián)網(wǎng)不太流行的時(shí)代,每個(gè)人都在做MIS。盡管webform很流行,但這是因?yàn)閣ebform的事件模型本質(zhì)上需要提交一個(gè)頁(yè)面并與后端服務(wù)器交互,這與Ajax和其他技術(shù)在根本上是矛盾的。而且,通過(guò)拖拽控件,頁(yè)面會(huì)產(chǎn)生大量冗余的HTML標(biāo)簽,導(dǎo)致頁(yè)面尺寸巨大,CSS很難應(yīng)用。
隨著web開發(fā)技術(shù)的發(fā)展,用戶對(duì)前端體驗(yàn)的要求越來(lái)越高,瀏覽器和W3C標(biāo)準(zhǔn)也在不斷演進(jìn),甚至有專門的前端開發(fā)工程師。在本例中,代碼臃腫、體驗(yàn)差的webform已經(jīng)被手工編寫的HTML/CSS/JS頁(yè)面所取代。
當(dāng)然,市場(chǎng)一直需要以拖放控件的形式進(jìn)行無(wú)代碼或無(wú)代碼開發(fā)。微軟也嘗試在后期推出LightSwitch等f(wàn)lash即插即用技術(shù),但一般來(lái)說(shuō),目前HTML頁(yè)面主要是手工開發(fā)。然而,隨著單頁(yè)應(yīng)用程序spa和web組裝等HTML技術(shù)的出現(xiàn),很有可能在未來(lái)會(huì)出現(xiàn)許多拖動(dòng)控件開發(fā)工具。讓我們拭目以待。
請(qǐng)問(wèn)eclipse下有拖拽HTML頁(yè)面控件的插件嗎?
MyEclipse附帶了一個(gè)用于頁(yè)面設(shè)計(jì)的表單插件。最右邊有一個(gè)小三角形按鈕。點(diǎn)擊彈出
當(dāng)輸入框失去焦點(diǎn)時(shí),判斷鼠標(biāo)是否在Div中,設(shè)置一個(gè)全局變量。當(dāng)鼠標(biāo)在div上時(shí),該變量設(shè)置一個(gè)值a,當(dāng)鼠標(biāo)離開div時(shí),另一個(gè)值B,具體方法是在焦點(diǎn)丟失時(shí)打開setTimeout函數(shù),判斷該函數(shù)中的全局變量。如果是B,則關(guān)閉,如果是a,則啟動(dòng)。我不知道我是否明白。我覺(jué)得你能理解。