<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>面壁者语 &#187; 前端制作</title>
	<atom:link href="http://www.cuiguojie.com/category/frontend/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cuiguojie.com</link>
	<description>勤反思 戒执迷</description>
	<lastBuildDate>Tue, 31 Jan 2012 10:55:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>UIWebView内嵌带重力感应特性的HTML5网页</title>
		<link>http://www.cuiguojie.com/uiwebview_with_html5.html</link>
		<comments>http://www.cuiguojie.com/uiwebview_with_html5.html#comments</comments>
		<pubDate>Tue, 18 Oct 2011 18:39:01 +0000</pubDate>
		<dc:creator>崔国杰</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[前端制作]]></category>

		<guid isPermaLink="false">http://www.cuiguojie.com/?p=697</guid>
		<description><![CDATA[很绕的标题。这几天接到的需求，本次客户希望广告的形式有重力感应特性，具体需求其实就和指南针一个样，设备转动图片会对应偏转。由于每次的广告形式都可能不同，所以直接在iOS中用Object-C写不大现实，总不能上个广告就递交一次App审核。最终团队定下来用HTML5做成网页嵌进UIWebView方便一点。 慢慢总结，这一个月内肯定会碰到许多问题。HTML5除了新表单元素外我也没实际接触过这些新特性，这时候必须要高呼Google万岁。 10月17日 DeviceOrientationEvent，iPhone 4支持iPad 1代不支持；DeviceMotionEvent则是两种都支持。问了下对这块比较熟悉的大城小胖，说iPad 1代没有陀螺仪。这会略有些麻烦，DeviceOrientationEvent本身获取到的就是偏转角度值，直接赋值给webkitTransform的rotate即可。而DeviceMotionEvent返回的则是带有重力系数的百分数，需要做处理转化成角度，比如var alpha = Math.round(((eventData.accelerationIncludingGravity.x) / 9.81) *-90); http://www.html5rocks.com/en/tutorials/device/orientation/devicemotionsample.html 源代码中有注释。 有个问题是，竖屏左右旋转设备对应的角度来源是alpha参数，如果不设置iPad缩屏，由竖屏转到横屏，角度来源变成了beta参数 10月18日 深深的感觉到瘸腿前端诸多不便。前几年做前端时大部分时间写CSS，为赶进度JS需求基本用JQuery插件调参数实现，原生JS没去碰，然后这半年更是没做前端了，发现现在连window绑定多个事件都要翻书了。OOP更是无从谈起。 本打算写个小App调用HTML文件，这样屏幕翻转及是否缩屏直接在系统级控制方便些。没想客户给了张样图希望明天就出个Demo，纯网页就行，只好先放弃App。开了PS一量表盘竟然不是同心圆啊我去⋯⋯算旋转中心点很是纠结了下。 开始和团队成员讨论和App端的接口问题： 判断是否禁止屏幕翻转 如果不禁止的话，四个方向对应的变量名，纯粹为了扩展考虑，比如四个方向展示四张不同的网页？ 四方向是否需要单独写四个JS文件模块化操作 JS和图片是放服务器上由App下载内部传递给HTML，还是直接写进HTML 第四点牵涉到离线缓存。目前的App下载的图片会保存到设备中做离线读取，但是HTML5本身有mainfest机制并且据说很快，而广告需求一般并不是动态网页，可以不考虑刷新问题。尚不明确的是UIWebView中内嵌的网页是否可以用manifest。另外mainfest需要运维同学帮忙配置MIME TYPE。 发现sofish的博客上HTML5和CSS3的有用的内容不少。 另，HTML5中判断屏幕翻转的是body的onorientationchange属性。 http://ajaxian.com/archives/iphone-windowonorientationchange-code 10月24日 瞎折腾了几天。纪录一些tips，慢慢整理 iOS里的safari，也需要写CSS Reset，下午的实际经历是至少body标签有默认边距 onorientationchange事件，在纯粹的HTML网页里通过iOS上的Safari浏览没问题，内嵌到App中会失效！ 在viewController里的shouldAutorotateToInterfaceOrientation中设置NO，这时候通过[[UIApplication sharedApplication] statusBarOrientation]是否等于UIInterfaceOrientation已经不能正确判断方向，或者说，这时候需要判断的是设备的物理朝向，而不是屏幕方向。 10月26日 不知道是不是有过度OOP的说法，总之感觉有些方法被封装的过度了。对于Object-C这种链式import文件的代码，如果一个功能从头到尾串联的文件太多，同时各级文件里的方法都用到子级文件的实例变量做参数，那么分析代码及修改是件很头疼的事情。 基本雏形写的差不多了，事实上做到现在已经已经偏离了最初的目标，纯粹的HTML5网页做重力感应很早就实现，但是由于那些JS的问题，始终考虑是不是要用iOS内置的UIAcceleremoter来获得重力加速度参数，网页端只需要获取参数执行对应DOM动画就好。]]></description>
			<content:encoded><![CDATA[<p>很绕的标题。这几天接到的需求，本次客户希望广告的形式有重力感应特性，具体需求其实就和指南针一个样，设备转动图片会对应偏转。由于每次的广告形式都可能不同，所以直接在iOS中用Object-C写不大现实，总不能上个广告就递交一次App审核。最终团队定下来用HTML5做成网页嵌进UIWebView方便一点。</p>
<p>慢慢总结，这一个月内肯定会碰到许多问题。HTML5除了新表单元素外我也没实际接触过这些新特性，这时候必须要高呼Google万岁。</p>
<h2>10月17日</h2>
<p>DeviceOrientationEvent，iPhone 4支持iPad 1代不支持；DeviceMotionEvent则是两种都支持。问了下对这块比较熟悉的大城小胖，说iPad 1代没有陀螺仪。这会略有些麻烦，DeviceOrientationEvent本身获取到的就是偏转角度值，直接赋值给webkitTransform的rotate即可。而DeviceMotionEvent返回的则是带有重力系数的百分数，需要做处理转化成角度，比如var alpha = Math.round(((eventData.accelerationIncludingGravity.x) / 9.81) *-90);</p>
<p><a style="direction: ltr;" title="http://www.html5rocks.com/en/tutorials/device/orientation/devicemotionsample.html " href="http://www.html5rocks.com/en/tutorials/device/orientation/devicemotionsample.html ">http://www.html5rocks.com/en/tutorials/device/orientation/devicemotionsample.html</a><span style="direction: ltr;"> 源代码中有注释。</span></p>
<p>有个问题是，竖屏左右旋转设备对应的角度来源是alpha参数，如果不设置iPad缩屏，由竖屏转到横屏，角度来源变成了beta参数</p>
<h2>10月18日</h2>
<p>深深的感觉到瘸腿前端诸多不便。前几年做前端时大部分时间写CSS，为赶进度JS需求基本用JQuery插件调参数实现，原生JS没去碰，然后这半年更是没做前端了，发现现在连window绑定多个事件都要翻书了。OOP更是无从谈起。</p>
<p>本打算写个小App调用HTML文件，这样屏幕翻转及是否缩屏直接在系统级控制方便些。没想客户给了张样图希望明天就出个Demo，纯网页就行，只好先放弃App。<span style="direction: ltr;">开了PS一量表盘竟然不是同心圆啊我去⋯⋯算旋转中心点很是纠结了下。</span></p>
<p>开始和团队成员讨论和App端的接口问题：</p>
<ol>
<li><span style="direction: ltr;">判断是否禁止屏幕翻转</span></li>
<li><span style="direction: ltr;">如果不禁止的话，四个方向对应的变量名，纯粹为了扩展考虑，比如四个方向展示四张不同的网页？</span></li>
<li>四方向是否需要单独写四个JS文件模块化操作</li>
<li>JS和图片是放服务器上由App下载内部传递给HTML，还是直接写进HTML</li>
</ol>
<div>第四点牵涉到离线缓存。目前的App下载的图片会保存到设备中做离线读取，但是HTML5本身有mainfest机制并且据说很快，而广告需求一般并不是动态网页，可以不考虑刷新问题。尚不明确的是UIWebView中内嵌的网页是否可以用manifest。另外mainfest需要运维同学帮忙配置MIME TYPE。</div>
<div><span style="direction: ltr;">发现<a title="sofish的博客" href="http://sofish.de/" target="_blank">sofish的博客</a>上HTML5和CSS3的有用的内容不少。</span></div>
<div>另，HTML5中判断屏幕翻转的是body的onorientationchange属性。</div>
<div><a title="http://ajaxian.com/archives/iphone-windowonorientationchange-code" href="http://ajaxian.com/archives/iphone-windowonorientationchange-code" target="_blank">http://ajaxian.com/archives/iphone-windowonorientationchange-code</a></div>
<div></div>
<h2></h2>
<h2>10月24日</h2>
<p>瞎折腾了几天。纪录一些tips，慢慢整理</p>
<ol>
<li>iOS里的safari，也需要写CSS Reset，下午的实际经历是至少body标签有默认边距</li>
<li>onorientationchange事件，在纯粹的HTML网页里通过iOS上的Safari浏览没问题，内嵌到App中会失效！</li>
<li>在viewController里的shouldAutorotateToInterfaceOrientation中设置NO，这时候通过[[UIApplication sharedApplication] statusBarOrientation]是否等于UIInterfaceOrientation已经不能正确判断方向，或者说，这时候需要判断的是设备的物理朝向，而不是屏幕方向。</li>
</ol>
<h2>10月26日</h2>
<div>不知道是不是有过度OOP的说法，总之感觉有些方法被封装的过度了。对于Object-C这种链式import文件的代码，如果一个功能从头到尾串联的文件太多，同时各级文件里的方法都用到子级文件的实例变量做参数，那么分析代码及修改是件很头疼的事情。</div>
<div>基本雏形写的差不多了，事实上做到现在已经已经偏离了最初的目标，纯粹的HTML5网页做重力感应很早就实现，但是由于那些JS的问题，始终考虑是不是要用iOS内置的UIAcceleremoter来获得重力加速度参数，网页端只需要获取参数执行对应DOM动画就好。</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cuiguojie.com/uiwebview_with_html5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“拥抱HTML5&#8243;归来</title>
		<link>http://www.cuiguojie.com/w3ctech-html5.html</link>
		<comments>http://www.cuiguojie.com/w3ctech-html5.html#comments</comments>
		<pubDate>Sun, 17 Apr 2011 18:05:24 +0000</pubDate>
		<dc:creator>崔国杰</dc:creator>
				<category><![CDATA[前端制作]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.fordragon.com/?p=606</guid>
		<description><![CDATA[这个周末参加了w3ctech举办的“拥抱HTML5”，两天时间江桥跑浦东累得半死，相信举办方和几位各地赶过来的讲师们也一样，感谢他们。 收益 出于我自己严重偏重构向以及工具控的缘故，受益最大的当属何涛的《优酷HTML5视频应用》和hlb的《SCSS &#38; Compass》以及魏子钧的《HTML5游戏与移动平台》。hax的台风也很OK，他的《HTML5兼容性实战》不错。黄后锦的《Web Forms 2.0》之前多少从其他渠道了解过，所以只是过了一遍。 总的来说，目前的行业会议仍旧是老问题——众口难调。第一天不停听到抱怨说太多过于理论化的东西，但是实际上，个人感觉在这种会议上去讲语法规则是一种浪费。细节技术方面的东西，我更喜欢三种： 总结性的内容，比如《优酷HTML5视频应用》里提到的video的几种控件在移动版safari中不可用，这方面的东西去年自己项目中很是头疼了一把； “不可为”的内容，比如《Web Forms 2.0》里没有准备的HTML5新增的各种类型input在不同浏览器中的支持情况列表、《Canvas 2D 应用的设计思路》里提到的超出canvas画布的图片会不解析； 技巧类的内容，比如hax的《HTML5兼容性实战》中提到的增加IE8的属性判断 而技术细节外，类似hlb的介绍新工具的内容一直比较受青睐。 梳理 SASS 之前在MBP上试用过LESS，语法对我来说够用了，外加MAC平台下有个免费的less.app感觉还不错，就没去查阅SASS的资料。今天听下来，SASS的功能更强大，可惜推上问hlb 要他们出的Compass.app无果，改天7美刀支持下。 我最初看到这类工具心动仅仅是因为解决了模块复用、颜色管理及语义化命名的问题，倒没去想内嵌浏览器探测等高级功能。因为我比较喜欢尽可能少的用浏览器HACK去解决问题，平时常用的也不过button类型的input的外观处理，以及clearfix的_zoom:1。 顾虑也有，LESS现在可以直接通过head区调用个JS来渲染.less文件而放弃.css文件，但是30多K的JS文件不算小，性能洁癖的我始终不敢在正式项目上使用。采用工具生成CSS文件的话，还没有做过全面的测试，不清楚生成的CSS文件质量如何，比如容器放置等比大小背景图我会省略掉no-repeat等参数来缩减CSS体积，这方面不知道这两种工具的表现如何。 video应用 去年碰到的移动版safari不支持的属性没记录下来，等何涛PPT放出了。按照去年的经验来说，video标签直接引用视频，两个问题： 最大的问题在视频加载速度上，比如拖动进度条后的快速下载及页面加载后的预下载。去年这时候看apple官网的都是卡的要死，而几个大网站号称的支持HTML5的视频只有3到4M内的小视频可以流畅播放。这个不知道什么时候有平民化的解决方案，否则小网站应用堪忧。 混乱的视频格式需要多种编码压缩，去年找H.264的工具就折腾了许久，apple自家带输出功能的quicktime是付费的。记得当时我是找视频采集行业的朋友给了个大型软件才搞定。 heading content元素 听Jeremy Keith讲到页面中可以全用h1时想起，去年尝试重构博客皮肤时翻过WHATWG关于heading content和sectioning content元素的文档并记录过heading content笔记。WHATWG提到过新的Hx系列元素的层级判断，有个比较重要的概念是根据文档流里Hx出现的位置来判定，而不仅仅是h1-h6的顺序。这一块比较繁杂，记得当时有个网站可以在线生成指定页面的层级示意，可惜这会儿反倒找不到了。 另外就是，SEO方面，不知道搜索引擎什么时候能跟上这种全写h1的权重判断规则，所以商业站要这么用的话需要考虑风险。 web forms 找到一份比较全面的HTML5 web forms浏览器支持列表，根据评论推断10年5月前发表。同时作者给出的有示例页面 更新：PPK大神整理的The new input types ,11年3月9号出品。好人啊！ 其他 附上一篇Nicholas C. Zakas的文章 《Using HTML5 semantic elements today》。今天Jeremy Keith讲不支持自定义HTML标签，但是Zakas总结了个namespace hack蛮有意思，可以参考下。]]></description>
			<content:encoded><![CDATA[<p>这个周末参加了w3ctech举办的“<a title="拥抱HTML5" href="http://www.w3ctech.com/2011/html5" target="_blank">拥抱HTML5</a>”，两天时间江桥跑浦东累得半死，相信举办方和几位各地赶过来的讲师们也一样，感谢他们。</p>
<h2>收益</h2>
<p>出于我自己严重偏重构向以及工具控的缘故，受益最大的当属何涛的《优酷HTML5视频应用》和hlb的《SCSS &amp; Compass》以及魏子钧的《HTML5游戏与移动平台》。hax的台风也很OK，他的《HTML5兼容性实战》不错。黄后锦的《Web Forms 2.0》之前多少从其他渠道了解过，所以只是过了一遍。</p>
<p>总的来说，目前的行业会议仍旧是老问题——众口难调。第一天不停听到抱怨说太多过于理论化的东西，但是实际上，个人感觉在这种会议上去讲语法规则是一种浪费。细节技术方面的东西，我更喜欢三种：</p>
<ol>
<li>总结性的内容，比如《优酷HTML5视频应用》里提到的video的几种控件在移动版safari中不可用，这方面的东西去年自己项目中很是头疼了一把；</li>
<li>“不可为”的内容，比如《Web Forms 2.0》里没有准备的HTML5新增的各种类型input在不同浏览器中的支持情况列表、《Canvas 2D 应用的设计思路》里提到的超出canvas画布的图片会不解析；</li>
<li>技巧类的内容，比如hax的《HTML5兼容性实战》中提到的增加IE8的属性判断</li>
</ol>
<p>而技术细节外，类似hlb的介绍新工具的内容一直比较受青睐。</p>
<h2>梳理</h2>
<h3>SASS</h3>
<p>之前在MBP上试用过LESS，语法对我来说够用了，外加MAC平台下有个免费的<a title="lessapp" href="http://incident57.com/less/" target="_blank">less.app</a>感觉还不错，就没去查阅SASS的资料。今天听下来，SASS的功能更强大，可惜推上问hlb 要他们出的<a title="compass.app" href="http://compass.handlino.com/" target="_blank">Compass.app</a>无果，改天7美刀支持下。</p>
<p>我最初看到这类工具心动仅仅是因为解决了模块复用、颜色管理及语义化命名的问题，倒没去想内嵌浏览器探测等高级功能。因为我比较喜欢尽可能少的用浏览器HACK去解决问题，平时常用的也不过button类型的input的外观处理，以及clearfix的_zoom:1。</p>
<p>顾虑也有，LESS现在可以直接通过head区调用个JS来渲染.less文件而放弃.css文件，但是30多K的JS文件不算小，性能洁癖的我始终不敢在正式项目上使用。采用工具生成CSS文件的话，还没有做过全面的测试，不清楚生成的CSS文件质量如何，比如容器放置等比大小背景图我会省略掉no-repeat等参数来缩减CSS体积，这方面不知道这两种工具的表现如何。</p>
<h3>video应用</h3>
<h3><span style="font-size: 13px; font-weight: normal;">去年碰到的移动版safari不支持的属性没记录下来，等何涛PPT放出了。按照去年的经验来说，video标签直接引用视频，两个问题：</span></h3>
<ul>
<li><span style="font-size: 13px; font-weight: normal;">最大的问题在视频加载速度上，</span><span style="font-size: 13px; font-weight: normal;">比如拖动进度条后的快速下载及页面加载后的预下载。去年这时候看apple官网的都是卡的要死，而几个大网站号称的支持HTML5的视频只有3到4M内的小视频可以流畅播放。这个不知道什么时候有平民化的解决方案，否则小网站应用堪忧。</span></li>
<li><span style="font-size: 13px; font-weight: normal;">混乱的视频格式需要多种编码压缩，去年找H.264的工具就折腾了许久，apple自家带输出功能的quicktime是付费的。记得当时我是找视频采集行业的朋友给了个大型软件才搞定。</span></li>
</ul>
<h3>heading content元素</h3>
<p>听Jeremy Keith讲到页面中可以全用h1时想起，去年尝试重构博客皮肤时翻过<a title="WHATWG关于heading content和sectioning content元素的文档" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#headings-and-sections" target="_blank">WHATWG关于heading content和sectioning content元素的文档</a>并记录过<a title="heading content笔记" href="http://www.fordragon.com/heading-content-note.html" target="_blank">heading content笔记</a>。WHATWG提到过新的Hx系列元素的层级判断，有个比较重要的概念是根据文档流里Hx出现的位置来判定，而不仅仅是h1-h6的顺序。这一块比较繁杂，记得当时有个网站可以在线生成指定页面的层级示意，可惜这会儿反倒找不到了。</p>
<p>另外就是，SEO方面，不知道搜索引擎什么时候能跟上这种全写h1的权重判断规则，所以商业站要这么用的话需要考虑风险。</p>
<h3>web forms</h3>
<p>找到一份比较全面的<a title="html5-web-forms" href="http://www.standardista.com/html5/html5-web-forms" target="_blank">HTML5 web forms浏览器支持列表</a>，根据评论推断10年5月前发表。同时作者给出的有<a title="html5formelements" href="http://www.standardista.com/sandbox/html5formelements.html" target="_blank">示例页面</a></p>
<p>更新：PPK大神整理的<a title="the new input types" href="http://www.quirksmode.org/blog/archives/2011/03/the_new_input_t.html" target="_blank">The new input types</a> ,11年3月9号出品。好人啊！</p>
<h2>其他</h2>
<p>附上一篇Nicholas C. Zakas的文章 《<a title="Using HTML5 semantic elements today" href="http://www.nczonline.net/blog/2011/03/22/using-html5-semantic-elements-today/" target="_blank">Using HTML5 semantic elements today</a>》。今天Jeremy Keith讲不支持自定义HTML标签，但是Zakas总结了个namespace hack蛮有意思，可以参考下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuiguojie.com/w3ctech-html5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

