网页程序 vs 桌面程序
网页程序 vs 桌面程序
为什么要用网页来设计程序呢?锐某觉得这是互联网发展的必然趋势!大家也看到,云计算已经越来越流行,各种云应用如雨后春笋般冒出来,我们平时使用的大多数程序都可以通过浏览器来实现。如听音乐、看电影、看图片、玩游戏、图形与图像处理、文本编辑等等。可见,浏览器是我们平时用得最多的软件,这也是为什么各大企业纷纷推出自己的浏览器的缘故。像古狗、百度、搜狐、腾讯、淘宝、360等等都推出了自己的浏览器,他们都已经清楚地意识到了,未来的网络,浏览器的市场份额将会直接影响一个品牌的市场份额。因为桌面网站是网站未来的发展趋势,“桌面网站”的概念锐某在半年前就已经提过了,桌面网站并不是说用桌面编程语言实现的网站,而是通过一个网页来模拟零响应的本地程序,当然这不是说能达到真正的零响应,这跟安桌系统的响应速度还有些差距,但随着像 v8 这样优秀的脚本语言解释器的出现,这种差距会慢慢缩小。以目前各大浏览器的脚本语言解释器的性能来看,要将一个网页程序流畅地运行起来已经不是问题。
可以想象,当一个企业将桌面网站整合进浏览器里,不但能决定自己品牌的生死,还可以决定其它品牌的存亡。这不是吹,就拿百度来说,如果百度进行改版推出桌面网站(整个网站只有一个页面),然后将百度设为浏览器的默认首页,每当打开百度的浏览器,出现在眼前的就是百度的网站,在这个网站里可以进行各种操作,听音乐、看电影、画图、浏览其它网站的网页等等。我们已经不需要在浏览器的地址栏输入其它网站的网址去浏览页面了,我们可以在网页中浏览网页,桌面网站里还有一个历史系统,通过历史系统可以在已打开的页面间来回转换,这个比浏览器的标签栏有用得多了,浏览器的标签数量超过一定量就会使浏览器很卡,而桌面网站的历史系统是与本地缓存(localstorage)结合使用的,不会占很多内存。桌面网站除了历史系统外,还有其它一些系统,如预载系统(预先载入内容保持网页的流畅性)、缓存系统(降低浏览器的内存使用率与网络带宽)、滑动系统(实现浏览的简单化)、按键系统(提高操作的方便性)、输出系统(控制各种浮窗的显示或隐藏)、广告系统(针对不同的用户展示不同的广告,投其所好)、检索系统(所载即所需,可以按各种条件筛选)、设置系统(可以将页面风格样式与按键分配进行自定义保存在本地缓存与服务端)与帮助系统等等。
通过桌面网站的几大系统,网页程序已经与桌面程序不分高低。就拿锐某设计的“巴巴变”来说,在功能上虽说没有 Photoshop 那样强大,但在易用性方面已经超越了 Photoshop!巴巴变将全面启用滑动系统,各种浮窗可以像手机屏幕那样上下左右滑动,传统网页的丑陋的滚动条已经被全部K掉。按键系统使用按键对象实现一键多用,比如E、D、S、F在滑动内容时是上下左右滑动一屏(加按住A是滑动一行或一列);而在修改数值数据时则是+1、-1、-5、+5(加按住A则是+10、-10、-50、+50)。同一个按键,在不同的对象里有不同的操作,如此人性化的设计,目前我还没发现有哪个程序实现(应该说没有人想到),而锐某设计的巴巴变已经启用这种技巧。如果像 Photoshop 那样多的操作命令,要将所有命令都分配不同的按键,那使用者要记住的快捷键可是非常庞大的!而且很多按键已经超出了左手手指能够触碰的范围,就从这点上看,Photoshop 在易用性方面已经奥特了!巴巴变目前是二维设计,三维网页是未来的发展趋势,以后巴巴变也会推出三维设计。就网页的特性,用简单的六面体来模拟就可以了,还不至于要用到多边形来渲染物体。这个以目前的脚本语言还是可以做到的,在以后我们将可以使像乌班图系统那样酷的3D网页。巴巴变是用 vvs(vml+svg=shape)进行图形设计的,所以不用担心浏览器的兼容问题,对于支持svg的就用svg渲染,否则用vml渲染,目前只有IE9以下的版本不支持svg,vml与svg的区别就是vml不支持透明渐变,vml在设置透明渐变时有黑边,但如果边线不是曲线的话这点问题不用担心。动画设计目前正在测试中,在未来,ssa动画(js+css=animation) 可能会取代 flash 动画成为主流的动画格式,flash要装插件才能播放,而ssa什么都不用装就能用各种浏览器进行播放,如果巴巴变以后推出三维设计,要制作 ssa 动画视频是非常方便的,现在要考虑的是如何解决声音同步问题。
经过上面对巴巴变的简单介绍,大家可以看到网页程序也可以做得很强悍,这也就可以想像各大巨头会如此拼命地抢浏览器市场了。网页程序还有些桌面程序没有的优点,就是网页程序是在线的,无需下载,打开网页就可以使用,随时随地,想用就用,没有地域的限制。在公司做不完的工作可以在家里打开网页继续做,我们的数据都保存在云端,再也不用把文件装U盘里了。另外,在线程序对数据的共享也提供了得天独厚的方便!比如你可以将用巴巴变设计的一个按钮模块、一款渐变色板、一副卡通人物表情或发型分享到网络库里,当别人进行设计的时候完全不用自己动手设计,只需从共享库里选择适当的元件就可以了,如此可以大大缩短工作周期与降低创作难度。
最后说点杯具的事,“巴巴变”是个很好的名字,用在网页设计这种类型的程序上非常适合,比如你对一个节点对象进行各种样式的设置或对一个卡通人物的表情进行选择,只要用鼠标随便点几下就能变出满意的效果。这个名字来自锐某小时候看过的一部动画片“巴巴爸爸”,这个魂淡很善变,只要说一声“克里克里,巴巴变!”就能变出各种东西来。我为巴巴变设计标志时就是从它得到灵感想到变幻线,进而设计出现在的标志:http://pan.baidu.com/disk/home#dir/path=%2FImage%2Flogo%2F%E5%B7%B4%E5%B7%B4%E5%8F%98。这个被认为自己目前为止设计过的标志中最有创意的一个,当我完成这件作品的创作时才发现“巴巴变”这个名字已经被一家网络相册的网站用了,杯具呀~~~,无奈只好为巴巴变重新起一个名字了,目前暂时没想到比较好的名字,如果到巴巴变上线时还没想好就只能向社会征集了。
网易博客:http://rybby.blog.163.com/
新浪博客:http://blog.sina.com.cn/rybby/
搜狐博客:http://rybby.blog.sohu.com/
和讯博客:http://rybby.blog.hexun.com/
CSDN博客:http://blog.csdn.net/rybby/
ITeye博客:http://rybby.iteye.com/
博客园:http://www.cnblogs.com/rybby/
开源社区:http://my.oschina.net/rybby/
百度空间:http://hi.baidu.com/rybby/
QQ空间:http://user.qzone.qq.com/898056025/
网页程序 vs 桌面程序的更多相关文章
- 用python进行桌面程序开发
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所 ...
- 桌面程序的其他实现方式----使用WPF窗体展现网页
需求 在WPF应用程序中,需要使用到WEB项目的资源,第一时间想到的就是在WPF窗口中,展现WEB项目中的页面,这样子有两点好处:一是,实现简单,不需要在WPF应用程序中实现UI布局和数据绑定:二是, ...
- .NET桌面程序集成Web网页开发的多种解决方案
系列目录 [已更新最新开发文章,点击查看详细] B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm.WPF客户端程序依然具有很实用的价值,如设计类软件 Au ...
- 用node-webkit(NW.js)创建桌面程序
以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...
- 突破短板,传统桌面程序 使用webapi 扩展迎合web和移动端融合的需求
传统桌面程序不能完全被web和移动端替代,但是需要改造.这里要说的是巧用webapi把以前用dll和com组件,ocx等方式做接口,做分布式开发的方式,改成restful 风格api的方式实现跨平台, ...
- HTML如何编写为桌面程序
学过/用过HTML的人应该都知道HTML是标记语言,是在网页上执行/使用的,在这里小编告诉你HTML也可以用来做桌面程序,这种桌面程序一般是微客户端 工具/原料 html dreamweaver ...
- 结合BeautyEye开源UI框架实现的较美观的Java桌面程序
BeautyJavaSwingRobot 结合BeautyEye开源UI框架实现的较美观的Java桌面程序,主要功能就是图灵机器人和一个2345网站万年历的抓取.... 挺简单而且实用的一个项目,实现 ...
- tkinter + cefpython 仿美团桌面程序
使用js开发桌面程序目前是一个趋势,Electron是其中一个佼佼者,网上也不乏很多文章.今天主要是来讲一下cefpython. 用python的朋友,特别使用过tkinter开发过界面的,一定会觉得 ...
- 迁移桌面程序到MS Store(11)——应用SVG图标
在传统桌面程序中,对图标的使用大多是直接嵌入JPG或者PNG的图片.在祖传的1366x768分辨率下,并没有什么问题.相对于手机硬件的突飞猛进,也侧面反映了PC行业的落寞和桌面程序开发的不思进取.用3 ...
随机推荐
- tomcat manager
在点击tomcat manager的时候提示以下内容: You are not authorized to view this page. By default the Host Manager is ...
- appcan更新
升级用到了config.xml文件中配置的‘更新地址‘所填写的url,此url开发者可任意配置自己的服务器地址* 当app执行uexWidget.checkUpdate()时,AppCan会请求上述u ...
- 解决selenium不支持firefox低版本的问题
解决selenium不支持firefox低版本的问题 在火狐浏览器升级后,突然发现webdriver运行脚本的时候不能调出火狐浏览器了,并报错WebDriverException:Message:'C ...
- 关于oracle数据库
Oracle数据库是做什么的? oracle数据库和其他数据库一样,都是保存数据的,同时可以去查询,修改,删除等oracle和其他数据不一样的地方在于,它又复杂的机制可以保证在数据库服务器突然坏了的情 ...
- hdoj2859(矩阵DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 思路: 第一次碰到这种矩阵上的DP题,想了半天也没想明白.本来想用子矩阵的左上角坐标和右下角坐标 ...
- 运算符重载(C++)
一.运算符重载机制: 一元运算符: @obj => operator @(obj) 二元运算符: obj@obj2 => operator @(obj,obj2) 注意:前置++.--与一 ...
- Python sum() 函数
Python sum() 函数 Python 内置函数 描述 sum() 方法对系列进行求和计算. 语法 以下是 sum() 方法的语法: sum(iterable[, start]) 参数 ite ...
- centos安装Python插件后找不到对应的插件ModuleNotFoundError: No module named*
题记 在之前的文章中,我在centos服务器装了python3并且给python与pip建立了软链,利用git上传代码到centos服务器之后利用终端运行app.py的时候会报错. 报错: [root ...
- 解决安装Apache中出现checking for APR... no configure: error: APR not found. Please read the documentation的问题
Linux中安装Apache 编译出现问题: 解决办法: 1.下载所需要的软件包 wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz wg ...
- MVC扩展HtmlHelper,加入RadioButtonList、CheckBoxList、DropdownList
代码: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions ...