偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flash真的適合做網(wǎng)站應(yīng)用嗎?

開發(fā) 前端 后端
Flash真的適合像阿里巴巴這樣的網(wǎng)站使用嗎?閉源和性能是Flash最大的問題。但在HTML 5被廣泛支持前,F(xiàn)lash和傳統(tǒng)Ajax還是我們最主要的富客戶端應(yīng)用開發(fā)技術(shù),相對(duì)于ActiveX、 Silverlight、JavaFX、Gear等技術(shù)來說,F(xiàn)lash還是有安裝率優(yōu)勢(shì)的。

兩年前,我們開發(fā)了一套基于Flash的文件(主要是圖片)上傳RIA應(yīng)用,提供給阿里巴巴的用戶使用。如果你使用過Wordpress或flickr上傳圖片,你應(yīng)該已經(jīng)用過類似的產(chǎn)品。這個(gè)程序基于YUI Uploader開發(fā),增加了一個(gè)實(shí)用的功能——在客戶端先將圖片縮小,再上傳到服務(wù)器。用戶用數(shù)碼相機(jī)拍攝的照片往往有600萬(wàn)以上的像素,但產(chǎn)品圖片放到阿里巴巴網(wǎng)站上 顯示,并不需要這么大的像素,通常等比例縮小到1024×1024之內(nèi)就可以了。借助于Flash對(duì)圖片先縮小再上傳的技術(shù),我們?cè)跊]有增加服務(wù)器投入的情況下,將原先上傳圖片的尺寸限制由250KB/張?zhí)嵘搅?MB/張。同時(shí),F(xiàn)lash上傳還比傳統(tǒng)HTML表單方式上傳有更好的體驗(yàn),例如可以多選一 批文件同時(shí)上傳、可以實(shí)時(shí)展示上傳進(jìn)度、選擇文件時(shí)可以過濾非圖片文件。

Flash真的適合做網(wǎng)站應(yīng)用嗎?

這個(gè)組件獲得了很大的成功。上線后不久,阿里巴巴網(wǎng)站上用戶的圖片上傳數(shù)量由日均1萬(wàn)張左右上升至日均15萬(wàn)張左右。但在這個(gè)上傳應(yīng)用投入應(yīng)用的兩年中,我們遇到了各種問題。

1. bug

[[21591]]

在基于IE多標(biāo)簽瀏覽器中的偽沙箱問題就 不說了,最嚴(yán)重的是cookie的問題。使用FileReference.upload的方式上傳文件,http請(qǐng)求中附帶的cookie信息不一定是當(dāng) 前瀏覽器進(jìn)程的cookie,在Firefox、chrome等非IE瀏覽器中非常嚴(yán)重,可能傳輸?shù)氖荌E中的cookie。即便是IE,也可能傳輸?shù)?cookie內(nèi)容和當(dāng)前頁(yè)面的cookie記錄不符合。這直接導(dǎo)致服務(wù)器端在收到文件之后的安全驗(yàn)證中失敗。而對(duì)于阿里巴巴這樣的大型網(wǎng)站,有比較成熟的 java web框架,要去掉對(duì)cookie的依賴非常麻煩。于是結(jié)果就是,首先我們只有在用戶使用IE系瀏覽器的時(shí)候才使用Flash上傳,其次我們隔三岔五的還 會(huì)收到使用IE的某些客戶的投訴,在花費(fèi)了大量的時(shí)間排查之后,我發(fā)現(xiàn)是由于cookie的問題導(dǎo)致上傳失敗。這個(gè)bug已經(jīng)存在很多年,但是隨著Flash從9升級(jí)到10,許多版本過去了,問題依然沒有被解決。對(duì)于閉源的Flash,我們非常被動(dòng)。

2.性能

[[21592]]

相對(duì)于現(xiàn)今數(shù)碼相機(jī)的像素量,5MB的大小限制非常保守。但大于5M的時(shí)候,在一些低配置的電腦上,讀取文件內(nèi)容的時(shí)候就會(huì)發(fā)生瀏覽器假死現(xiàn)象。假死很容易導(dǎo)致瀏覽器崩潰,所以我們采取了保守的限制——5MB。

另外一個(gè)性能消耗是將BitmapData編碼成JPEG文件的時(shí)候。Adobe提供了JPEGEncoder,但由于是Array實(shí)現(xiàn)的,所以性能是個(gè)問題。編碼一個(gè)2880×2880的圖片在一臺(tái)中等配置的電腦上大約需要15秒時(shí)間。

我用Vector改寫了這個(gè)類,時(shí)間縮短為3.5秒左右。使用Alchemy,時(shí)間進(jìn)一步縮短到1.5秒左右。但還是不夠安全,所以***采用了異步Vector的方式,延長(zhǎng)編碼的時(shí)間,以保證程序的穩(wěn)定性。(評(píng)測(cè)在這里)

3.圖片質(zhì)量

[[21593]]

Flash內(nèi)置的***的圖片縮小算法(用BitmapData.draw,并將smoothing參數(shù)設(shè)為true),在縮小圖片的時(shí)候容易產(chǎn)生鋸齒。因此我改寫了Jacwright提供的縮小算法,圖片質(zhì)量的問題解決,但代價(jià)是性能又降低了一些。

4.安全限制

[[21594]]

Flash10.0 之后,增加了一個(gè)安全限制——當(dāng)URLLoader以標(biāo)準(zhǔn)文件上傳的方式發(fā)送POST請(qǐng)求的時(shí)候,需要由用戶的UI操作(鼠標(biāo)點(diǎn)擊或按鍵事件)觸發(fā)。因?yàn)?我們對(duì)用戶的圖片做了處理,已經(jīng)無(wú)法再通過FileReference上傳,只能通過URLLoader。這個(gè)安全性限制規(guī)定每次發(fā)起一個(gè)上傳文件的 URLLoader請(qǐng)求,都必須讓用戶點(diǎn)擊一下鼠標(biāo)才可以。如果用戶選擇了20張圖片,就要點(diǎn)擊20次鼠標(biāo)。這顯然是無(wú)法接受的。因此我們放棄了用標(biāo)準(zhǔn)文件上傳,采用普通post形式。代價(jià)是失去了對(duì)上傳進(jìn)度的跟蹤,不知道文件上傳的百分比;同時(shí)服務(wù)器端也需要改造。

改變

最近,我們做了一個(gè)決定:開發(fā)一個(gè)類似功能的ActiveX控件,替代Flash作為圖片上傳的主要解決方案。ActiveX的優(yōu)勢(shì)是性能,不足之處在于只 能在Windows+IE瀏覽器中使用,但實(shí)際上我們的Flash上傳目前也只能在IE中使用。Flash真的適合像阿里巴巴這樣的網(wǎng)站使用嗎?閉源和性能是Flash***的問題。但在HTML 5被廣泛支持前,F(xiàn)lash和傳統(tǒng)Ajax還是我們最主要的富客戶端應(yīng)用開發(fā)技術(shù),相對(duì)于ActiveX、 Silverlight、JavaFX、Gear等技術(shù)來說,F(xiàn)lash還是有安裝率優(yōu)勢(shì)的。目前Flash依然是我們很重要的RIA技術(shù)。

但是HTML 5完全到來的那一天,現(xiàn)在很難說。

原文鏈接:http://news.cnblogs.com/n/97560/

【編輯推薦】

  1. IBM發(fā)布開源HTML 5可視化設(shè)計(jì)工具M(jìn)aqetta
  2. HTML 5的革新:結(jié)構(gòu)之美
  3. 2011年2月8款免費(fèi)HTML和CSS模板推薦
  4. HTML 5標(biāo)準(zhǔn)學(xué)習(xí)入門之文檔結(jié)構(gòu)
  5. 學(xué)習(xí)HTML 5十佳站點(diǎn)推薦
責(zé)任編輯:陳貽新 來源: 博客園
相關(guān)推薦

2021-08-02 09:02:27

架構(gòu)產(chǎn)品優(yōu)化

2023-07-30 17:12:10

數(shù)字化轉(zhuǎn)型

2016-01-07 15:03:20

2013-08-13 14:33:17

程序員

2011-03-28 13:05:38

MeeGo諾基亞英特爾

2013-05-31 11:29:06

2018-07-03 10:25:22

CentOsUbuntu服務(wù)器

2013-02-01 11:31:53

Linux桌面系統(tǒng)

2010-11-10 11:14:41

項(xiàng)目經(jīng)理

2018-03-27 10:52:59

程序員不適合C++

2022-05-16 10:36:08

GitHub開源項(xiàng)目

2020-10-16 16:20:00

開源開發(fā)管理系統(tǒng)

2020-08-17 07:58:49

互聯(lián)網(wǎng)程序員技術(shù)

2016-06-01 15:42:58

Hadoop數(shù)據(jù)管理分布式

2020-05-14 14:45:33

深度學(xué)習(xí) PyTorch人工智能

2024-03-14 08:00:51

獨(dú)立開發(fā)程序員編程

2019-12-25 13:58:04

網(wǎng)絡(luò)安全SD-WAN防火墻

2015-09-07 13:38:41

數(shù)據(jù)分析

2012-10-24 10:16:17

IT工程師云計(jì)算網(wǎng)絡(luò)管理

2019-08-12 14:22:23

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)