《JavaScript高效图形编程(修订版)》——6.5 画布与Adobe Flash的对比

简介: 大多数网民都熟悉Adobe Flash。大量的在线广告内容、视频和游戏都使用了Flash。事实上,有很多网站是完全用Flash创建的。这是一个可以追溯到1996年的成熟插件,现在几乎所有系统上都安装Flash。

本节书摘来自异步社区《JavaScript高效图形编程(修订版)》一书中的第6章,第6.5节,作者:【美】Raffaele Cecco著,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.5 画布与Adobe Flash的对比

大多数网民都熟悉Adobe Flash。大量的在线广告内容、视频和游戏都使用了Flash。事实上,有很多网站是完全用Flash创建的。这是一个可以追溯到1996年的成熟插件,现在几乎所有系统上都安装Flash。不过 Flash也有自身的问题,HTML5(包括画布)的发展,可能预示着互联网富内容创建会有翻天覆地的变化。

  • Flash是一个由Adobe公司所拥有的专有格式。播放Flash内容不收取费用,但开发Flash内容则需要购买相应的制作软件。用Flash这样一个封闭系统来创建Web内容,和Web的自由开放化进程是不协调的。
  • Flash在桌面机上根深蒂固。而在苹果公司的流行移动设备上,如iPod、iPhone和iPad,浏览器是不支持Flash的。苹果公司在2010年9月做了少许妥协,允许软件以Flash开发,并封装为原生应用。
  • 尽管一些移动设备可以用Flash Lite,而且Android 2.2设备支持Flash 10.1,但移动用户对由Flash的依赖较小。因为他们可以很容易下载原生应用和游戏。
  • YouTube、Facebook和哥伦比亚广播公司等热门网站,现在开始以HTML5兼容的格式(H.264)提供它们的视频内容。

HTML5和Flash的辩论,会引起很多争议。希望Flash长存的资深Flash开发人员自然会质疑HTML5能否取代Flash,而开放Web的支持者会说HTML5使Flash显得多余。

现实中,Flash很快消失是不太可能的。它太根深蒂固了,而HTML5在各个方面进展缓慢。然而,考虑到跨浏览器支持、熟悉和免费的开发工具,只有最乐观的Flash开发人员会忽略HTML5。不过,随着JavaScript性能的提升和工具库(如jQuery)的发展,以及考虑到画布等因素,已没有什么理由去以100%-Flash的方式去构建网站了,估计用不了多久这种网站就会停止出现。

相关文章
|
3月前
|
JavaScript 数据可视化
基于fabric.js的图片编辑器, 画布背景实现原理
基于vue3 + fabric.js + vite + element-plus + typescript等技术,画布背景原理分析
基于fabric.js的图片编辑器, 画布背景实现原理
|
JavaScript 前端开发 Web App开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之一:使用Three.js创建你的第一个三维场景
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
JavaScript 前端开发
带你读《小创客趣玩micro bit开发板编程》之二:JavaScript Blocks 图形编程
本书从 micro:bit介绍、micro:bit开发方式、Makecode图形化编程和创意编程案例实践4个维度带领大家逐步理解和学习 micro:bit的使用方法。
|
3月前
|
移动开发 JavaScript 前端开发
JS生成用户登录图形验证码
JS生成用户登录图形验证码
|
10月前
【Three.js入门】图形用户界面GUI、BufferGeometry创建矩形、随机生成多个随机颜色的三角形
【Three.js入门】图形用户界面GUI、BufferGeometry创建矩形、随机生成多个随机颜色的三角形
170 0
|
Web App开发 JavaScript 前端开发
加载Flash、禁用JS脚本、滚动页面至元素、缩放页面
Selenium很多难解决的问题,我们要首先想到从JS脚本出发,毕竟Selenium还是支持驱动浏览器运行JS脚本的。 这篇文章的内容主要是Selenium日常开发中会遇到的坑,以Java代码为主,当然Python的小伙伴不用担心,这里所有的解决方案都是可以在Python中通用的。
223 0
|
前端开发 JavaScript 算法
Canvas入门实战之用javascript面向对象实现一个图形验证码
本文主要介绍用canvas实现图形验证码的一些思路以及如何用javascript面向对象的方式更友好的实现canvas的功能,关于canvas的一些基本使用方法和API我整理了一个思维导图,大家感兴趣的可以参考学习。
169 0
|
JavaScript HTML5 移动开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之三:学习使用Three.js中的光源
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
JavaScript HTML5 移动开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之二:构建Three.js应用的基本组件
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。
|
JavaScript 前端开发
JavaScript 编程精解 中文第三版 十七、在画布上绘图
十七、在画布上绘图 原文:Drawing on Canvas 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 绘图就是欺骗。