前端,是一个经常会被小觑的技术领域,在大多不明所以的人眼里,前端不过是排排版、布布局,甚至是一些前端的新手也会这样认为(这里的前端并不特指 Web 前端,移动端也可归结为前端)。那么前端真的就如此无趣且一成不变么?

之所以本系列取名为 Thinking in FE,是因为 Thinking 让人沉静、不浮躁,就该用这种心态来面对前端。作为本系列的第一篇,我觉得是很有必要把 Web 前端拿出来说说,这几年 Web 前端变革得太快,如果你还是以为吃透了 float 就吃透了整个布局,搞定了 css + div 就能纵横 Web FE 的话,本篇就是为你而准备的。

阅读全文 »

前段时间,由于家中无人,水管突然爆裂,导致水漫金山,以致于把我珍藏多年的高配 TP-Link 给活生生的淹死了。想当年克俭克勤,好不容易买来准备把玩 Openwrt 的(后来忘了这茬),看来梦想终是破灭了。

于是,在家人好言相劝并不断督促的前提下,我怒下重金在京东买了小米路由3。一个炎热而又百般无聊的下午,京东快递小哥暧昧的给我递上一个包裹,小米路由安静而美丽的躺在里面,久违的清风吹过,家人乐了,而老司机我这次却坐不住了。

这一次,一定要抽空把玩下这货,以免人生再留下遗憾啊!

阅读全文 »

如果是做 OSX 或 iOS 下的应用开发,我相信 Xcode 是大家再熟悉不过的 IDE 了,有句话是这么说的:工欲善其事,必先利其器。那么,我觉得在整个项目开发的过程中,了解 Xcode 的项目管理思维还是非常必要的,但实际的工作过程中,我发现很多人都忽视了这块。

所以,本篇文章以大家最熟悉的面向对象思维来分析 Xcode 的项目管理方式,希望能让大家知其然,更能知其所以然,并能将其应用到自己的实际项目管理中。

阅读全文 »

这个世界不乏浪漫之人,但在我们程序设计的圈子里,能将代码写得像诗般的人,还是凤毛麟角的。本篇文章要介绍的 Promise&Future 便是我觉得非常浪漫的一种抽象思维,无论是它的命名、实际解决的问题,还是它最终的代码风格,都让我们向诗人更近了一步。

当然,我本就是一名诗人。

阅读全文 »

在很早以前,我的有一篇文章中就说过,对于设计模式而言,我们不应该刻意去使用,而是要在非常自然的情况下,不知不觉地去使用。但前提是,你必须对目前所有的设计模式有较深刻的理解,在内心深处烙印下这样的一个种子,后续你才会有更大的机缘,莫名其妙的就使用上它。

本篇文章,主要是介绍了 GoF 23 种设计模式中的组合模式,这算是结构型设计模式中的平民级模式,因为它简单、易用,但效果,往往能助你化繁为简。

阅读全文 »

春节长假归来,相信大多数人都犯了节后综合征,那么就写一篇博文来收收心。没有心思干活的同学们,可以看看我的这篇文章,权当是散散心,找找感觉。

本篇文章主要介绍了关于上下文(Context)的一些概念,并提出了在设计上下文时应该考虑到的问题,最后通过一个实例来演示如何用Objective-C实现一个上下文。相信通过阅读本篇文章,大家能够基本掌握软件设计中上下文的使用,并且,我相信,想象力如此丰富的你们,会将此推演到更高的境界。

那么,让我们从一些比较轻松的环节开始吧!

阅读全文 »

经历过最近轰动一时的 Xcode Ghost 事件后,可以看出,即便大如腾讯这般的企业,在面对 APP 的安全性时,态度也是不够严谨的。各大媒体却将矛头指向了苹果手机(标题:苹果手机不安全),这种低俗的竞争手段还真让人汗颜。作为开发人员,我觉得非常有必要修习安全相关的知识,即便不是精通,起码要有些常识。

这篇文章,便是在普及 iOS 安全的基本常识,而你目前关于这方面的认知,可能都是错的!

阅读全文 »

国庆长假已经接近尾声了,那么,伴随着国庆的结束,这系列文章也将告一段落。前面两篇里,我们更多的都是在关注设计方面的东西,设计本身就很虚无,难以琢磨。所以,本篇将重点介绍一些实现细节,一些能够实实在在解决问题的策略。

阅读全文 »

在上一篇博文里,我们将最基础的消息通讯组件打磨了一下,并且为了节约开发时间,我们还量身定制了一款代码生成工具。本篇不会再纠结于底层的相关细节,而是将重心放置在高层,乃至整体的一个宏观设计和分析。

软件开发是门很有趣的艺术,如果你真的用心去体会它。

阅读全文 »

在前一段时间里,我曾就TeamTalk和Telegram两款Mac下的IM软件的架构设计作了些许分析,对其亮点和不足之处给出了自己的见解。IM本身就是一个比较复杂的应用,要想做好必须是要花费一点精力的,特别是对细节的把握。倘若服务端设计本身不够理想,客户端又受限于某种并不如人愿的基础库,加之工期逼赶,家事繁忙,似乎一切天时地利都不在时,如何做出一个让自己满意的IM呢?

本文就上述并非虚构的上下文中,带领大家突破这重重枷锁,重塑架构设计,还你一个干净明了的即时通讯。技术在于分享,我并不觉得需要有任何保留,小伙伴们,拭目以待吧!

阅读全文 »