平安科技移动开发二队技术周报(第二十期)
业界新闻
1)React Native for Android 发布
今年早期,Facebook发布了React Native for iOS,并于昨日正式发布了React Native for Android。React Native将React on the Web带入了移动平台的开发,同时保留了速度、保真和原生应用的界面体验,引起国内外开发界的重视和关注。
Android开发
1)深入理解Android之Gradle
Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。
2)Java反射最佳实践
最简单优雅的使用反射
3)Android分包MultiDex原理详解
当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。
4)Chromium的GPU进程启动过程分析
Chromium除了有Browser进程和Render进程,还有GPU进程。GPU进程负责Chromium的GPU操作,例如Render进程通过GPU进程离屏渲染网页,Browser进程也是通过GPU进程将离屏渲染好的网页显示在屏幕上。Chromium之所以将GPU操作运行在独立进程中,是考虑到稳定性问题。毕竟GPU操作是硬件相关操作,硬件的差异性会引发一定的不稳性。本文分析GPU进程的启动过程。
5)Android主题动态切换开源库Prism基本原理
Prism是一个全新的Android主题切换框架。虽然现在只是初步的发布,只具有一些基础功能,但已经足够强大了!在本系列文章中我会全方位地介绍Prism的使用方法,并告诉你怎样将它拓展到自己的工程中。
iOS开发
1)Swift中的设计模式
Swift是一门多范式编程语言。除了支持面向对象编程范式之外,还支持函数式编程范式,和泛型编程。这使得Swift可以使用函数式编程的某些优秀工具解决我们在面向对象编程中遇到的困难。在Swift中,一些模式已经被语言特性所吸收,你在使用Swift甚至察觉不出这类问题的存在;一些问题仍然存在,我们仍然需要某种设计模式,但实现起来会更为简便。
2)前Twitter iOS技术团队负责人:使用第三方库的四大准则
直接使用第三方库能够最大程度缩短开发时长,开发者很难抵挡着近在眼前的“短期红利”,但“魔法神奇库”也有可能阻碍程序排错。本文作者Ben Sandofsky曾领导Twitter iOS应用技术团队,他给出了挑选库时的几条原则。
3)一个资深iOS开发者对于React Native的看法
当我第一次尝试ReactNative的时候,我觉得这只是网页开发者涉足原生移动应用领域的歪门邪道。我认为一个js开发者可以使用javascript来构建iPhone应用确实是一件很酷的事情,但是我很快放弃了自己去使用它的念头。毕竟我因为爱好而从事ios原生开发多年,并且目前为止已经很熟悉这一套开发专业工具。
4)iOS 9 开发高级技巧:通过 12 个团队所提供的技巧来快速适配 iOS 9
为了庆祝 iOS 9 的正式发布,作者咨询了一些朋友,让他们分享一下在适配最新版本 iOS 的过程中所需注意的一些事情。下文列出的就是如何加快速度适配 iOS 9 的绝妙建议。
5)iOS 统计打点那些事
统计打点是 App 开发里很重要的一个环节,App 的运行状态、改版后的效果、用户的各种行为等都需要打点,市面上也有不少可供选择的第三方库。
技术纵横
1)我的软件开发生涯
作者10年开发经验总结。
2)对独立程序员的赞美
帕金森定理告诉了我们,「在工作能够完成的时限内,工作量会一直增加,直到所有可用时间都被填充为止。」将其应用到软件上,这意味着应用程序倾向于成为臃肿软件(bloatware)、极为臃肿的程序,其复杂程度使得它们几乎不可能被调试和维护。今天,我们看到了更开心的反例,从过去到现在,由「隐士级的程序员」创造的有野心的产品。
3)技术选型:喷子、胆量和产品意识
大多数技术都存在选型问题,因为技术的发展已经让一件事情可以有多种解决方案,选型问题就自然出现。前段时间也有人说过语言选型,这里举的例子是在组件、框架、服务的范畴。其中有相通之处,各位可以自行领会,不同之处待有闲之时另文专述。
4)全栈开发工程师就是个神话
“全栈开发工程师(full stack developer)”一词经常出现在企业招聘的岗位描述中。但Hello Pretty联合创始人兼首席技术官Scott Hadfield在近日发表的一篇博文中指出,全栈开发工程师就是一个神话,即使不完全如此,用人单位也很难找到一个这样的人。
5)ReThought系列:
开源函数库与工具
1)2015年最棒的10个 JavaScript 框架
JavaScript是最流行的前端开发程序设计语言。它为WEB开发者提供了能够设计出具有丰富功能、干净用户界面的WEB应用的能力。JavaScript框架使得WEB应用的设计变的简单,并且它能够提供很多的功能和方法。
2)AndFix
AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。
3)安卓书签网
Android开发资料的汇总。
文末摄影鉴赏