论道WP(三):应用程序栏
作者通过具体翔实的例子介绍了Winodws Phone 7中应用程序栏的使用方式。
该内容已经被标记书签!
标记书签错误,请重试!

作者 杨卫华 发布于 2011年1月21日
由于Apple的魅力,Objective-C获得了飞速发展。其他主流语言变化基本不大。从5月的Google I/O大会来看,Go语言在Google内部得到不少应用,但是社区关注点成功案例,在2010尚未明显突破。
函数式编程语言在分布式及互联网领域依然非常受重视,但是Haskell、Erlang、Scala等语言都缺少一个契机走向主流。
在TIOBE排行中,Java依旧是第一语言,但是由于Oracle收购Sun及Oracle与Google的Android官司事件给Java发展蒙上一层阴影。在年底,IBM和Apple都先后加入了OpenJDK项目,统一化了后续Java的方向。
根据国外知名技术站点HackerNews上半年前的一个投票“初创公司用什么数据库”,在1044个结果中,排行前4位是MySQL 433、PostgreSQL 249、MongoDB 138、Redis59。
从中看到MongoDB及Redis取得了众多初创公司的青睐。其中推荐关注Redis,在大量的benchmark测试中Redis基本战胜了Memcached。Redis是什么?如果你认为Redis是一个keyvalue store, 那可能会用它来代替MySQL;如果认为它是一个可以持久化的cache,可能只是它保存一些频繁访问的临时数据。Redis是REmote DictionaryServer的缩写,在Redis在官方网站的的副标题是A persistent key-value database withbuilt-in net interface written in ANSI-C for Posix systems,这个定义偏向keyvalue store。还有一些看法则认为Redis是一个memorydatabase,因为它的高性能都是基于内存操作的基础。另外一些人则认为Redis是一个data structureserver,因为Redis支持复杂的数据特性,比如List,Set等。对Redis的作用的不同解读决定了对Redis的使用方式。
在分布式存储领域,在2010年,Cassandra在年初的火爆没有持久,下半年Twitter暂停在主业务后Cassandra逐渐在业界淡出。到年底时,Facebook新的统一通讯产品突然宣布使用HBase,随后其他一些产品如淘宝的一淘也宣称使用了HBase,因此建议大型存储尤其是对Hadoop已有技术投入的公司可更投入适当力量研究HBase。
随着云计算及开放平台的发展,软件开发模式已经发生了很大的变化,传统的信息系统需要走向开放及社交平台化,需要连接Amazon、Facebook等平台。更多新的软件机会在Facebook、AppStore等社交及移动平台浮现。在平台上开发软件和传统方式有很大差异,需具备快速开发能力,以及产品上线后应对用户急速增长的压力。很多初创公司并不具备大规模服务系统开发经验,因此使用云存储及云计算是在平台上开发应用最好的选择。在国外Amazon等厂商的服务已经非常成熟,从新开发的应用到上百万用户的系统都可以使用。初创项目尽量利用已有资源,切忌一切从头开发。
年初在北京举办了QCon 2010大会,Facebook及Twitter都分享了相关技术架构,从中可以学习到大型Web2.0系统的架构设计经验,到年底以关注Web性能为中心的Velocity大会也来到了北京,Facebook分享的BigPipe等前端加速技术相信又会在业界带来前端优化的新思路。Web及前端开发不再是以Web页面开发为主,前端脚本优化为辅的思路,使用前端框架为中心驱动Web页面开发的思路才能满足动态应用速度及用户体验的要求。
关于作者
杨卫华,新浪微博架构师,对互联网后端技术及大规模分布式系统架构有浓厚兴趣,经常通过微博及博客发表技术观点。
感谢张龙对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
精益软件开发方法因其对市场和交付的重视和在各种场景下体现出的适应能力正在获得广泛的关注。特别是在精益创业(Lean Startup)渐渐兴起和技术日新月异的今天,其"极端"的思想也变得越来越必要和可行。 InfoQ就此主题对他做了深入的采访。
3 条回复
关注此讨论 回复