移动开发技术周报:用 NetBeans 开发 HTML5 应用,Objective-C 和 Cocoa 最佳实践(2013.02.26)

  • 杨赛

2013 年 2 月 26 日

话题:HTML5语言 & 开发

总结性周报这个东西,是有时间阅读的人整理给没时间阅读又需要阅读的人看的。有用的周报,相当于成功的用整理者的时间投入节约了阅读者的时间支出,皆大欢喜;否则,是浪费了双方的时间。

希望今天开始的这个周报会是个有用的周报。有任何建议、反馈,欢迎写在评论里。另,如果大家看到什么好东西(尤其是中文界的技术内容)想要分享,欢迎去 Fenng 的新店Startup News踩踩。中文界需要这样一个社区太久了,衷心希望这个社区能做好。

工具

  • Oracle 新发布的NetBeans 7.3下载地址)添加了对 HTML5 应用开发的支持。官方提供了相应的入门文档:HTML5 应用开发上手指南在 HTML5 应用中编辑 CSS 样式。根据官方文档描述,开发者在创建 HTML5 应用时可以直接选择现成的模板进行创建(如 AngularJS,BootStrap 等),并且与 Chrome 深度集成,可直接在 Chrome 内调试,也可用内置的基于 Webkit 的浏览器进行调试。
  • iOSDeveloperTips 上介绍了一个开源的组件,JBCroppableView。这个组件的功能是裁剪指定形状、指定面积的图片。用于定义面积的点作为 CGPoints 存储在 NSArray 当中,而裁剪完毕的图片则作为新的 UIImageView 存储。
  • 来自 Intel 的HTML5 App Porter Tool,可以将你用 Objective-C 编写的 iOS 应用变成 HTML+JS+CSS 的 HTML5 应用。你需要一台安装了 Visual Studio 2012 的 Windows 8。
  • DMLogger:NSLog() 日志的替代方案,目的在于简化日志调试的流程。DMLogger 支持设置日志的默认级别(trace,debug,info,warning,error 或 fatal),并按照开发者当前的开发环境,输出不同级别的信息,减少信息轰炸。开发者可以自定义信息的格式,如时间戳的格式等。
  • DyCI:Xcode 插件,针对 iOS 应用的动态代码注入工具。工具的目的在于不重启应用的情况下对应用做一些小的逻辑调整,或者快速的修复一些问题。

技巧

  • CSS Tricks 上分享的一条技巧,有关CSS Flexbox 模块的使用:虽然Flexbox 规范在 CSS3 规范形成期间产生了很多变化,但是如果同时应用老的定义和新的定义,就能够实现在新老版本浏览器下的兼容性,包括:任意版本的 Chrome,任意版本的 Firefox,任意版本的 Safari,Opera 12.1+,IE 10+,任意版本的 iOS,任意版本的 Android。
  • 将变量 print 到控制台里不等于调试:很多开发者使用 printf 跟踪声明和变量作为调试手段,Dr.Dobb's 的主编 Andrew Binstock 对此表示无法忍受。在他看来,printf 的调试手段既难以定位问题,又浪费时间,又复杂,最后还需要清理。看看苹果是怎样建议 iOS 开发者做调试的
  • StackOverFlow 上的热门问答一条:编写 Objective-C 和 Cocoa 的最佳实践。最佳答案获得了 400 个投票,提到了私有类的命名、定义位置,float 变量的定义,使用 SQLite 做缓存等。不过,问题本身由于不符合 StackOverFlow 的提问规则,已经被管理员冷冻起来了。

杂货

  • Etsy 的工程师Jonathan Klein分享了一篇文章,WebP 完全指南,介绍 WebP 图片格式目前的应用状态。Klein 在 Etsy 的主要职责是为网站加速,WebP 在不同的网站上能带来 20%~50% 不等的流量节省。此前,WebP 的主要问题在于 EXIF 等格式的缺失,以及缺乏自动为客户端匹配不同图片格式的工具,不过现在这些问题都已经解决(如Torbit就提供了完全自动化的客户端匹配)。但是,新的图片格式要推广,仍然有很多其他的问题。Klein 同时推荐了 Google 工程师Ilya Grigorik的一篇文章《在 Web 上部署新的图片格式》,对 WebP 目前缺失 Accept 头部的问题进行了详细描述。
  • 世界上顶级的企业级移动开发商都是谁?MMU 网站上列出了一份清单:DMI,Antenna Software,IBM Worklight,SAP Syclo,5APP,Kony Solutions,Sourcebits,Mobile Active Defense,Accenture,Convertigo,Golden Gekko……
HTML5语言 & 开发