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

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

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

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

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

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

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

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

我自学 遇到的大部分问题(90%) 都在 stackoverflow 找到的答案
code4you
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
ravenZ
2022-08-03 11:03:30 +08:00
@wobuhuicode 我落后很多个版本了
但是国内大部队好像还停留在 OC 转 Swift 的后期阶段,就用于工作而言似乎还能再等等..

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

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

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

最近接触到了一个老外写的项目. 就是面向协议编程那个味,感觉挺有意思...
所以萌生了好好研究下 swift.. 用非翻译 OC 的方式 试着去重写一个已经稳定的 App
xtinput
xtinput
2022-08-03 15:14:46 +08:00
直接上手就 OK ,没啥好学的
xtinput
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