Yep 学习之旅 - Podfile 篇

Yep - 遇见天才,成为天才的地方

“Yep 是一款非常小巧而轻量化的社交 App,围绕「遇见天才」这个主题,让用户去找到领域中的精英或者是正在一起学习的人。” ——官方简介

从产品的角度,我觉得它很好地把朋友圈的概念提炼加工,通过“遇见天才”这个主题,依据不同领域、地理位置等来筛选匹配相对应的朋友圈,并将“评论”转换为话题讨论,很好地做到了轻量而高效的社交体验。

更赞的是Catch Inc团队将整个Yep开源出来了,既能吸引天才们一同参与贡献,也能帮助向着天才进发的童鞋学习成长。再来一个顶级赞,镶钻的那种。👍+💎

话不多说,赶紧去App Store下载,来到Yep的世界就对了!当然了,iOS开发者们,也一定别忘了去Github关注这个优秀的开源项目。

Podfile 学起

以下就是Yep项目中的Podfile中的pods

def pods
    pod 'Kanna'
    pod 'Navi'
    pod 'Appsee'
    pod 'Alamofire'
    pod 'DeviceGuru'
    pod '1PasswordExtension'
    pod 'KeyboardMan'
    pod 'Ruler'
    pod 'Proposer'
    pod 'FXBlurView'
    pod 'Kingfisher'
    pod 'TPKeyboardAvoiding'
    pod 'pop'
    pod 'Base64'
    pod 'SocketRocket'
    pod 'RealmSwift'
    pod 'MonkeyKing', '0.0.2'
    pod 'JPush-iOS-SDK', '1.8.8'
    pod 'Fabric'
end

可以看到,里面随便一个框架,光是介绍就可以写好几篇长文,但我们这回就走马观花一趟,看看在做项目的时候,有哪些功能模块是通过优秀的第三方开源库来完成,以便腾出足够的时间在核心业务功能快马扬鞭~

Kanna - XML/HTML的解析框架

通过搜索源码可以看到,Yep项目中只有OpenGraphService.swift中用来解析HTML,来获取其中的meta以及其中的propertycontent,还有site_nametitledescriptionimage等属性,这样就可以在话题中优雅地展示Github、Drribbble、简书包括Apple Ebook、Apple Music、Apple Movie等各种分享链接了。

if let doc = Kanna.HTML(html: HTMLString, encoding: NSUTF8StringEncoding) {

        var openGraph = OpenGraph(URL: URL)

        if let metaSet = doc.head?.css("meta") {

            var openGraphInfo = [String: String]()

            for meta in metaSet {
                if let property = meta["property"]?.lowercaseString {
                    if property.hasPrefix("og:") {
                        if let content = meta["content"] {
                            openGraphInfo[property] = content
                        }
                    }
                }
            }

            openGraph.siteName = openGraphInfo["og:site_name"]

            openGraph.title = openGraphInfo["og:title"]
            openGraph.description = openGraphInfo["og:description"]

            openGraph.previewImageURLString = openGraphInfo["og:image"]
             ……
}

解析处理之后,展示出来的效果:

Navi - @nixzhu打造的“纳美人”

这是一个头像(Avatar)缓存组件,@nixzhu也专门写了一篇文章详实介绍了打造这款轮子的始末,详情可移步《一种头像缓存策略》

Appsee - App统计分析神器

这是一款支持点击热图和用户记录的统计分析框架,针对产品的市场分析和迭代改进非常有帮助,它是付费的,所以有需要的童鞋可以去Appsee官网详细了解,获取支持。

Alamofire - Swift语言下必备的优雅网络框架

如果你在写OC的时候离不开AFNetworking,那么转战苹果下一代语言Swift的时候你就同样离不开Alamofire,必掌握无疑。

DeviceGuru - 简单快捷的“设备识别器”

以下是它全部的用法介绍,是不是简单快捷而高效呢?

If you install from CocoaPods, you have to import the module. If you used drag and drop then there is no need of import

import DeviceGuru 

In your code:

let deviceCode = DeviceGuru.hardwareString()
let deviceName = DeviceGuru.hardware()
print("\(deviceName) - \(deviceCode)") 
//Ex: IPHONE_6S_PLUS - iPhone8,2

1PasswordExtension

想必许多人都了解或用过1Password,方便、安全的密码管理软件。还是学生的时候买不起,就选择了同样优秀的LastPass,所以等到1Password限免的时候买了,但因为习惯,所以仍然还是在用LastPass。哎呀~!扯远了。言归正题,可以看出来,Yep团队是非常有Geek追求的,在应用中集成了这个密码管理插件。那么,也赶紧学着做个Geek的开发者吧。Github-1PasswordExtention《在自己的项目中嵌入1Password》by翔妖除魔

KeyboardMan - 又一个Yep作者打造的优秀轮子

其主要用于方便处理键盘通知,也同样有一篇文章讲述介绍。

Ruler - 这不是轮子,这是@nixzhu的尺子

顾名思义,它可以方便地获取屏幕的各类尺寸信息,Yep的分享与开源精神棒棒棒~,快去Ruler-Github点颗小星星吧。

Proposer - 还是Yep团队的优秀开源组件

这个工具厉害了,在提出获取各种图片、位置、联系人权限的时候,便捷温馨地先给出了小提示吧,告诉用户“我是个好人,就拉下小手增进友谊,啥坏事都不干!”。还等什么呢?去Proposer-Github点星星啊,点得亮晶晶的,带着那种一点star好像你就会用且写得出来的错觉~

FXBlurView - 缔造朦胧美

做半透明、模糊处理的框架不少,但Yep的天才们都在用它,有什么理由拒绝再新学一个呢?FXBlurView-Github

Kingfisher - 喵神的图片下载缓存框架

OC你用SDWebImage, 那么Swift下,请选用喵神牌Kingfinshe,你值得拥有。网红代言和知名品牌框架的优点就是文档介绍详实齐全,就像机械工具都选用德国品牌那样。

TPKeyboardAvoiding - 让滚动和键盘的弹出、关闭优雅无痛

滚动窗口中的键盘应该懂得用户什么时候需要它,什么时候又需要它“走开!”。想必Yep中舒服的键盘弹出关闭体验,功不可没吧。

pop - Facebook出品的动画扩展库

有了,你的应用可以duang得又酷又有节奏。喜欢动画,又薄弱在动画的我应该好好学会用才行。

Base64

想了解这个框架的作用,先去Wiki了解base64编码是怎么回事吧。有需要的时候拿来用就好了。

SocketRocket - 遇见天才的Yep怎么能离开WebSocket来持续连接

Yep中话题中的聊天想必离不开这个框架组件的支持了,要做社交聊天的话,WebSocket是一定要接触的。那么,从这个Socket客户端库开始或许是个不错的契机。

RealmSwift - 数据可以有另一种玩法

Realm.io是一个声称为移动设备而生,要替代SQLite和Core Data的数据库工具。Yep的天才们选择了它,是特立独行还是别有洞天?至少,对于移动端的数据储存方案,多了一种优雅的解决方案。

MonkeyKing - 轻巧的社交分享解决方案

针对国内主要社交平台的分享框架,轻量实用高效。@nixzhu的开源力作。

JPush-iOS-SDK - 极光推送

国内知名的推送服务平台,去官网获取支持吧。

Fabric - 模块化、跨平台的移动开发套件

增加应用的可靠性,在上线之前进行测试,提高下载量,吸引新用户,鼓励用户互动,掌握应用增长指标,让应用带来收益。

Twitter帮你用最少的努力打造最好的应用程序,学好了可以很好地解决开发中的许多问题。

总结

以上,就走马观花完了。接下来,就可以看看这些优秀的开源框架在Yep中是怎样得到高效应用的。

来自彬少の原野

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容