Swift 官方的文档马上看完了.有什么开源框架 orApp 适合去研究巩固下这方面知识的吗

2022-08-03 10:39:55 +08:00
 ravenZ

因为目前项目还是老一套的 OC. 准备用 swift 重写.. 现在学完基础语法了,感觉和 OC 差别挺大的..(当然用 OC 的方式写 Swift 差别不大..

现在就是想着,尽量用 Swift 的精髓去重写项目. 目前官方文档马上看完了..

想着马上看 RxSwift,但是感觉是不是有点深了.体验会不好.

所以来问问大家..有什么项目可以学习的吗

9107 次点击
所在节点    iDev
16 条回复
wobuhuicode
2022-08-03 10:43:11 +08:00
不是应该直接上 Combine+SwiftUI 就好了么。还要 RxSwift 干嘛
kera0a
2022-08-03 10:53:21 +08:00
不深,可以直接学 RxSwift ,准确的说是学响应式编程思维,挺有意思的,并不需要有什么学习前置条件。
重点理解流的各种操作符,每个都实际写一下理解含义。
之后这些操作符对流的组合会让你打开新世界,编程还能这样编?并且这种编程思维换个框架甚至语言依然通用
code4you
2022-08-03 10:59:09 +08:00
自己想做啥 就开始做 比如 记事本 记账 😊

遇到问题 在 https://stackoverflow.com/搜索

我自学 遇到的大部分问题(90%) 都在 stackoverflow 找到的答案
code4you
2022-08-03 11:02:44 +08:00
楼主可以看看这个~~~ 忽略我楼上的答复

khoren93/SwiftHub: GitHub iOS client in RxSwift and MVVM-C clean architecture
https://github.com/khoren93/SwiftHub

可以看看这个项目


以为楼主是自学 囧 我审题错了
ravenZ
2022-08-03 11:03:30 +08:00
@wobuhuicode 我落后很多个版本了
但是国内大部队好像还停留在 OC 转 Swift 的后期阶段,就用于工作而言似乎还能再等等..

@kera0a 好的了解 谢谢老哥
ravenZ
2022-08-03 11:10:08 +08:00
@code4you stackoverflow 确实是给力的
哇,非常感谢, 项目看简介就是我很想要的 好人一生平安
Innovatino
2022-08-03 11:24:27 +08:00
Swift 的精髓……Swift 核心团队自己知道精髓是啥么,天天整活儿
其实要我说,不如看看对标 OC 的那些常用库,写得都很“精髓”
wobuhuicode
2022-08-03 11:32:13 +08:00
@ravenZ 前几年使用 RxSwift 来开发,在非 SwiftUI 模式下感觉有点不伦不类的。如果对标 OC 的话,还不如用回旧的那套 MVC 方案。很多思路和代码风格其实都是 OC 下的延伸,只是少了很多模版代码。
andyJado
2022-08-03 12:04:03 +08:00
@wobuhuicode combine 很蠢的, 下个 swift playground 里面有个相机 app, 从这开始, swift 写的, 代码风格极好, combine 的场景逐渐被 async stream 替代.
ravenZ
2022-08-03 12:11:05 +08:00
@Innovatino 确实特性和语法糖有点多了.. 就总归也有好的地方吧...

@wobuhuicode MVC 我反正吹爆,简单易懂好上手便于维护... MVVM 那套相对比来说. 就是把原来 MVC 一眼就看到的屎,变成了找来找去才能找到的屎.. 但想进步,还是得整花活,搞点没搞过的...
iXInbo
2022-08-03 13:25:45 +08:00
其实没必要讲究学到精髓后才写。
什么时候重写,当然是闲暇的当下;而且也没有必要用 rxswift ,试试 Swift 一些第三方库,可以实现类似效果。

还有就是想办法提升最低 iOS 版本,有些好用的新写法都是需要一定版本的 iOS 的,比如 tableview 和 collectionview 的快照写法;需要 iOS 13 以上
ravenZ
2022-08-03 14:17:55 +08:00
@iXInbo 估计是要闲暇很长一段时间了..(目前主要负责已有项目的维护, Android iOS.
Android 暂时没什么想法去多学,能依葫芦画瓢就行了.
iOS 是本职,但是落后当前版本挺多的.swift3 4 年前是有用来写过项目的, 就 Alamofire Snapkit 这些,感觉就是在翻译 OC...

最近接触到了一个老外写的项目. 就是面向协议编程那个味,感觉挺有意思...
所以萌生了好好研究下 swift.. 用非翻译 OC 的方式 试着去重写一个已经稳定的 App
xtinput
2022-08-03 15:14:46 +08:00
直接上手就 OK ,没啥好学的
xtinput
2022-08-03 15:16:09 +08:00
RxSwift 不建议放到老项目里面去,直接上手,混编,一点一点的将原项目变成全 swift 。我就是这么来的,手里现在的项目已经变成纯 swift 了(三方除外)
oooo723
2022-08-04 09:04:24 +08:00
RxSwift 不建议看了,看看 swifui+swift-async-algorithms 吧,之前在 swift 论坛看到 combine 的大部分功能应该要放到 language 层面( swift-async-algorithms ),还有推荐看看 TCA 架构
iXInbo
2022-08-05 14:26:24 +08:00
@ravenZ 那就试试 swiftUI+ Combine ;但是要求 app 最低版本是 iOS 13 ;如果你做的 app 还要加兼顾低版本,那就只能 uikit+rxswift 了


Combine 是 Apple 工程师开发的闭源框架,也是响应式编程理念,API 与 RxSwift 相似,但是执行效率要高于 RxSwift 。
而且作为本质的,使用系统原生的会更好点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870371

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX