首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

听了2017年 Swift 开发者大会一些感想

特别感谢@Flow.ci提供门票支持。 2017Swift 开发者大会在深圳举办了两天,第一天是外国嘉宾。因为需要上班,加上全天都是英文,去了也是听不懂,星期六就在公司安心的上班了。 星期天很多都是国内的大神,心想总算可以听明白了吧。之前从来没有参加过这种技术分享会议,星期六下班的时刻就十分的激动,期待明天参加。 星期六激动的都放弃了平时的加班,直接回家了。为了不错过,特意在星期天定了一个6:40的闹钟,怕迟到,毕竟到后海地铁站需要大概20个地铁站距离。 星期天出发的时候,特意带上充电宝,iPad,一个最喜欢古风本子,一直圆珠笔。 带上充电宝是需要给手机和 iPad 充电,带上iPad 是为了方便写 Swift 代码进行测试,毕竟 iPad 带有 Playground 软件。 带上本子和笔是因为我觉得听这种分享的讲座一定有一些心得,就带上本子和笔随时的记下来。 但是果然带去的东西都是没啥用的。 上午的第一场是巧哥关于 分析 Swift 的性能分析的。当巧哥说全程尝试用英文讲解的时候,我一脸懵逼。 坐在我后面的两个人也在讨论,他们说昨天听了一天的英文,幸亏身边有一个伙伴给他们翻译。今天准备轻松一些,但是没想到 第一场还是英文讲解。 是呀很多人的英语还除了可以马马虎虎的看懂英文文档,但是真实的听别人说时候,估计都会听不懂吧。 掏出笔记本本来想听巧哥分享记一下笔记,但是听到巧哥全程英语完全听不懂就又装进书包里面了。 虽然巧哥全程英文讲,但是看了巧哥的文档和一些示例代码。倒是理解的也听懂了一些。 Swift 利用 Struct 和类不同的存储方式,从而优化了储存控件,提高了速度。 当然还有一些其他的优化,不过我就听懂和记得这些了。 不过有一些遗憾就是文档也是英文的,如果加上中文的备注,这样就更完美了,说不定我学到的更多。 第二张是滴滴大神戴铭,前面放了他精心绘制的图片,大家前期的注意力都集中在他绘制的图片上了。 他讲一些编译器远离,编译器如何把高级语言转换成中间代码到低级语言再到汇编语言。怎样把汇编语言一步步的转换成高级语言。 前面讲解他们如果将前段的 CSS 和 JS 转换成 Swift 代码在 iOS 平台运行,听着觉得还有意思,觉得大神们研究的确实不一样,有深度。 但是后面讲解编译器远离的时候,我听懵逼了。大学的时候就学计算机远离和编译机。 当时觉得很枯燥就讨厌的逃课,因为对于那时的我们完全没有没有游戏更加的有趣。 我不清楚技术的发展是不是基础-复杂-基础。可能是基础了解-复杂深入-再到基础深入的过程。 但是我承认大学对于编译器远离厌恶,现在更是。所以后面基本上没有听进去了。 中途休息的时候,原本打算和大神交流一下。但是看着不是全程英文和高深的听不懂的内容。 觉得大神真的是神一般的存在,高高在上,高的都没办法走进去交流,怕被嘲笑自己的无知和弱小。 我本来想问一下戴铭滴滴对于模块化是如何打造的,还有一些关于滴滴之前做的修复框架是怎样的思想,怎么解决遇到难题的。 最后也没敢去问,感觉自己就是一个菜鸟,怕问出来被嘲笑。就好像别人都在研究1+1怎么等于2时候,我们还在问别人别人高数的问题。 第三场是腾讯柯灵杰分享打造一个易扩展高性能的图片框架。他分析是如何一步步将最简易的图片加载框架升级到一个扩展性更高,性能最优的图片加载框架。 我看完 PPT,觉得这种技术分享才是我希望看到的。不仅亲民,而且听完十分好理解。 看完他分享图片加载框架和现如今加载框架基本上逻辑是一样的,和我自己心里面能想到如出一辙。但是他们做的一些图片的处理渲染,和一些查询的优化。 如果我也写一个这样的图片加载框架,觉得最大的区别就是图片渲染和查询的优化了。 可能技术越到最后,可能最难突破的就是这些所谓的优化了。 下午第一节是王文槿分享的MVVM 框架,我觉得他分享的MVVM 框架和很多公司的都是不一样的。 比如在我的脑海里面所认识的 MVVM 框架是这个样子的。 模块化架构你为什么这么火,让我如此亲睐你? 这一篇文章讲述我对于模块化架构的研究和对于 MVVM 的一些研究。

02

泛型和元编程的模型:Java, Go, Rust, Swift, D等

在程序设计的时候,我们通常希望使用同样的数据结构或算法,就可以处理许多不同类型的元素,比如通用的List或只需要实现compare函数的排序算法。对于这个问题,不同的编程语言已经提出了各种各样的解决方案:从只是提供对特定目标有用的通用函数(如C,Go),到功能强大的图灵完备的通用系统(如Rust,C++)。在本文中,我将带你领略不同语言中的泛型系统以及它们是如何实现的。我将从C这样的不具备泛型系统的语言如何解决这个问题开始,然后分别展示其他语言如何在不同的方向上逐渐添加扩展,从而发展出各具特色的泛型系统。 泛型是元编程领域内通用问题的简单案例:编写可以生成其他程序的程序。我将描述三种不同的完全通用的元编程方法,看看它们是如何在泛型系统空的不同方向进行扩展:像Python这样的动态语言,像Template Haskell这样的过程宏系统,以及像Zig和Terra这样的阶段性编译。

03
领券