平安科技移动开发二队技术周报(第十六期)
##业界新闻
####1)iOS应用开发登陆Windows平台惹争议
现在,开发者可以在Windows 10上用Visual Studio 2015来开发iOS应用了。这项技术之前曾在微软内部的Islandwood项目中被提及过,现在官方公布了正式名称:Windows Bridge for iOS。这个项目基于MIT开源许可证书,通过GitHub开源代码。
####2)Android 6.0“准正式版”来也
新版SDK包含最新的Android API以及相对应的开发工具,下载后将应用项目compileSdkVersion更新至Level 23,就可以测试自己的应用软件与新平台的兼容性了,尤其是自动备份、应用许可等新功能。
附上超炫的开机启动动画:
##Android开发
####1)关于Android的.so文件你所需要知道的
应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64。
####2)Android中的Flux架构
Flux 架构 被Facebook使用来构建他们的客户端web应用。跟Clean Architecture一样,它不是为移动应用设计的,但是它的特性和简单可以让我们很好的在安卓项目中采用。
####3)Android性能优化典范(三)
Android性能优化典范的课程最近更新到第三季了,这次一共12个短视频课程,包括的内容大致有:更高效的ArrayMap容器,使用Android系统提供的特殊容器来避免自动装箱,避免使用枚举类型,注意onLowMemory与onTrimMemory的回调,避免内存泄漏,高效的位置更新操作,重复layout操作的性能影响,以及使用Batching,Prefetching优化网络请求,压缩传输数据等等使用技巧。
####4)Android中插件开发篇之----应用换肤原理解析
现在市场上有很多应用都有换肤的功能,就是能够提供给用户一些皮肤包,然后下载,替换。而且有些皮肤是要收费的。对于这个功能的话,其实没有什么技术难度的,但是他包含了一个现阶段很火的一个技术:动态加载。
####5)最美应用-从Android研发工程师的角度之[厨房故事]
本文我们将如约来分析下厨房故事这款德国app的技术堆栈。由于国内和国外网络环境,技术环境的不同,我们将会看到它和最美时光很不一样的东西。我们需要思考的是如果是自己开发一款全新的app时,会如何选择属于自己的技术堆栈呢?
##iOS开发
####1)深入理解Objective-C:方法缓存
只要用到Objective-C,我们每天都会跟方法调用打交道。我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知。本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现。
####2)How Not to Crash
在iOS和Mac应用开发中如何避免写出Crash的bug,这一系列文章将告诉你需要注意的点。
####3)给Objective-C的“悼词”
作者Aaron Hillegass是知名的Objective-C开发者和布道者,他于90年代在NeXT公司工作,后来专注技术布道,是Big Nerd Ranch的创始人兼CEO。他撰写了多本Objective-C书籍,在苹果发布Swift后,目前他开始将布道重心转向Swift。
####4)iOS APP安全杂谈
这是一系列文章的开篇,主要讲解了:
- IOS APP本地文件安全
- HTTP/HTTPS下通信数据安全性的思考
- 非安全从业者是中间人攻击的重灾区
####5)我的iOS高效编程秘诀—坚持编程习惯
习惯会影响一个人做事的方式,也会直接影响效率。我经常在项目完成后自我总结,有哪些做得好的,有哪些做得不好的?然后把一些好的流程记录下来,并且重新运用回编程中。那些能够坚持去做的流程,就变成了我的编程习惯,这些良好的习惯就成就了我高效的编程效率!
##技术纵横
####1)我所理解的执行力
- 永远不放弃对目标的努力
- 多替别人着想
- 努力提高自己的综合能力
####2)谈谈React.js的核心入门知识
React并不是一个框架,React提供了一些新颖的概念、库 和编程原则让你能够同时在服务端和客户端编写快速、紧凑、漂亮的代码来构建 你的web应用。
####3)LinkedIn副总裁谈工程师文化
LinkedIn高级副总裁Kevin Scott根据自己的亲身经历,将组织和管理研发团队的经验梳理出来,总结为研发团队领导者赖以生存的四点智慧:
- 不要将建立公司与构建技术相混淆
- 在问“what”之前多问“how”
- 对研发来说,不断改进是有效的,但对研发文化却不行
- 不要等,写下你的文化宣言
####4)美团前端组件化开发实践
随着前端开发复杂度的日益提升,组件化开发应运而生,并随着 FIS、React 等优秀框架的出现遍地开花。这一过程同样发生在美团,面临业务规模的快速发展和工程师团队的不断扩张,我们历经引入组件化解决资源整合问题、逐步增强组件功能促进开发效率、重新打造新一代组件化方案适应全栈开发和共享共建等阶段,努力“controlling complexity”。本文将介绍我们组件化开发的实践过程。
####5)如何成为一名卓越的前端工程师
一个前端工程师的应该有的心态:
- 别光解决问题,想想究竟发生了什么
- 学会预见未来的浏览器发展趋势
- 阅读规范文档
- 阅读别人的代码
- 与比你聪明的人一起工作
- “造轮子”
- 把你学到的东西都记录下来
##开源函数库与工具
####1)国外著名后端云服务商Parse开源其Android&iOS SDK
SDK源码质量很高,对于日常工作是 SDK开发的开发者来说,是一个难得的学习机会。
####2)显示 Markdown 格式文本自定义WebView
基于MarkdownJ实现扩展的WebView,可用于加载MarkDown格式的文本或者文件,并以HTML形式显示出来。