由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - swift用了一个月有感
相关主题
Go 1.5 will be able to build iOS appszhaoce 师傅?没oc基础 能直接学swift做app么?
问问开发ios的,有用C++来组织代码的么?想学ios html game development, 请推荐入门的package/tool
Swift 一定要买 iOS dev membership 吗? 99 刀mobile上才应该用单线程
有前辈在vm 里开发ios 吗?白富美用apple,屌丝用google
不给果果交保护费的后果打算买个基础型号的mac mini来做开发
xcode 6.1 is outswift越写越觉得,这玩意就是java吧?
狂搞swift中Swift 要开源了,不知道和scala比怎么样?
想学zhaoce大牛看看swift我觉得Swift开不开源关系不大
相关话题的讨论汇总
话题: swift话题: viewer话题: xcode话题: api话题: oop
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 54598
1
最近在搞swift,xcode 6.3之后感觉有些比较恶心的改变
涉及到一些core api的改动,导致很多书都凹凸了
还好最新的项目只是刚开始构思,开始动手时候赶上6.3发布
所以也就用上了最新的features,争取这个月release一个app
说点感想和吐槽
第一个as -> as!
xcode 6.3搞了一个大的不往后兼容的改变
结果导致以前所有的例子几乎都会出现编译错误,需要重新编写和debug
因为as不能用了,必需用as!,所以你会看到网络上大量的swift教程
被updated到6.3,就是因为这个,向前兼容被严重破坏鸟
还有touchBegins也有改了参数
第二个!
myVar != 2

myVar! = 2
有两个不同意思的,可能就只有swift了吧?
第二个oop
mvc很好用,基本上无论是android还是iox都在大量使用mvc
但是viewer部分非常不合适用object
model当然是oop,到处都是object,但是viewer部分
因为机能所限,所以还是用canvas&paint模式
无论是surfaceview还是quartzcore
基本上都是procedural programming,跟c比较像
java的都是static方法,quartzcore也差不多
基本上mvc上除了viewer以外,其他应该全部oop
但是viewer坚决不要用oop,深入研究了cocoa这些framework之后
发现他们也没有封装viewer相关的api为object,所以也就不用了
imageview和skview都强行做成了object,不太好用,机能受限也是一个重要原因
这部分用static还有class func
第三个gameloop
无论是android还是ios,gameloop其实都绑定到了ui thread上去
保持跟ui thread一样的刷新频率,从本质上说,都是伪的多线程
第四个网络
ios还很弱,需要借助第三方类库,好在github上炮灰多
随便下
c*******9
发帖数: 9032
2
Alamofire 网络库还比较好用,作者是AFNetwork的作者。

【在 z****e 的大作中提到】
: 最近在搞swift,xcode 6.3之后感觉有些比较恶心的改变
: 涉及到一些core api的改动,导致很多书都凹凸了
: 还好最新的项目只是刚开始构思,开始动手时候赶上6.3发布
: 所以也就用上了最新的features,争取这个月release一个app
: 说点感想和吐槽
: 第一个as -> as!
: xcode 6.3搞了一个大的不往后兼容的改变
: 结果导致以前所有的例子几乎都会出现编译错误,需要重新编写和debug
: 因为as不能用了,必需用as!,所以你会看到网络上大量的swift教程
: 被updated到6.3,就是因为这个,向前兼容被严重破坏鸟

z****e
发帖数: 54598
3
多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的
不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋
但是udp/tcp还是经常需要用的

【在 c*******9 的大作中提到】
: Alamofire 网络库还比较好用,作者是AFNetwork的作者。
n****n
发帖数: 222
4
第一个as? -> as!非常蛋疼,我的一个project升级前毫无问题。升级完后,出现300+
行这个错误。Xcode也不能给swift rename。
z****e
发帖数: 54598
5
?不用改成!,这两个mutually exclusive
只有as的downcast时候才必需改成as!
这个功能只有用xcode时候才能提高编程效率
如果不用ide,用vi这里肯定疯狂拉低编程效率
说到底还是要学会用ide

【在 n****n 的大作中提到】
: 第一个as? -> as!非常蛋疼,我的一个project升级前毫无问题。升级完后,出现300+
: 行这个错误。Xcode也不能给swift rename。

n****n
发帖数: 222
6
是的我就是downcast的时候。Swift读restful API的时候不知道data类型是什么,我只
能一步一步downcast,最好还要加上 if let,以防万一类型cast错了,或者API改了
response。

【在 z****e 的大作中提到】
: ?不用改成!,这两个mutually exclusive
: 只有as的downcast时候才必需改成as!
: 这个功能只有用xcode时候才能提高编程效率
: 如果不用ide,用vi这里肯定疯狂拉低编程效率
: 说到底还是要学会用ide

z****e
发帖数: 54598
7
对的
if let v=myVar as? DownVar{
}
这种表达很蛋疼,不如try catch那么直观
唯一的好处就是这一行可以塞入一堆的?
就是fp的monad,fp的部分很是蛋疼的说
可读性其实很差,至少我第一眼看到的时候
就琢磨了半天,花了几个小时才领悟

【在 n****n 的大作中提到】
: 是的我就是downcast的时候。Swift读restful API的时候不知道data类型是什么,我只
: 能一步一步downcast,最好还要加上 if let,以防万一类型cast错了,或者API改了
: response。

n****n
发帖数: 222
8
对的,原来大牛也有同感。我一开始看这个一行又是let, 又是?,又是as,极度不爽。

【在 z****e 的大作中提到】
: 对的
: if let v=myVar as? DownVar{
: }
: 这种表达很蛋疼,不如try catch那么直观
: 唯一的好处就是这一行可以塞入一堆的?
: 就是fp的monad,fp的部分很是蛋疼的说
: 可读性其实很差,至少我第一眼看到的时候
: 就琢磨了半天,花了几个小时才领悟

c*******9
发帖数: 9032
9
用http的应用还是多。游戏多用udp,好像Gamekit会调用。
苹果不是做企业应用的,所以只提供最基本的network api。

【在 z****e 的大作中提到】
: 多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的
: 不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋
: 但是udp/tcp还是经常需要用的

c*********e
发帖数: 16335
10
你用tcp做什么?

【在 z****e 的大作中提到】
: 多谢知会哈,我去看看,官方搞个udp/tcp的core lib有啥难的
: 不知道为啥一直不搞,几分钟就搞定的事,http是比较扯蛋
: 但是udp/tcp还是经常需要用的

相关主题
xcode 6.1 is outzhaoce 师傅?没oc基础 能直接学swift做app么?
狂搞swift中想学ios html game development, 请推荐入门的package/tool
想学zhaoce大牛看看swiftmobile上才应该用单线程
进入Programming版参与讨论
z****e
发帖数: 54598
11
什么都做
比如用ios上的app控制cloud

【在 c*********e 的大作中提到】
: 你用tcp做什么?
c*********e
发帖数: 16335
12
为什么用tcp,不用http来控制cloud呢?

【在 z****e 的大作中提到】
: 什么都做
: 比如用ios上的app控制cloud

z****e
发帖数: 54598
13
因为http吃饱了需要head和body,parse来parse去
无聊不无聊,tcp足够用了,我要那么多tags干嘛?

【在 c*********e 的大作中提到】
: 为什么用tcp,不用http来控制cloud呢?
z****e
发帖数: 54598
14
感觉swift无论是从线程,还是drawtext这些
都比android开发要容易一点,更人性化一点
android如果不是我对java比较熟悉的话
感觉很多东西还是比较容易混淆的
c*********e
发帖数: 16335
15
人家轮子给你造好了,你不用?

【在 z****e 的大作中提到】
: 因为http吃饱了需要head和body,parse来parse去
: 无聊不无聊,tcp足够用了,我要那么多tags干嘛?

c*********e
发帖数: 16335
16
swift就是objective-c上穿个衣服,让程序员写得简单点。android就是借java,它自
己搞的那么多class,每个android版本会有新的class来代替,真是麻烦死了,不知道哪
天来个新版本,自己写的android代码又obsolete了!!!!

【在 z****e 的大作中提到】
: 感觉swift无论是从线程,还是drawtext这些
: 都比android开发要容易一点,更人性化一点
: android如果不是我对java比较熟悉的话
: 感觉很多东西还是比较容易混淆的

z****e
发帖数: 54598
17
靠,http是设计用来给web page用的
自己看看全称叫啥名字,我这又不是web page

【在 c*********e 的大作中提到】
: 人家轮子给你造好了,你不用?
z****e
发帖数: 54598
18
没有啊,我很少用特别新的api的
我自己动手搞引擎,各种破事就少很多
app如无必要,还是不堆轮子比较好,轮子堆多了
客户体验就不太好,这点跟server显然不同,server资源多
随便搞

【在 c*********e 的大作中提到】
: swift就是objective-c上穿个衣服,让程序员写得简单点。android就是借java,它自
: 己搞的那么多class,每个android版本会有新的class来代替,真是麻烦死了,不知道哪
: 天来个新版本,自己写的android代码又obsolete了!!!!

c*********e
发帖数: 16335
19
其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip
address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com
看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js,
完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相
当于是async.

【在 z****e 的大作中提到】
: 没有啊,我很少用特别新的api的
: 我自己动手搞引擎,各种破事就少很多
: app如无必要,还是不堆轮子比较好,轮子堆多了
: 客户体验就不太好,这点跟server显然不同,server资源多
: 随便搞

c*******9
发帖数: 9032
20
自己做东西就不要搞的太复杂。另外,facebook的一些开源框架实在烂,坑了不少人。

js,

【在 c*********e 的大作中提到】
: 其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip
: address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com
: 看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js,
: 完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相
: 当于是async.

相关主题
白富美用apple,屌丝用googleSwift 要开源了,不知道和scala比怎么样?
打算买个基础型号的mac mini来做开发我觉得Swift开不开源关系不大
swift越写越觉得,这玩意就是java吧?学swift应该如何开始?
进入Programming版参与讨论
c*********e
发帖数: 16335
21
facebook成功的关键,是能搞到投资。技术上,确实没啥东西。

【在 c*******9 的大作中提到】
: 自己做东西就不要搞的太复杂。另外,facebook的一些开源框架实在烂,坑了不少人。
:
: js,

s****y
发帖数: 503
22

用Alamofire以后会不会有问题?xcode和ios一升级,老项目经常会出现问题。

【在 c*******9 的大作中提到】
: Alamofire 网络库还比较好用,作者是AFNetwork的作者。
c*********e
发帖数: 16335
23
每次升级都会有这些屁事。j2ee,tomcat也一样。

【在 s****y 的大作中提到】
:
: 用Alamofire以后会不会有问题?xcode和ios一升级,老项目经常会出现问题。

s****y
发帖数: 503
24

问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是
open source的lib,所以不敢用啊。

【在 c*********e 的大作中提到】
: 每次升级都会有这些屁事。j2ee,tomcat也一样。
g*****g
发帖数: 34805
25
图片在CDN上不是常识吗?

js,

【在 c*********e 的大作中提到】
: 其实,facebook用了很多服务器来做它的網頁。比如,它的图片其实存在另外一个ip
: address上https://scontent-lga.xx.fbcdn.net,而不是https://www.facebook.com
: 看来,为了網頁快,不卡,可以用多个server来呈现一个網頁,就像我们用jquery.js,
: 完全可以用网上的版本,这个网上版本在load的时候,網頁的其它tag也在同时load,相
: 当于是async.

c*********e
发帖数: 16335
26
facebook到底有几个server同时呈现一个网页?它的网页上的图片很少看到loading...
之类的spinner,这对于一个多图的网站是很难得的。

【在 g*****g 的大作中提到】
: 图片在CDN上不是常识吗?
:
: js,

g*****g
发帖数: 34805
27
CDN是根据你的 geo 优化的。

..

【在 c*********e 的大作中提到】
: facebook到底有几个server同时呈现一个网页?它的网页上的图片很少看到loading...
: 之类的spinner,这对于一个多图的网站是很难得的。

c*********e
发帖数: 16335
28
这个需要在不同的location放几个server吗?比如西北,西南,中北,中部,中南部,
东北部,东南部,各放一个server? 这样是不是会快些?

【在 g*****g 的大作中提到】
: CDN是根据你的 geo 优化的。
:
: ..

c*******9
发帖数: 9032
29
目前没发现什么问题。找些教程试试就知道了。

【在 s****y 的大作中提到】
:
: 问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是
: open source的lib,所以不敢用啊。

z****e
发帖数: 54598
30
放屁
我每次升级都很平稳

【在 c*********e 的大作中提到】
: 每次升级都会有这些屁事。j2ee,tomcat也一样。
相关主题
react native比Xcode swift做的app更好看问问开发ios的,有用C++来组织代码的么?
Swift 4 的代码迁移还算平坦Swift 一定要买 iOS dev membership 吗? 99 刀
Go 1.5 will be able to build iOS apps有前辈在vm 里开发ios 吗?
进入Programming版参与讨论
c*********e
发帖数: 16335
31
2比1

【在 z****e 的大作中提到】
: 放屁
: 我每次升级都很平稳

z****e
发帖数: 54598
32
狗屁2:1
就你一个人在瞎说

【在 c*********e 的大作中提到】
: 2比1
z****e
发帖数: 54598
33
看版本号
第三方类库一般在官方升级之后,会很快升级
关键是如果你到时候要用旧版本的类库
反而不太容易找
尤其是文档
这个最新的已经升级到6.3了
Requirements
iOS 7.0+ / Mac OS X 10.9+
Xcode 6.3

【在 s****y 的大作中提到】
:
: 问题就是apple太aggresive了,他一升级一大堆error,万一解决不了怎么办?尤其是
: open source的lib,所以不敢用啊。

1 (共1页)
进入Programming版参与讨论
相关主题
我觉得Swift开不开源关系不大不给果果交保护费的后果
学swift应该如何开始?xcode 6.1 is out
react native比Xcode swift做的app更好看狂搞swift中
Swift 4 的代码迁移还算平坦想学zhaoce大牛看看swift
Go 1.5 will be able to build iOS appszhaoce 师傅?没oc基础 能直接学swift做app么?
问问开发ios的,有用C++来组织代码的么?想学ios html game development, 请推荐入门的package/tool
Swift 一定要买 iOS dev membership 吗? 99 刀mobile上才应该用单线程
有前辈在vm 里开发ios 吗?白富美用apple,屌丝用google
相关话题的讨论汇总
话题: swift话题: viewer话题: xcode话题: api话题: oop