文章目录

  • 简介
  • 一.初级篇
    • 1.R.swift
    • 2.SwiftLint
    • 3.LSUnusedResources
    • 4.淘系工程师个人项目
    • 5.Pedometer
    • 6.Lottie
  • 二.中级篇
    • 1.CollectionKit
    • 2.swift-style-guide
    • 3.Drafter
    • 4.高仿短视频推荐
    • 5.Google breakpad
    • 6.老司机周报
  • 三.高级篇
    • 1.ReSwift
    • 2.RxSwift
    • 3.Texture
    • 4.yoga
    • 5.VirtualAPK
    • 6.wanAndoid
    • 7.Epic
    • 8.YYKit

简介

继26个好玩又有挑战的前端练习项目、10个适合练手的后端项目之后,我们推出了移动端项目,难度依然分为【初级篇:6个】、【中级篇:7个】、【高级篇:8个】,不同学习诉求的同学可按需选择~

一.初级篇

1.R.swift

一个工具库,编译时会自动识别项目中的资源,将项目中的资源类型化,消除字面量。目前支持图片、字体、颜色、LocalizedStrings、Storyboards等等。缺点是组件化开发时可能需要修改脚本。

github地址:https://github.com/mac-cain13/R.swift

2.SwiftLint

一个工具库,编译时自动检查项目中不规范的Swift代码,消除不规范代码必备。可以通过编辑.swiftlint.yml来自定义规则。也支持通过brew安装,自己手动检查

github地址: https://github.com/realm/SwiftLint

3.LSUnusedResources

一个开源Mac工具App,可以分析检测项目中没用到的图片等资源。想要精简App包大小时,可以使用该工具辅助。

github地址:https://github.com/tinymind/LSUnusedResources

4.淘系工程师个人项目

这是一个模仿网易云特效的demo,在这么demo中,可以学习到酷炫的动画效果,也可以学习到贝塞尔曲线的来龙去脉。

项目地址:https://github.com/LiuLei0571/jingyun_breizer

5.Pedometer

swagger-ui一个简单轻量级的计步器,使用硬件传感器来计算步数,同时考虑到了电量使用问题,最小化电量消耗。

项目地址:https://github.com/j4velin/Pedometer

6.Lottie

Airbnb 开发的一款能够为原生应用添加动画效果的开源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能够实时渲染 After Effects 动画特效。

Lottie 在不需要对代码进行重写的情况下让工程师更加方便的创建更丰富的动画效果。有了 Lottie 你就不再需要使用 Gif 动画来展现效果。
目前,Lottie支持路径修剪,蒙版、遮盖等操作。此外还有一个可选的缓存机制,对那些频繁使用的东西能够更快加载。这款应用的目标就是帮助开发者和动画师能够更轻松的为应用创建动画,从而在整体上提升互动因素。

项目地址:https://github.com/airbnb/lottie-android

二.中级篇

1.CollectionKit

一个Swift列表库,继承自UIScrollView,可以自行对布局、数据源、渲染进行定制扩展。能快速自由搭建好看的列表页面,比UICollectionView的使用简单,比UITableView扩展性更强。

github地址:https://github.com/SoySauceLab/CollectionKit

2.swift-style-guide

swift-style-guide 是一个关于 Swift 语法的仓库。该仓库非常详细地介绍大多数常用 Swift 语法的推格式、注释等。对于 Swift 初学者来说是个非常有帮助的仓库。作者也维护了自己的网站,里面有非常多的高质量进阶的文章以及书籍,链接在图片下方。

WebPage地址:https://www.raywenderlich.com/whats-new
GitHub地址:https://github.com/raywenderlich/swift-style-guide

3.Drafter

Drafter是一个命令行工具,用于分析iOS工程的代码,支持Objective-C和Swift。自动解析代码并生成方法调用关系图。自动解析代码并生成类继承关系图。

github地址: https://github.com/L-Zephyr/Drafter

4.高仿短视频推荐

目前短视频 app 火爆异常,没几年已经成为国民级 app ,是时候来学习视频播放的相关知识了,下面两个项目是模仿抖音 app 的开源项目,可以作为开发者学习短视频开发的入门 demo 。

iOS:douyin-ios-objectc
项目地址:https://github.com/sshiqiao/douyin-ios-objectc

iOS demo预览地址:https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ebfb935983b343e4b71384119d4009df~tplv-k3u1fbpfcp-watermark.awebp

Android:Titok
项目地址:https://github.com/running-libo/Tiktok

Android demo预览地址:https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a54df25c4f104f839c6d702401e54d0b~tplv-k3u1fbpfcp-watermark.awebp

5.Google breakpad

一个跨平台的崩溃转储和分析框架和工具集合。Breakpad 可以在移除编译器调试信息后,抓取、压缩 minidump 信息,将其发送回你的服务器,然后为 C/C++ 生成调用栈。

项目地址:https://github.com/google/breakpad

6.老司机周报

老司机技术周报是一个由移动开发爱好者组成的团体,是目前为数不多还在活跃的 iOS 社区组织。每周一定期发周报,内容不局限于具体的技术相关,也包括对于 iOS 开发者有价值的信息,比如软件工程、程序员话题等。除此之外,老司机周报每年还会组织 iOS 开发者对 Apple WWDC 上的 Session 进行翻译、分析和总结,并发表在小专栏上。

  • 小专栏:https://xiaozhuanlan.com/u/damonwong
  • GitHub地址:https://github.com/SwiftOldDriver/iOS-Weekly

三.高级篇

1.ReSwift

Swift版本的 单向数据流框架。了解单向数据流思想可以参照Redux。

github地址: https://github.com/ReSwift/ReSwift

2.RxSwift

Swift版本的 响应式编程框架,与RxJava作者相同,思想一致。Rx已经形成了完备的生态,基于Rx的网络库、列表、UI等扩展都可以在github找到。

github地址: https://github.com/ReactiveX/RxSwift

3.Texture

异步渲染UI框架, 该库的设计思想对很多UI框架产生了影响。虽然入门门槛不高,但是想要理解内部实现机制还是有一定门槛的,而且由于用的人不多,这个库有一些坑比较难跨过去。不建议直接用在生产环境,某些特定场景还是可以用的。对此库建议观摩学习为主,封装动态化框架想要异步渲染,很大程度可以借鉴此库。

github地址:https://github.com/TextureGroup/Texture

4.yoga

一个C++写的跨平台布局引擎,ReactNative和Texture底层都用的该库。也可以基于此库快速实现一个Flex布局框架。

github地址:https://github.com/facebook/yoga

5.VirtualAPK

VirtualAPK是滴滴出行自研的一款优秀的插件化框架,通过将业务模块插件化,可随时更新插件来发布新功能,具备版本随时发布的能力。

项目地址:https://github.com/didi/VirtualAPK

6.wanAndoid

玩Android网站——努力做一个优质的 Android 站点,目前是国内比较火的Android开源社区,并且一直在持续不断的优化当中,作者已经开发了相关的 API 。

项目地址:https://www.wanandroid.com/index
项目地址:https://github.com/hongyangAndroid/wanandroid

7.Epic

是一个在虚拟机层面、以 Java Method 为粒度的 运行时 AOP Hook 框架。简单来说,Epic 就是 ART 上的 Dexposed(支持 Android 5.0 ~ 11)。它可以拦截本进程内部几乎任意的 Java 方法调用,可用于实现 AOP 编程、运行时插桩、性能分析、安全审计等。

项目地址:https://github.com/tiann/epic

8.YYKit

YYKit 是 ibireme 开源的一组功能丰富的 iOS 组件,其中包括 序列化框架 YYModel、缓存框架 YYCache、富文本框架 YYText 等。虽然这是一个相对较老的 OC 库,但其代码质量、性能至今仍是非常高的水平。除了了解这些库的设计思路和性能分析,也可以阅读源码和对应的博客,深入分析原理和业界方案。

Blog地址:https://blog.ibireme.com/
GitHub地址:https://github.com/ibireme/YYKit

大前端:分享21个经典的移动端 开源项目相关推荐

  1. html5 判断分享,好程序员HTML5大前端分享之函数篇

    好程序员HTML5大前端分享之函数篇,将代码编写在函数中,就可以避免在非必要情况下调用该代码,也就是说我们可以让一段代码在特定情况下再去执行. function 关键字:该关键字表示要声明一个函数. ...

  2. 影响了一代代前端人的 20 个里程碑式的顶级开源项目!- 2006 - 2021

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 猫哥会在每周的周一给大家推荐一篇上周的 前端周趋势榜的 10 大项目,每月给大家推荐一篇上个月的 前端月趋势榜的 20 大项目,方便 ...

  3. 8个经典物联网 智能硬件开源项目

    本文整理了2016年度,最经典的 10 个物联网开源项目.含工业应用.智慧家居.智能家电等种类,以供参考. 1.智能温控器,写字楼.工厂节能利器 说明 控制中央空调风机盘管的通断阀,风机高中低转速. ...

  4. 分享一份完整内容高端企业项目成本管理培训PPT模板

    项目成本管理是指为保障项目实际发生的成本不超过项目预算而开展的项目资源计划.成本估算.成本预算和成本控制等方面的管理活动.项目成本管理也是为确保项目在批准的预算内按时.按质.经济.高效地完成项目的既定 ...

  5. 适合前端初学者的:学习笔记 + 练手开源项目(持续更新ing)

    1.说明 最近想学习一下Web前端知识,本着理论 + 实践的学习路径,找了一些学习资源和开源项目练一下手. 2.路线规划 关于前端学习路线的一些建议 3.学习资源 菜鸟教程(里面有很多基础的教程和示例 ...

  6. 好程序员HTML5大前端分享常用开发工具大集合

    HTML5作为当前最为流行的编程语言,广为适用.语言的使用人数急剧增长,更多地开发人员使用这种语言来创建各种内容并放到互联网上.随着每一个新版本的发布,HTML通过更好的功能和技术渐渐占据了制高点.接 ...

  7. 给大家分享一篇 Python:渗透测试开源项目「源码值得精读」

    sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工具:HULK SSL安全扫描器:SSLyze 其 ...

  8. 分享20个最实用的 .NET 开源项目

    一.CoreShop商城 特色:.NET 第一国产电商项目,影响力最大 核心商城系统(CoreShop) 是基于 Asp.NET 5.0.Uni-App开发. 支持可视化布局的小程序商城系统: 前后端 ...

  9. 分享一个基于GPT-3.5 Turbo的开源项目,界面简洁大气,反应速度快

    今天在github又发现一个国内的大神开源的chatGPT项目.先看看整体的效果如何吧. 这个项目是基于OpenAI GPT-3.5 Turbo API 的demo. 本地部署 环境准备 安装node ...

最新文章

  1. U3D架构系列之- FSM有限状态机设计五
  2. mysql 常用命令 | 表间 弱关联 join
  3. Supporting Python 3(支持python3)——为Python 3做准备
  4. 鲜活数据数据可视化指南_数据可视化实用指南
  5. java script数据类型_typescript 基本数据类型
  6. TypeScript设计模式之职责链、状态
  7. iReal Pro 2020 for Mac(模拟乐队音乐陪练工具)
  8. ssh的mysql分页查询_在SSH框架下按条件分页查询
  9. 屏幕缩放比例 html,css如何自适应屏幕大小?
  10. Netty03-进阶
  11. CSDN数据库泄露!那些网站够安全吗?
  12. 微信推出“腾讯电子签”具有提醒对方还钱
  13. 期货市场之反转形态分析
  14. 音视频开发: ffmpeg采集桌面屏幕、摄像头保存为视频
  15. python:数据可视化 相关系数热力图绘制
  16. 如何改域的NETBIOS名?
  17. 安全L1-1.2 信息安全概述-协议层脆弱性分析01-物理层及链路层
  18. hibernate的多对多
  19. linux使用命令重命名_如何在Linux上使用重命名命令
  20. 软件工程师的自白:真希望自己从没学过编码

热门文章

  1. MYSQL导入数据列名有空格处理办法
  2. 【Elasticsearch选主流程】
  3. python 操作 mongodb 的一系列方法封装大家拿去用很好用
  4. JAVA 卡与 APPLET_APDU_Select相关命令
  5. 调试Bluetooth时的一些札记
  6. 【黎乙丙】平面设计工具知识,PS中的基础原理之图像选区的创建与编辑
  7. 每日一问 --如何理解复信号?
  8. 华为畅享8plus停产了吗_华为畅享8和Plus有什么区别?华为畅享8 Plus与畅享8全面对比...
  9. 在线教育直播——大班直播的优势
  10. 科技提升效率-手机群控和云群控浅谈