博客

  • PHP REST API Frameworks

    PHP REST API Frameworks
    Posted on 15 May 2013
    What is the best PHP RESTful API Framework for my project?

    A number of articles on websites strive to give directions which RESTful API frameworks should be chosen whereas in fact there is no “one fits all” solutions that suit different purposes or technologies. Another question is whether to go for Model-View-Controller (MVC) or Resource-Method-Representation (RMR) model.
    Therefore, herewith a compiled list of some most popular and actively developed PHP REST API frameworks worth consideration and further evaluation on your project basis:

    Epiphany

    The Epiphany framework is fast, easy, clean and RESTful. The framework does not do a lot of magic under the hood. It is, by design, very simple and very powerful.

    The documentation provides a few conventions that we believe lead to well written code but you’re free to use any style you’d like. The framework never dictates how you should write or structure your application.

    https://github.com/jmathai/epiphany

    Fat Free

    A powerful yet easy-to-use PHP micro-framework designed to help you build dynamic and robust web applications – fast!

    Super lightweight code base with just ~55kb
    Full-featured toolkit
    Easy to learn, use and extend
    Fast and clean template engine
    Unit testing toolkit
    Database-managed sessions
    Markdown-to-HTML converter
    Atom/RSS feed reader
    Image processor
    Geodata handler
    On-the-fly Javascript/CSS compressor
    OpenID (consumer)
    Custom logger
    Basket/Shopping cart
    Pingback server/consumer
    Unicode-aware string functions
    SMTP over SSL/TLS
    Tools for communicating with other servers
    Data Validation
    and more Plugins from the F3-Community
    http://fatfreeframework.com

    Flight

    Flight is a fast, simple, extensible framework for PHP. Flight enables you to quickly and easily build RESTful web applications.

    http://flightphp.com

    Frapi

    Frapi is a high-level PHP REST API framework that powers web apps, mobiles services and legacy systems, enabling a focus on business logic and not the presentation layer.
    FRAPI handles multiple media types, response codes and generating API documentation. It was originally built by echolibre to support the needs of their client’s web apps, and now it’s been open-sourced.

    http://getfrapi.com/

    Guzzle

    Guzzle takes the pain out of sending HTTP requests and the redundancy out of creating web service clients. It’s a framework that includes the tools needed to create a robust web service client, including: Service descriptions for defining the inputs and outputs of an API, resource iterators for traversing paginated resources, batching for sending a large number of requests as efficiently as possible.

    All the power of cURL with a simple interface.
    Persistent connections and parallel requests.
    Streams request and response bodies.
    Service descriptions for quickly building clients.
    Powered by the Symfony2 EventDispatcher.
    Use all of the code or only specific components.
    Plugins for caching, logging, OAuth, mocks, and more.
    Includes a custom node.js webserver to test your clients.
    http://guzzlephp.org

    Kohana

    An elegant HMVC PHP5 framework that provides a rich set of components for building web applications.

    Many common components are included: translation tools, database access, code profiling, encryption, validation, and more.
    Use specific libraries and tools: extending existing components and adding new libraries is very easy.
    Write commercial applications: uses the BSD license, so you can use and modify it for commercial purposes.
    A very fast framework: benchmarking a framework is hard and rarely reflects the real world, but Kohana is very efficient and carefully optimized for real world usage.
    Good debugging and profiling tools: simple and effective tools help identify and solve performance issues quickly.
    Know what the framework is doing: very well commented code and a simple routing structure makes it easy to understand what is happening.
    Work with objects and classes: an OOP framework that is extremely DRY. Everything is built using strict PHP 5 classes and objects.
    Write your own code: there are no code generators and endless configuration files, so setting up is fast and easy.
    Community support: a very active community forum and IRC channel means that most questions are answered very quickly.
    http://kohanaframework.org

    Laravel

    Laravel is a clean and classy framework for PHP web development. Freeing you from spaghetti code, Laravel helps you create wonderful applications using simple, expressive syntax. Development should be a creative experience that you enjoy, not something that is painful. A well written documentation is a big plus.

    Advantages over other frameworks:

    Bundles
    The Eloquent ORM
    Application Logic
    Reverse Routing
    Restful Controllers
    Class Auto Loading
    View Composer
    The Inversion of Control (IoC) container
    Migrations
    Unit-Testing
    Automatic Pagination
    http://laravel.com

    Recess

    You should enjoy PHP development. That’s why Recess exists. Recess is a RESTful PHP framework designed to give you a delightful development experience.

    Tools included for every developer
    Declarative PHP with annotations
    Stays out of your way, not in it
    Loosely coupled Model-View-Controller
    Create RESTful APIs with Ease
    D.R.Y. in philosophy & practice
    Caching-oriented architecture
    Open source under MIT license
    http://www.recessframework.org

    Restler

    A RESTful API server framework that is written in PHP that aids your mobile / web / desktop applications. A framework, but with a difference – Restler is all here to bend and mend to your needs. Turn your classes and its methods into an easily usable and better Web citizen with Restler.

    Writing Server is made easy and light with just 3 PHP files
    Simplicity through writing object oriented PHP like
    Public methods are automatically mapped to a URL
    Customization options and plugin architecture
    Supporting for different formats like json, xml, yaml, amf, plist and custom formats
    Support for different authentication schemes allowing to add your own auth plugins
    http://luracast.com/products/restler

    Slim

    Slim is a lightweight PHP micro framework for simple yet powerful web applications and APIs.

    Powerful router
    Standard and custom HTTP methods
    Route parameters with wildcards and conditions
    Route redirect, halt, and pass
    Route middleware
    Template rendering with custom views
    Flash messages
    Secure cookies with AES-256 encryption
    HTTP caching
    Logging with custom log writers
    Error handling and debugging
    Middleware and hook architecture
    Simple configuration
    http://www.slimframework.com

    Symfony2: FOSRestBundle

    This bundle provides various tools to rapidly develop RESTful API’s & applications with Symfony2. Features include:

    A View layer to enable output and format agnostic Controllers
    A custom route loader to generate url’s following REST conventions
    Accept header format negotiation including handling for custom mime types
    RESTful decoding of HTTP request body and Accept headers
    Exception controller for sending appropriate HTTP status codes
    https://github.com/FriendsOfSymfony/FOSRestBundle

    Symfony2: Silex

    Silex is a PHP microframework for PHP 5.3. It is built on the shoulders of Symfony2 and Pimple and also inspired by sinatra.

    A microframework provides the guts for building simple single-file apps. Silex aims to be:

    Concise: Silex exposes an intuitive and concise API that is fun to use.
    Extensible: Silex has an extension system based around the Pimple micro service-container that makes it even easier to tie in third party libraries.
    Testable: Silex uses Symfony2′s HttpKernel which abstracts request and response making it very easy to test apps & the framework itself.
    Respects the HTTP specification and encourages its proper use.
    http://silex.sensiolabs.org

    Tonic

    A resource focused PHP RESTful API library where everything useful is a resource located by URLs.

    URI annotations
    Content negotiation
    Method conditions
    Mount points
    http://peej.github.io/tonic

    Wave Framework

    A compact PHP micro-framework built loosely on model-view-control (MVC) architecture and factory method design pattern. It is made for web services, websites, info-systems and is built around a native API architecture, caching and smart image and resource management. Wave is a framework that does not include optional libraries with a very small footprint, lightweight and speed in mind.

    Wave comes by default with a view controller and a gateway intended for website functionality with clean URLs that also incorporates a front-end JavaScript controller.

    Modern API-centric framework for PHP versions 5.3 and above
    Secure API requests with hash validation, token and key-based authentication
    Dynamically loaded Hierarchical MVC objects through Factory pattern
    API returns XML, CSV, JSON, HTML, native PHP and other data formats
    Compressed data output with Deflate and Gzip
    Input and output data is fully UTF-8
    PDO-specific database controller for general-use database connections
    Index gateway and Handlers for all types of HTTP requests
    Caching system with tagging support for all types of dynamic and static requests
    View and URL Controllers that support multiple languages and clean URL’s
    Users and permissions control
    jQuery JavaScript framework supported
    On-demand dynamic image resizer and editor
    On-demand resource compression, unifying and minifying
    Automatic sitemap.xml and robots.txt generation
    Automatically generated API documentation
    API wrapper classes that make browser and server to server communication easy
    256bit Rijndael encrypted data transmission
    API Observers for creating event-specific listeners
    Installation-specific MVC class and resource overrides
    Custom on-demand session handling
    Request limiter that can block HTTP requests under certain conditions
    Request logger that can be used for detailed performance grading of HTTP requests
    Debugging, backup, update and filesystem maintenance tools
    Compatibility script that tests support for server setup
    Supports Apache and Nginx servers in Linux and Windows environments
    Test Suite for API Testing
    Filesystem caching, database cache, APC and Memcache supported
    100+ pages of detailed documentation and tutorials
    Licensed under GNU Lesser General Public License Version 3
    http://www.waveframework.com

    Yii

    Yii is a high-performance PHP framework best for developing Web 2.0 applications. It comes with rich features: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly.

    http://www.yiiframework.com/

    Zend: Zend_Rest_Server

    Zend Framework 2 is an open source framework for developing web applications and services using PHP 5.3+. Zend Framework 2 uses 100% object-oriented code and utilises most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures…

    http://framework.zend.com

  • 老领导的退职

    差不多10多年前,他来到公司后,基本上就一直是我的领导。

    现在突然提出了离职。其实也不算突然,在最近一年的外部环境急转直下,老领导已经显得筋疲力尽。一方面是要面对上层不近人情的施压,另外又要面对我们这些嗷嗷待哺的手下。在有些时候已经开始力不从心。

    但是我们依然围绕在他的身旁,支持他,相信他能带领我们事业部走出困境。可是因为最近发生的各种事情,最后他被转成了副职。本来这个方向是他所希望的,终于在上面会有一个人帮他遮挡风雨了。可是,渐渐地还是想通了,无论是什么职位,其实有些事情是躲不过的。而恰恰此时,似乎离开也不在像之前那样波及巨大。于是乎,就有了开头的一幕。

    人要离开了,就会更加理解他在的时候发挥的不可替代的作用。老领导日语专业出生,接待日本客户自有一手。于是我们每次都躲在他的身后,觉得这理所当然。可是当没有了依靠,我们几位都有点慌了神。一位老领导私交甚笃的客户,是另外几个人的项目的直接实权者,所以他们就更加担心,老领导一走,是不是所有的努力就会白费,所有的成果就会嘎然而止。

    4年前,我说另外一个老领导,说是不关心手下的生存,只想着自己早点解脱。这次我不会在那么想了,因为那个时候我只是一个项目Leader,我认为越往上权力越大,能控制的事情也越多。其实我错了,越往上,就会越发现其实能改变的东西实在太少太少。而这个时候,正赶上10年一遇的差年,换做谁,都只能去熬。如果有点机会,能让自己心安理得,又能得到解脱,又何乐不为呢。

    部门被拆散,老领导走之前,我们旧部门同事一起喝酒。大家骂了很多公司的不是,也惆怅了很多一年来的忙忙碌碌的变化。2012年底,2部分拆了。本来10个人的领导团队,变成了6人。2013年底,6个人继续被拆成3个人的团队。真心不知道为什么会变成这样。想必我们的老领导也是不想的。

    好吧,也许这就是他的解脱。对于我们也许是危难,也许就是突破。总之,留下的人只要还在这里,就必须并肩继续往前走。走吧,走吧,前方谁也不知道。

  • 元旦祝福

    今天是2014年元旦。

    首先是工作方面,

    对于过去的一年,从最开始山雨欲来风满楼,到不得不疲于应付一次又一次的打击,逐渐心态越来越浮躁,也越来越迷惘,博客也从每月10几篇,缩减到几个月一篇。就基本能够反映出这段时间自己的状态。

    明年,我想也不至于会否极泰来,应该是一个调整的一年。既然是调整,自然会有两种可能。也期望自己能够在这一年,真正找到自己新的开始或平台。

    其次是生活方面

    唯逐渐长大,虽然还不能喊出“爸爸”,但是和唯一起成长的日子,真的很幸福。也许如果没有这份きずな的感染,工作上的烦恼和迷惘会把自己击垮也说不定。

    明年,我想唯一定会成长的更快,更懂事。祝福他身体棒棒,一生平安。

    也许一些冥冥之中的感觉,工作上的不顺,寄托给了2011年那次的栖霞山的许愿。那此的愿望实现了,因为唯顺利出生。而去年的还愿却因为一些原因而迟迟不能成行。在最近得知同事孩子突然生病住院的消息后,我决意去栖霞山去还愿。没有红叶,也没有如潮的人流,在上周日阳光和蓝天下,我还了愿,在那棵巨大的银杏树前,像2011年那次一样,系上了一根许愿红布条。我相信,诚如前一次的应验,菩萨也能保佑我和我的家人,让这段悠长的迷惘和疲惫的假期画上一个句号。

    在栖霞山上,执意想带唯去看看长江。推着唯的小车,吃力的前行,目标达到了,唯却在一路摇晃中呼呼的睡着了。一对中年夫妻,和我闲聊,说你一个人把娃娃带上来真不简单。看到唯的脸,我感到一种特别的幸福的感觉。我会用我的一生来保护你,支持你,看着你成长,看着你的快乐。。。

    2013-12-28 11.38.22

  • 写在新部门成立之际的发言

    对于新部门,有两个目标,一个是让我们活下去,就是把我们传统的离岸外包工作继续做好,做强。另外一个就是为了让我们今后能活得更好,将部门的特色凸显出来,打造好Smartphone开发的这张名片。

    为了实现这两个目标,想用16个字来概括今后的行动方式

    稳中求进;险中求胜;破中求立;减中求精

    这是从各个角度来考虑实现这两个目标。稳中求进,代表了我们部门的一大特色,大部分的稳定的包人开发,但这也要求我们稳住目前开发规模的同时,能够寻求突破,取得扩大和进步。险中求胜,反映了Smartphone开发的一个特点,客户可以用一个PPT资料就来询价。如果按照传统的报价方式,相比那些甚至是工作室的开发团队,几乎没有任何竞争力。可是没有外包的机会,就不可能有积累,这也导致下次的报价更加没有优势。所以必须敢于承担那些未知的风险,取得机会,争取胜利。即使交一些学费也是值得的。破中求立体现了目前一些制度的变化。严酷的外部环境,已经不断在警告我们目前一些制度体系已经不合时宜。打破固然重要,但建立一个新的有效率,适应现实的新体系不是一朝一夕就能完成的,这需要在今后很长的一段时间里,由我们自己逐步建立最适合我们的体系。减中求精,体现了人力资源促进的新的方式。在这几年,公司抓住机遇,人员和规模得到了快速的增长。但在现在,需要稍微停一下,好好消化和整理再出发。所以规模也许不会再如此扩大,甚至还肯能缩小。但这不是简单的缩减,而是从内部促进整体的素质提高,增强整体人员的战斗能力。

    我想,只要坚持这16个字,就一定可以较好地完成那两个目标。

    站在这里,也倍感压力。公司领导看着我,期望我能带领部门,闯出一条路来,圆满实现部门的既定目标。部门同仁也在看着我,希望通过我的传达或者代表公司,给各位指出部门的未来,我们的明天。在目前严苛的外部环境下,确实感觉担子很重。不过看到台下人才济济,生机勃勃,我也充满了信心。让我们在今天这一个富有浪漫色彩的日子一同出发,那么在明年的几天,我们定能说活我们共同的荣耀。正所谓上下同欲者,胜!

    最后,将我前些日子刚刚学到的马太效应的圣经典故与各位共勉。

    凡有的,还要加给他,叫他有餘;凡没有的,连他所有的也要夺去。

    祝福我们大家都能成为市场中前者。

     

  • 如何看待逆境

    每逢年末都会总结过去,展望来年。在收集一些数据后,有些感想,分享给 各位。

    众所周知,日元从去年底一路下滑,跌了25%。换言之,就是公司利润率直接减少 25个百分点,对公司的打击可想而知。这不是我们可控的,但另一方面这也是 所 有行业公司面临的共同挑战。这场危机,当然不会摧毁对日外包这个行业,但肯定 会加快行业的大鱼吃小鱼的时代。它吹散了前段时间的行业泡沫,也倒 逼我们必 须抛弃许久的惯性,学会去转向,去思考。就像人的成长需要一些挫折一样,就把 这次看作一次公司必须经历的一次磨难吧。
    不久前,依靠一些长期合作关系,我们和主要客户达成了提价的共识。但对于客户 来说,直接感触就是要付出更多钱。如果我们还只能停留在原来的服务水准,客户 是不会满意的。以前,也许只要会做详设,会开发,会测试就能在外包行业混得蛮 开。而现在,这个市场已然对我们来说太狭小了,能做这事的公司多得去 了,还 比我们便宜。所以无论是保住现有客户,还是挖掘新客户,我们都必须提升服务水 平,真正用实力去赢得双方都能满意的提价。当然这也不是一朝一 夕的,但首先 所有人都应该有这个危机感–“如果我们服务水平提高不上去,那结果只能被市场 所淘汰”。
    提升公司竞争力,归根到底是提高人的能力。近几年公司也组织了不少的培训。但 从一些项目经理的反馈来看,感觉平均水平不仅没有提升,反而每年有所下滑。原 因是多方面的,其中一个就是随着公司的扩张,早期的那种勇于争先,敢于挑战, 热衷学习的氛围逐渐淡化,取而代之的是浮躁或是安于现状的思潮。我深 有感 受,10年前,大家都会在工作后主动去学习,去看书。现在信息多了,反而学习的 人越来越少了,很多只是为了完成工作。这样下去,想要提升在我 们的服务水 平,无异于空中楼阁。
    说到这里,大家应该能明白为什么公司近期会采取一系列考核,论文发表,明确激 励手段等措施。每一位同事,都必须清楚自己的责任,切实提高工作技能,实现自 身价值,更加好的胜任目前的岗位。无论外部怎么变化,我想今后公司都会按照 “各尽其能,各显其才”的方针继续实施相关的考核和调整。
    市场是公平的,拼搏的公司终将取得成功;考核是公平的,努力的人们终将 收获荣耀。
    希望大家团结起来,在这个寒冷的冬天,苦练内功,厚积薄发,一齐携手跨越!

  • 一些新奇的PHP开源应用

    phpBB

    phpBB是一个论坛软件,使用PHP语言开发的并开放其原始码。是模块化设计,具专业性、安全性高、支持多国语系、支持多种数据库和自定义的版面设计等优越性能,而且功能强大。

    Osclass

    OSClass是一个基于PHP+MySQL开发,用于创建和管理分类广告网站的开源系统。它可以用于在一个分类的界面中显示任意类型和数量的条目。它也提供了一些特定行业专用的扩展(例如,汽车,求职,房地产,预订等),使得创建这类列表变得方便。这个应用程序还拥有一个可灵活定制的界面(已经有内制多种主题可供选择)。

    DokuWiki

    DokuWiki是一个开源wiki引擎程序,运行于PHP环境下。DokuWiki程序小巧而功能强大、灵活,适合中小团队和个人网站知识库的管理

    Zurmo

    Zurmo是一个开源的客户关系管理(CRM)系统,采用PHP开发。服务器端使用Yii框架和RedBeanPHP实现,前端使用jquery。

    Magento

    Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成

    SugarCRM

    SugarCRM开源版是一款完全开放源代码的商业开源软件,具有界面活泼、简单易学的特点。美国SugarCRM公司是一间创立于2006年、但迅速在全球范围取得一定影响的客户关系管理软件厂商。其基本的商业策略是 一边销售收费低廉的企业版/专业版软件,获得收益;一边推出免费的、功能较少的开源版软件,培养未来的付费客户、吸引志愿者参加研发。大多数使用该软件的企业,并发用户数在几个到几万个的范围内。

    ownCloud

    ownCloud是一个自由开源的个人云存储解决方案。最早由KDE开发者Frank Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费;它可以被安装在个人服务器上,用户拥有控制和修改的权利。

    Moodle

    Moodle是一个用于制作网络课程或网站的软件包。它是一个全球性的开发项目,用以支持社会建造主义(social constructionist)的教育框架。Moodle是一个自由的开源软件 (在GNU 公共许可协议下),也就是说Moodle是有版权的,但是你有额外的自由。你可以自由地复制、使用或者修改Moodle,前提条件是你同意:为他人提供代码,没有修改或删除原有的版权和许可,以及将相似的版权应用于衍生的作品

    MediaWiki

    MediaWiki 是一套以GPL授权发行的Wiki引擎。它具有很丰富的功能,并被维基百科及其他维基媒体基金会的计划所采用,亦为世界上很多不同的维基所采用。 MediaWiki采用 PHP语言写成,并以MySQL作为其资料库。它的徽标图像化了它如何运用标记语言即双括号 (“”,””) 来连结不同的文章。MediaWiki具有很高的相容性和可塑性,现在的版本支持memcached及Squid cache系统,亦支持TeX数学公式。其扩展系统允许用户自行添加他们需要的特性及客制化程式介面。

    Drupal

    Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。

    Joomla!

    Joomla!是一套在国外相当知名的内容管理系统。Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。目前是由Open Source Matters(见扩展阅读)这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2万名的参与会员。

    WordPress

    WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在GNU通用公共许可证下授权发布。目前最新版本为2013 年10 月 25 日WordPress 3.7 版。 WordPress 被认为是Michel Valdrighi所开发的网志平台b2/cafelog的正式继承者。“WordPress”这个名字出自 Christine Selleck 的主意,他是主要开发者Matt Mullenweg的朋友。

  • 回归生活

    经过了一段时间的混乱,很多事情都没有处理妥当,遗留下来的又让人不愿意拾起。

    于是,生活节奏继续混乱,工作也继续踏步不前。

    于是希望剪断一些思绪,让生活重新回到当初应该的样子,看书,写Blog,学习,梦想,都是应该回归的时候了。

    而那些,对于自己也是无能为力的事情,就把它从心里彻底地扯开,不再蔓延。

    所以,回归生活,就从重新记录博客开始吧。

  • 15 Online HTML5 Tools to Speed Up Coding(转)

    1. Mockups

    Moqups
    Moqups is a nifty HTML5 App used to create wireframes, mockups or UI concepts, prototypes depending on how you like to call them. They’ve tried to make things simple and fairly intuitive so you can unleash your creativity without any obstacles. Moqups is built on open standards, striving to provide the best experience within the browser, without compromise.

    Source

    2. Stitches

    stitches
    Stitches is an HTML5 sprite sheet generator. Simple drag and drop image files into the space below and click “Generate” to create a sprite sheet and stylesheet. Stitches uses a couple of HTML5 APIs, and it is only currently compatible with the latest versions of Chrome and Firefox. However, it does not work on IE9. It required jQuery 1.7.1+, Modernizr, Dropfile, Flashcanvas for older browser support. It is licensed under MIT License.

    Source

    3. HTML5 Maker

    html5maker
    HTML5 Maker is an online animatio service/tool for creating animated, interactive content using HTML, HTML5, CSS and JavaScript. It’s very easy to use and at the same time it can help you achieving extremely good results. It allows producing cross-browser animated content such as javascript and html5 animation, Slideshows, Presentations and Sliders.

    Source

    4. Initializr

    intializr
    Initializr is an HTML5 templates generator to help you getting started with a new project based on HTML5 Boilerplate. It generates for you a clean customizable template with just what you need to start!

    Source

    4. Sprite Box

    spritebox
    Spritebox is a WYSIWYG tool to help web designers quickly and easily create CSS classes and IDs from a single sprite image. It is based on the principle of using the background-position property to align areas of a sprite image into block elements of a web page. It was made using a combination of JQuery, CSS3 and HTML5, and is totally free to use.

    Source

    5. Liveweave

    liveweave
    Liveweave is a HTML5, CSS3 & JavaScript playground for web developers and designers. Liveweave has built-in context-sensitive auto-completion for HTML4/HTML5 and CSS2/CSS3, that makes life a lot easier.Just keep typing the HTML5 and CSS3 tags/elements you need. The ease of writing HTML5 and CSS3 will be like a dream!

    Source

    6. Literally Canvas

    literally-canvas-widget
    Literally Canvas is an open source HTML5 widget, which can be integrated into any page, for enabling users to draw online. It comes with a simple set of tools including draw, erase, color-picker, undo, redo, pan and zoom. The widget is built with jQuery + Underscore.js and has an API to define the background color, tools and dimensions.

    Source

    7. HTML5 Demos

    html5demos
    HTML5 Demos will let you know instantly whether Firefox supports HTMl5 canvas or if Safari can run the HTML5 simple chat client or not.

    Source

    8. HTML5 Visual Cheat Sheet

    html5cheatsheet
    HTML 5 Visual Cheat Sheet is an useful cheat sheet for web designers and developers designed by me. This cheat sheet is essentially a simple visual grid with a list of all HTML tags and of their related attributes supported by HTML versions 4.01 and/or 5. The simple visual style I used to design this sheet allows you to find at a glance everything you are looking for.

    Source

    9. Switch to HTML5

    switchtohtml5
    Switch to HTML5 is a basic but efficient template generator. If you’re starting a new project, you should definitely visit this website and get your free HTML5 website template!

    Source

    10. Online SVG to HTML5 Canvas Tool

    Professor Cloud
    This tool converts SVG into an HTML5 Canvas JavaScript function. It will work with any host, and I hope it helps people to experiment with Canvas. Most vector art packages (Illustrator, Inkscape etc) can export as SVG.

    Source

    11. On/OFF FlipSwitch

    on-off flipswitch

    Source

    12. HTML5 Test

    html5test
    The HTML5 test score is an indication of how well your browser supports the upcoming HTML5 standard and related specifications. Even though the specification isn’t finalized yet, all major browser manufacturers are making sure their browser is ready for the future. Find out which parts of HTML5 are already supported by your browser today and compare the results with other browsers.
    Source

    13. Patternizer

    Patternizer
    Patternizer is an easy to use stripe pattern generator

    Source

    14. Lime JS

    limejs
    It is a HTML5 game framework for building games that’ll feel native and work fast in modern touchscreens and desktop browsers. LimeJS is created with Closure Library built by Google and comes with functions/classes to control the timeline, events, shapes and animations. Also, the framework has full support of sprite sheets (you can collect all images inside a single file).

    Source

    15. HTML5 Reset

    html5reset
    HTML5 Reset is a set of files (HTML, CSS, etc) designed to help users and saves time when for their new projects.

    Source

  • 回归

    这些日子,一直处于一种心力交瘁的状态。

    其实加班,并不是累的主因。如果加班的结果都是改变现状的一个开始,那这种加班的心情该是多么愉悦阿。可是并不是如此,因为一个时代的结束,而加班定夺只是弥补一下心里的一些失落,而对于现实于事无补。

    一切都会到了一个基点。我清楚,即使是螺旋,也该是不断向上的螺旋。而如果就是一个平行的圆圈,那么也就意味着我永远走不出去。

    有时候停怨天尤人的,自己努力,对于他人来说确是无足轻重的。

    每一次激烈的争吵的结果,最后都是,“你太理想了。这和***比起来,已经算是好的啦”,“你想得太简单了,这个风险是****多么大”。其实我不清楚,我为什么有这么大勇气去承接本可以撒手的事情,我有这么大勇气去挑战本可以随波逐流的那些工作。

    但是我清楚,我还年轻,如果一些事情必须要有勇气去承担风险的话,那舍我其谁。我没有什么输不起的,我也没有什么可以顾忌的。对我来说,维持现状,自怨自艾就是对自己的年轻的最大的亵渎。

    我期望事情能有转机,也许转机的应该是自己。

    无论如何,对于任何拼搏,我都不会后悔,因为这种过程比结果要重要的多。