我看官方文档,SwiftUI 可以结合 UIKit 使用。所以我想能不能主用 SwiftUI,SwiftUI 中不能或者不方便实现的部分通过官方介绍的 UIViewRepresentable 和 UIViewControllerRepresentable 来引入 UIKit 解决。还是说依旧只用 UIKit,暂时不碰 SwiftUI ?
最近开始入门 Apple 开发的一点疑惑。
背景:想做一些复杂点的 App
1
Xusually 2020-12-08 17:34:05 +08:00
回答标题的问题:可以。
|
2
wobuhuicode 2020-12-08 18:30:11 +08:00
国内商业产品比较难,自己做的话随意吧
|
3
NightVermouth OP @Xusually @wobuhuicode 谢谢两位
|
4
Elethom 2020-12-08 19:57:41 +08:00 via iPhone
SwiftUI 最大的问题在于封得太死,各种 undocumented behaviours 要熟悉 UIKit 才能明白是怎么回事。不做深入定制用起来没什么问题,而且开发成本可以降到相当低。
|
5
nieyujiang 2020-12-08 20:09:56 +08:00 via iPhone
自己玩随意,iOS14 only 都没问题,公司产品这么玩,分分钟被打死😂😂😂
|
6
damngood 2020-12-08 20:56:34 +08:00 via iPhone
根据 twitter 上开发者的反馈看来有坑, 而且还不算少.
估计也得看需求来. 有些需求就比较容易落到坑里面, 有些的话就还好. 我自己的话目前肯定还是主框架用 uikit, 局部 ui 用 swiftui 玩玩. |
7
NightVermouth OP @damngood 我也是这种担忧,反馈上看 SwiftUI 坑太多,不如 UIKit 来的稳重
|
8
imgbed 2020-12-08 21:36:24 +08:00 via Android
iOS12 之前的能运行吗?
|
9
oxromantic 2020-12-08 21:46:50 +08:00
iOS 13 警告
|
10
NightVermouth OP |
11
damngood 2020-12-08 22:14:22 +08:00
@NightVermouth 嗯, 是这样的. 但是如果是奔着学习的目的去的话那可以选择用 SwiftUI. 毕竟还迭代一两个版本后基本应该也要稳定了. 就和当年 Swift 一样, 4.0 才能算正真的 1.0 版本.
|
12
Leonard 2020-12-08 22:30:51 +08:00
不适配早期版本是可以。但是还是如楼上几位说的,自己项目随意,正经项目就先别上。
|
13
Building 2020-12-09 01:28:05 +08:00
只要页面复杂到一定程度,你就会发现,用 SwiftUI 还不如用 UIKit 。
|
14
icebarley 2020-12-09 14:17:48 +08:00 1
我最近刚上架的到期提醒 APP 就是主用 SwiftUI 写的( https://apps.apple.com/cn/app/如期而至 /id1538275500 )。刚开始的时侯还是 SwiftUI1.0,年中出了 SwiftUI2.0 之后,代码支持都断层了,所以部分功能还要分 2 种代码方式去写,最终体验也有区别,所以现在用的话用 SwiftUI2.0 支持得更好,但也是只能 iOS14 only 了
|
15
JasonEWNL 2020-12-09 21:09:08 +08:00
单纯问题是可以,但更重要的是你的定位(仅玩 / 独立上架 / 小公司起步 / 大公司接入,盲猜大概率是前两种)。
|
16
JasonEWNL 2020-12-09 21:23:52 +08:00 1
细说一下:
1. 仅玩:基础功能现在 SwiftUI 到 2.0 了基本都很完整,没有的用 Representable 也能达到能用(而且大部分都有实现所以大部分没有啥成本); 2. 独立上架 / 小公司起步:纠结的核心主要是支持系统( iOS 13+ 还是 14+)、有无 WebView (比如现在 SwiftUI 还没,得自己写 WKWebView 的 Representable )等,一般除非是主打本地功能且不太需要考虑老系统的独立应用,其他都很难回避上面两种问题。手头夏天写的一个可以参考一下: https://apps.apple.com/cn/app/%E8%BD%BB%E5%8C%97%E6%B4%8B/id1529084736,因为需要 2.0 的特性选择了 iOS 14+,另外有些自定义 View 的需求也用了一定的 Representable 妥协。 3. 大公司接入:虽然大概率不是,但如果是基本还是在 OC (尤其国内),而且考虑可能要放 SDK 啥的(也基本是基于 OC )除了新的 Widgets 就没 SwiftUI 啥事了。 |
17
NightVermouth OP @JasonEWNL 我属于独立上架 /小公司起步这块的
|
18
Bruce2077 2021-04-01 21:39:57 +08:00
看项目规模和场景,如果是中大型商业项目,暂时不要用,其它场景撸的飞起。
我写了一个 SwiftUI & Combine 教程 app:Eul ( https://apps.apple.com/cn/app/eul/id1541991958 ) 目前正打算开发另一个 SwiftUI 的个人项目 : ) |