我的第一个android应用与第一个半个ios应用

  最近学ios也有段时间了,零零星星地学了一些东西,于是我决定写一个同我第一个android应用相同的应用,之所以说半个ios是因为没有网络访问,全是静态数据。想到写什么服务端,搞个数据库,头大了。我下面就我所学来比较两者的开发(以下android为安兄,ios为果兄,android开发为2013年,ios开发为2016年)

安兄:果兄,我们开发一个校园发帖应用吧,大家可以相互交流交流想法,学了这么多知识了,总要实践一下。

果兄:No problem!咱们讨论看看需要什么功能和UI

功能UI讨论完毕,功能是可以发帖和看别人的帖子评论,ui包括3个标签和一个水平滚的的View再加上导航栏

安兄:你界面怎么写的,我这个xml写的有点烦的

果兄:这个啊,拖控件啊,我看网上很多是这么说的,效果还行,蛮轻松的,不过有什么Auto layout和Size Classes我不是太明白。

安兄:我也可以拖,但是总是有点问题,我还是写xml好控制一点

然后安兄开始学习四大布局,并接触到了两个在我搞了iosUI和javaFXUI后觉得史诗性的属性:wrap_content和match_parent,然后花了很多时间去搞各种布局。果兄不需要太多适配,所有设置绝对值没什么问题,当然现在各种机型是需要去适配的。

 我使用了snapkit去布局,感觉和android的RelativeLayout很像,但是由于我没有发现ios中我提到的那两个史诗属性,我觉得自己并不会ios复杂的布局和适配,使用snapkit我会说我可以布局和适配40%的界面,学了四大布局我会说我可以布局和适配70%的界面,这也可能与我的熟练度有关了。从布局的方面说ios偏向于使用拖控件和设置属性的方式,开发起来简单(编辑器得做多少工作啊,我从android过来学习很少去拖控件,可能这会是ios界面开发的核心,但我并不会),android偏向于自己写xml,学习曲线相较于ios高,学习之后觉得自己布局基本没问题了。界面上我想说Android的wrap_content和match_content太棒了,iosUI可能相对会简单。

 安兄:你这个水平滚动的效果怎么做的,我这边好像还有倒入什么v4包,还要使用Viewpager这个东西,烦的不行。

果兄:UIScrollView就可以实现的,布局好然后设置一个属性就可以翻页了。

安兄:不是把,我这边也有scrollview,不是只能水平滚动的吗?

果兄:我这边两个方向都可以,你看看android有没有水平滚的。

安兄:嗯,你这个button效果可以啊,怎么写的,还有那几个点,我看打开应用引导页面经常有的。

果兄:你说这两个东西啊,button是自带的,那几个点UIPageControl,也是自带的。

安兄:哦

果兄:你现在做的怎么样了,我已经开发看多线程和网络。

安兄:勉强搭出一个界面吧,我自己都看不下去了。

然后安兄各种百度,scrollView水平滚动,Button效果设置等等。

从这些可以感觉到ios中的控件相比于android更加美观,效果更加全面,开发起来简单。android开发相对于ios做的要去做更多的工作,也就更了解原理。

(这里略过网络访问,网上代码copy,或是用三方库,并没有什么)

安兄:你多线程怎么搞的,什么主线程,子线程,但是好多问题,我正在想怎么在子线程里面获得数据传递到主线程去。

果兄:我们这边有个gcd,可以讲方法到子线程调用,然后回调到主线程里面的方法。我感觉用起来也没有太大的问题。

安兄:啊!? 不需要去定义子线程吗?继承一个Thread,实现run,然后start吗?

果兄:我们这边也有thread,我使用的是gcd,简单方便,网上也建议这么做。

然后安兄开始搞thread,又遇到了handler,looper这些东西,后来又知道了AsyncTask,各种坑不断。

我看网上有句话 一天搞完gcd,可见其开发是多么简单容易,你只需要去将方法放在不同的线程里面执行就好。在看了android的多线程开发之后,我想称其为bug级的gcd,可见ios这个方面是比android简单很多的。但是android搞懂了handler,looper,将会对主线程和线程的认识提高一个境界,为解决更多的问题的解决打下基础。gcd虽然用起来轻松,但容易让人只见树木,不见森林。

最后省略了网络访问,在不用第三发库的情况下,两个的使用相信你已经有了答案。

以上是我拿现在的swift开发和三年前的android开发做比较,是有失公允的,android的界面现在也是越来越好了。但是我还是感觉iOS的开发是比android轻松,高效的,android开发自己做的多了,也就对一些底层实现越来越了解了。

程序交付如下:


我的第一个android应用与第一个半个ios应用_第1张图片
我的第一个android应用与第一个半个ios应用_第2张图片

是不是被第一个的浓妆艳抹吓到了,然后感叹第二个的清新脱俗。

你可能感兴趣的:(我的第一个android应用与第一个半个ios应用)