推荐的文章有部分链接需要翻墙才能访问,如果打不开的话,请翻墙。
文章
React Native at SoundCloud
SoundCloud 尝试两个 JavaScript 工程师和一个 iOS 工程师配合使用 React Native 来开发他们的 app,预期效果比他们想象中的要好,决定继续深入使用。文章中提及他们在探索初期考虑的一些问题,和开发过程中 React Native 带来的好处,如大多数 native 模块可以使用 native modules 来很快地集成,大部分 js 类库可以不用修改地直接使用等,同时也说明了 React Native 现有的问题,如版本更新太快,不时还包括一些破坏性的变更等,对于我们考虑使用 React Native 或者以后使用有一定的借鉴意义。
Make your JavaScript code shine: knockout old ES5 hacks
过去,因为 JavaScript 语言本身的一些缺陷,导致我们在编写代码的需要用到了很多的 hack,而在 ES2015,2016,甚至 2017 中,很多东西得到了改善,我们可以编写出更加优雅的,符合语义化的代码,文章中举出了一些例子,过去是如何编写的,用 ES2015 如何去改善它,如:function() {...}.bind(this)
变成 () => { ... }
等。Babel 等社区的力量让我们脱离浏览器的束缚,更快地去拥抱未来的规范,我们需要在这个基础上更好地了解新的东西,毕竟存在即合理,更短更好看的代码应该是每个程序员的追求。
A Glimpse Into The Future With React Native For Web
这篇文章是就 react-native-web 为基础来讲述针对 react-native 在 web 的一个解决方案,文章提到的 React 并没有提供一个更加高级的抽象层来兼容处理 React Native 提供的组件,并且基于 web 的 React 是使用 css/sass/less 等来编写样式,而 React Native 则是使用 js 来编写样式,而 react-native-web 就是用来解决相关的问题,可以用它来编写更加 React Native 化的 web 代码来实现更多的代码复用。但个人感受来说,更多是作为一个兼容降级方案来准备,例如在 app 中的一个页面,用 React Native 来实现,当有问题时,我希望降级成为 webview 中的 html 来渲染,这个时候不需要再额外开发多一套完全不一样的代码了。在 app 和 web 完整分开并且页面不一样的情况下,个人感觉 react-native-web 的意义不大,仅作了解和参考。文章的评论也很精彩,很赞同的一个观点是,React Native 使用 js 来编写样式,更多是一种妥协而不是进步,从长远来讲,React Native 更多应该往 web 标准的方向靠,而不是 web 往 React Native 靠。
Medium’s CSS is actually pretty f***ing good
这篇是比较旧的文章了,但是我看到的时候发现内容很有用,作者讲述了他刚到 meduim 的时候,css 代码是多么的糟糕(可以看下我们现在的 css 代码是怎么样的,是不是也有类似的问题),然后他如何一步步对代码进行重构,让其变得更加优雅和可维护。想想我们现有的问题,页面用 scss/less 的时候多少地方使用了变量,是否考虑了作用域,当时使用 scss/less 的初衷是?样式代码的编写风格有没有统一,是否出现了很多没用的属性,自己都不知道为什么加上?文章中还提供了一份样式代码的编写风格规范,可以学习和参考。
技术的正宗与野路子
个人感觉这个标题不大合适,这篇文章更多是在讲好的技术人员应该如何循序渐进地去学习一门技术,里边举了 Java,Android 和 iOS 等作为例子,很全面地给出了相关的学习文档。能够找到正确合适的文档并且深入阅读和了解十分重要,所以很多时候在查找相关的一些资料时,更多是建议官网或者 Github 代码库的 readme 或 issue,而不是百度。不是在评价国内文章的优劣,而是很多内容会有一定的时效性,可能你百度到的 API 已经在最近的版本调整了,而这些总能在官网或者 Github 拿到第一手资料。
实用性 WEB 开发人员安全须知
很详细的一个关于 web 开发人员应该留意的关于安全的 checklist。可以通过这个 checklist 来了解更多安全性方面的概念,带有 -zh
后缀的是中文版本。
【译】为什么我要说 JavaScript 对象字面量很酷?
月影大神翻译的文章,原文是:Why object literals in JavaScript are cool 主要是深入介绍了 ES2015 如何解决原本 JavaScript 的对象字面量存在的一些问题,原本 JavaScript 的对象字面量用起来就很舒服了,可以用作 map,甚至 JSON 的数据格式由此发展起来,ES2015 扩展后的字面量更是舒服,例如可以在字面量中使用表达式作为 key 值,而不是单纯的字符串等。通过这个文章我们可以更进一步了解 JavaScript 的字面量以及对象和类的使用方式。
工具
wraith
BBC News 产出的一个用来对截图做 Diff 的工具,比较后可以产出一张图片用来标识出差异,方便我们在做 CSS 或 HTML 重构时的测试来发现页面差异。类似的还有 BackstopJS,PhantomCSS,page-monitor 等。
一些平时方便开发者阅读源码的工具:
octotree
Chrome 扩展,可以在访问 Github 的时候在左侧打开一棵源码的目录树,方便各种浏览源码,缺点就是它好像需要访问 Github API 拉取内容,所以速度有点慢,翻墙可以解决。
OctoLinker
Chrome 扩展,这个扩展会帮助你解析 Github 源码中的依赖,如果有 package.json 或者 Gemfile 的话,然后在源码中的 require
或者 include
等依赖便成为可点击的链接,点击即跳转到对应依赖的 Github 仓库。它需要解析并且搜索 Github,所以速度也是个小问题,不过比你自己搜索要舒服多了。