存档

作者存档

HTML5 和 Flash 之争

2010年7月27日 5 条评论 3,741 人阅读    

文章来源

二者之间的竞争会演变成为一场“战争”吗?(现在甚至出现了可以把Flash转成Javascript/HTML5的工具)

首先需要弄清楚二者之间最主要的区别,HTML 是一种语言(超文本标记语言 – HyperText Markup Language),而 Flash 是 Adobe(其收购了Macromedia)公司的一个浏览器插件(Plugin)。HTML5 目前还是 W3.org 规范中一个草案,这意味着其还没有最终定案,希望到 2012 年这项工作能够完成。

以下是二者各自的一些特点:

HTML5

这个新的技术更为易学和易用,比较 .FLA 和 .SWF 文件更容易编辑。并且基本上过去所有由 Flash 才能制作的动画效果都能够使用 JS + HTML5 + CSS 3 来完成,不过工作量可能会更大一些,不仅文件尺寸会增大,性能方面也会有影响。

以前为 Web 表单设定风格我们一定需要使用到 JavaScript, 但是 HTML5 中的 contenteditable 属性让我们可以做得更多。一些新的输入类型(Types of Inputs)也被加入到 HTML5 中,如:电子邮件,数字,值范围等等。

用户不仅仅需要一个支持 HTML5 的浏览器,还需要 CCS 3 和新的 JavaScript 引擎的支持。

免费(不包括第三方字体和音频视频等等)

更好地移动设备支持(HTML5 正在被运用于 iPhone,iPod,iPad 和 Android 应用的开发)

拖拽,事实上这不是 HTML5 的一部分,但是在新版本的 GMail 中,从桌面拖拽文件到浏览器能够用 HTML5 很好地实现。对于 Flash 我不知道这是否可以实现?

阅读全文…

分类: Web开发, 技术读物 标签: , ,
好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.75 )
Loading ... Loading ...

Kent Beck 谈单元测试和持续部署

2010年7月22日 1 条评论 895 人阅读    

文章来源

2010年7月2日,Roy Osherove 和 Kent Beck 在 blog.typemock.com 进行了一次对话,话题涉及单元测试(Unit Testing),JUnit Max(Kent 开发的一个单元测试的 Eclipse Plugin,不免费),和面向初创企业的精益方法(Lean Startups)。

单元测试和 JUnit Max
作为软件开发方法学的大师、极限编程XP的创始人、敏捷宣言的创始人之一,Kent Beck 一直在努力最大化地利用单元测试的价值,他说一些程序员仍然认为单元测试并不是他们的工作,但是单元测试确实能够提高软件的质量。目前他正在开发 JUnit Max,这是一个 Eclipse plugin,每当程序员保存一个 Java 源文件的时候,JUnit Max 就会运行测试并报告反馈信息。测试中的错误将会如同编译错误一样被报告给程序员。JUnit Max 的核心思想是测试错误应该和编译错误一样被 IDE 报告给程序员,程序员不需要额外的菜单选项或者运行其他的工具来运行测试。特别是那些经常失败的测试,对于程序员来说是非常有价值的反馈信息。在测试驱动开发(Test Driven Development – TDD)中,我们重复着这样一个循环:“编写一个‘失败’的测试(Failing Test)” – “编码实现功能以便让测试通过”,随着开发的深入,测试越来越丰富,测试能够反馈给程序员的信息也越来越多,它们可以帮助程序员找出那些需要改进的代码。JUnit Max 能够缩短这个循环的周期,因为它更为频繁地运行测试和提供反馈。Roy 问道:“当你一个人编码的时候,你是否严格地遵循 TDD,即一定要先写测试,然后写实现代码。我个人发现这并不是一件容易做到的事情,特别是当一个人编码的时候。” Kent 回答:“视情况而定,有时候并不需要死板地遵循 TDD,比如当我在做一些探索性或者说实验性的编码时,并不需要写测试,因为我只是想尝试一下某些功能和特性。”

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 4.71 )
Loading ... Loading ...

为什么敏捷方法能在软件开发中行之有效?

2010年7月18日 2 条评论 1,907 人阅读    

文章来源 – Martin Fowler 和 Neal Ford 在 Paris – USI 2010 的演讲

有很多的书籍讨论敏捷方法是怎样工作的(How it works?),在这个主题演讲中,Martin Fowler 和他的同事 Neal Ford 讨论了敏捷方法能够在软件开发项目中行之有效的原因(Why it works?)。作为敏捷方法的发起人和传道者,Martin Fowler 和 ThoughtWorks 一直试图从理论层面证明敏捷方法的可行性,同时不厌其烦地解答着客户们的各种困惑,正如他们所说,敏捷方法中的很多概念不是特别的直观,除非人们真正实践过一段时间,否则有些概念很难从字面上去完全理解。

Martin Fowler 谈到一个有意思的现象,那就是今天许多人们口中谈论的敏捷方法,和最初的敏捷方法大相径庭,他把这种现象称为“语义扩散(Semantic Diffusion)”,大意是某种思想在传播的过程中,在逐渐扩散的同时,其语义也渐渐变得模糊。在敏捷开发领域里,“语义扩散”导致的一个问题是,在一些使用敏捷方法的项目或者公司中,我们甚至无法辨别出敏捷方法的影子,原因是很多人没有真正地理解敏捷方法,也就不能够正确地运用和实践,从而也就无法真正了解自己是否能够从敏捷方法中获益。

以下是为什么敏捷方法行之有效的原因:

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 4.71 )
Loading ... Loading ...

如何在低速率网络中测试 Web 应用

2010年7月9日 6 条评论 1,457 人阅读    

大家看到标题后的第一个问题可能是:“我们需要这样做吗?”

如果我们开发的是局域网 Web 应用的话,可能没有必要这样做。但如果我们的 Web 应用面向的是互联网上的成千上万的用户,这样做就很必要了。因为在现实世界中并不是所有的用户都有高数率的网络连接,也许用户使用的是拨号接入,移动设备,3G,或者是 USB 网络加密狗。如果我们没有在低数率的网络环境中测试过我们 Web 应用,极有可能在上线后收到一些意想不到的关于系统性能方面的抱怨。这个时候无论我们的 Web 应用界面多么地 Web 2.0,功能多么地强大,对于用户来说都失去了使用价值。

目前有很多工具能够模拟慢速网络,值得一提的是 Firefox Throttle,这是一个 Firefox 插件,你可以设置上载和下载的数率,并且监控当前带宽的使用情况。另一个非常有用的特性是它可以控制你的 localhost 的连接数率,对本地测试很有用。

Firefox Throttle 的截图

另一个工具是 Sloppy,它是一个 Java Web Start application。

文章来源

分类: Web开发, 杂项资源 标签: ,
好烂啊有点差凑合看看还不错很精彩 (2 人打了分,平均分: 4.50 )
Loading ... Loading ...

Eclipse 3.6 (Helios)新特性

2010年7月7日 5 条评论 3,805 人阅读    

2010年6月23日 Eclipse 3.6 Helios 正式发布,对 Java 程序员来说有哪些新特性值得关注?

1、检查并报告是否有缺失的 @Override 注解,此功能仅对 Java 1.6 版本适用。在以前版本中,当我们为一个方法加上 @Override  注解,但是这个方法实际上并没有过载(override)任何父类的方法时,将会得到警告信息。在新版本中,如果我们忘记为一个过载方法加上 @Override 注解,同样也会得到警告信息。

2、变量视图中新增了一个列用于显示当前变量类型的实例数(Layout -> Select Column)。

3、Java 视图中的包名称可以用自定义的规则来显示(Window –> Preferences –> Java –> Appearance)。

阅读全文…

好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 4.25 )
Loading ... Loading ...

参透软件开发的本质 – Uncle Bob Martin 推荐的经典书籍

2010年7月5日 5 条评论 2,865 人阅读    

数量级25(10^25)是 Uncle Bob 在 RailsConf 演讲的主题。如果你用一台 PDP 8( 1960年代的计算机)和 Mac PowerBook 做比较的话,你会发现 Mac PowerBook 比 PDP 8 快8000倍,有6百万倍大的内存,11000倍的耗能,1500倍的容量等等。如果将这些0累加起来,很容易达到10^25。在过去40年里,我们的硬件计算能力获得了10^25倍的提升,而作为软件开发人员的我们并没有利用这些计算能力来提升多少我们的软件开发能力。没错,我们是写了不少的代码,但是它们基本上都是一些顺序语句,if 语句,和 while 循环等,没有什么新鲜的东西。你可能会说面向对象是新东西呀,但是那只是另外一种组织顺序、选择和迭代等语句的方法而已。除我们现有的编程语言之外,如果有新的编程语言能够产生并创造新的“微积分学”,从而将软件开发提高到一个新的高度,将会是一件非常令人期待的事情,因为顺序语句,选择语句和迭代等最终将成为历史。

Uncle Bob 认为以下四本书是软件开发人员必须阅读的,并由他自己来排名。

1. The Structure & Interpretation of Computer Programs 计算机程序的构造和解释 (By Harold Abelson & Gerald Sussman)

书中使用的是 Scheme 语言(Lisp 的一个变种),此书的内容曾经是 MIT 计算机系的一门课程,当然现在已经不是了。

2. Structured Programming 结构化程序设计 (By Edsger W. Dijkstra)

相信软件专业的同学们都上过此课程,我们的启蒙书籍。这本书讨论了 go to 是怎样的邪恶,同时也讨论了面向对象。对比一下今天我们视为 best practice 的测试驱动开发(TDD),go to 在过去也曾经是 Fortran,Cobol 等语言的核心。

3. The Annotated TURING (By Charles Petzold)

Uncle Bob 令人尴尬地忘记了这本书的名字,他自嘲说自己从来记不住这本书名。但是此书在他的推荐列表中列第三位。

4. Clean Code (By Robert C. Martin)

Uncle Bob 本人的大作。

我的一位同事将这位 Uncle Bob 视为软件开发领域中的上帝,Uncle Bob 这位大师在当下各类编程语言和平台层出不穷的时候,在我们为该学什么语言买什么书举棋不定的时候,推荐给读者这几本经典,也许是煞费苦心地想让我们参透软件开发的本质吧。不过会不会也是因为我们都在慢慢变老,许多旧的东西如今又变成了新鲜有趣的事情啦?(出自采访记者之口)

文章来源

好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.67 )
Loading ... Loading ...

DEMO Spring 2010 获奖产品

2010年3月28日 没有评论 593 人阅读    

文章来 mashable.com

在刚刚结束的 DEMO Spring 2010 中,执行制作人 Matt Marshall 宣布了获得 DEMO 大奖的各类 IT 产品,以及由大众评选出的最佳产品,作为奖品, DEMO 将为该产品提供价值100万美元的 IDG 广告宣传。以下是各类奖项的归属:

移动产品 Zosh

Zosh 是一个 iPhone 应用。有了Zosh,你无需使用扫描仪或者传真机即可实现对文档签名,Zosh支持的文档格式有:PDF,Office,以及图像文档。点此处查看 产品详情

具体操作方法:

1. 打开邮件中的附件文档,将其发送至Zosh(本地)。

2. 在Zosh中打开该文档,使用手写输入签名。

3. 将签名作为一个“图层”合并到文档中。

社交和媒体产品 Everloop

Everloop 是一个网络社交应用,目标用户是8到13岁的儿童。其现在是一个 White Label 产品(由一个公司开发,但由其他公司进行再包装和市场营销的产品),很快将会独立运营。

阅读全文…

分类: 业界新闻 标签:
好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 4.67 )
Loading ... Loading ...

别只谈系统备份,谈谈怎样恢复系统吧!

2010年3月25日 没有评论 1,653 人阅读    

文章来源 JoelOnSoftware.com

很久以前就看到这篇文章,它给了我很深刻的印象,搜索了一下 JoelOnSoftware 的中文 Wiki,似乎也没有此文的中文版,那就让酷壳来完成吧。

  • 你备份你的系统了吗?
  • 你备份服务器了吗?
  • 你的备份是否存放在另一台机器中?
  • 你是否有异地备份?

以上都是非常好的问题,也都是很好的备份习惯。

不过,让我们别再只谈备份了,因为仅仅备份是远远不够的。资深的系统管理员们都会告诉你他们有完美的备份计划,但是问题往往发生在当你需要恢复系统的时候:

  • 备份文件被密钥加密,而遗失或损坏的恰恰就是存放密钥的那台机器。
  • 存放着大量配置信息的 IIS 元数据库恰好没有备份。
  • 备份文件一直被拷贝到一个限量2GB的FAT分区,多出来的数据被默默地抛弃掉了。
  • 你的备份都在一个LTO磁带上,磁带已经和数据中心一起遗失或损坏了(911?)。
  • 即便你有了备份,仍有可能遇到许许多多的意外情况。

所以,保证基本的系统安全不仅仅取决于你做了备份,还在于你是否能够成功恢复备份。如果你在运营一个 WEB 服务,你需要向我展示你能够在合理的时间内,在一台新的服务器或者是和原来的数据没有任何关系的服务器上,使用近期备份的数据还原出整个网站。

让我们不要再问人们是否做了系统备份,而是问他们是否能够恢复系统。

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.63 )
Loading ... Loading ...

Martin Fowler 在 ThoughtWorks 内部关于版本控制工具的调查

2010年3月13日 6 条评论 940 人阅读    

文章来源 martinfowler.com

从2010年2月23日至3月3日,Martin Fowler 在 ThoughtWorks 内部通过开发人员邮件列表进行了一个关于版本控制工具的小调查,共收到99个回复。下面是调查选项定义和调查结果:

  • 非常好 (如果不是最好也非常接近了)
  • 还行 (不是最好,但是我还是愿意使用)
  • 问题多多 (我可能会因此强烈建议我的团队使用其他同类工具)
  • 危险 (非常糟糕的工具,我认为 ThoughtWorks 不应该使用它)
  • 不知道 (我还没有使用过此工具)
  • 回复数 (对此工具的回复总数,包括“不知道”选项)
  • 好评率 ((“非常好”+“还行”)/回复数)
名称 非常好 还行 问题多多 危险 不知道 回复数 好评率
Subversion 20 72 6 1 0 99 93%
git 65 19 1 0 14 85 99%
Mercurial 33 27 2 0 36 62 97%
ClearCase 0 3 14 41 41 58 5%
TFS 0 0 32 22 44 54 0%
CVS 0 14 59 11 15 84 17%
Bazaar 1 13 3 0 80 17 82%
Perforce 1 26 16 1 54 44 61%
VSS 1 1 11 64 22 77 3%

Martin Fowler 补充道:

  • Subversion,git,和 Mercurial 都得到了较高的好评率,git 得分最高。
  • 大部分人认为 VSS 很危险,不过也有一两个人认为它还不错。
  • 大家都不太喜欢 TFS 和 ClearCase,并认为 ClearCase 更为危险。
  • 我们不用太拘泥于具体数据,特别是对于那些不好的工具的差评都无太大区别,而对于那些优秀的工具的好评却很有一些不同。

Martin Fowler 反复强调这只是一个公司内部的调查,并无误导市场的意思,大家如果感兴趣的话可以点击 文章来源 阅读原文,以及另一篇关于版本控制的文章 VersionControlTools

好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 3.33 )
Loading ... Loading ...

Titanium – 桌面和移动应用开发平台

2010年3月10日 3 条评论 1,525 人阅读    

文章来源 www.readwriteweb.com

2010年3月8日,Appcelerator 公司发布了 Titanium 的 1.0 版本。 Titanium 是一个桌面和移动应用程序开发平台,基于此平台,开发人员可以使用标准的 WEB 技术如 HTML,JavaScript,和 CSS 来开发桌面和移动应用程序。

和其他开发平台所宣传的开发移动应用无需理解本机代码不同, Titanium 允许开发人员使用他们熟悉的编程技术来开发本机(native)移动应用,同时效果和功能与那些使用平台特定语言编写的应用相同,如可以操纵内置相机、播放视频流等等。 Titanium 的产品代码在近几个月内得到了优化,在性能方面得到了多处改进,加载时间由原来的10-20秒下降为3秒,页面切换非常迅速,处理速度提高了5倍。同时还增加了一些新的功能,如超过100个本机界面控件,2D 和 3D 动画及媒体处理机能。有了这些方面的增强,开发人员可以在 Titanium 支持的平台上开发品牌化应用, 休闲游戏, 以及增强现实应用。

当被问到 Titanium 与其他开发平台的不同之处在哪里时,公司的营销副总裁 Scott Schwarzhoff 解释道:“很多我们的竞争者经仅仅是将 WEB 应用曲解为本机应用提供给客户,而没有提供真正的本机应用解决方案”。提供本机界面(超过100个本机API)的只有我们一家公司,同时我们还提供推通知服务,本机地图,Facebook连接,应用数据分析,增强现实应用,将来还会有更多特性。

自2009年6月以来,Titanium 开发平台吸引了超过27000名开发人员对公司所谓“本机优势”概念的兴趣(阅读详情)。其中包括对本机控件的支持,基于位置的服务,社交共享,HTML 5,在线和设备内置数据库,集成数据分析,丰富的多媒体等等。

Appcelerator 承诺在3月份的第三周支持苹果的新平板设备,包括几周后即将发布的 iPad。对黑莓的支持将于五月或六月间发布。Titanium 的社区版本完全免费,专业版本不免费,但是提供技术支持,数据分析以及对新版本的预览。

Titanium 支持的平台包括: PC, Mac,Linux,最新版本则支持 iPhone 和 Android,Appcelerator 公司即将发布对黑莓和苹果 iPad 的支持。

好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 3.67 )
Loading ... Loading ...

无觅相关文章插件,快速提升流量