零基础现学苹果新语言 Swift 可能吗
3个回答
展开全部
可能是可能,但个人不建议用swift或OC作为第一门语言。
第一,这语言属于非主流。如果以它作为主要语种的话,你很难靠它找到工作。换言之,你也就没有什么参与实际项目的机会。自然也就很难成为一名合格的开发人员
第二,这语言不具备真正意义上的跨平台能力。无法跨平台的语言都不会有什么前途,目前“活着”的语言里,就只剩swift和Object-C这两个苹果家的奇葩了。。其他无法跨平台的语言,全都“死”了。靠苹果公司养着,虽不至于消失,但似乎很难对它的未来有太多期待。
第三,语言本身太新,没有太多案例可以参考。完善的教程不多,不利于初学。
其实前两个问题,可以合成一个问题来看。因为目前的主流开发方式,是“一次开发,到处部署”。每种语言可以部署的平台数量不同,但开发成本却都是差不多的。因此开发一次,可以部署更多的平台,则代表这门语言更有竞争力。而swift,开发完之后,只能部署到苹果自家的系统上。而部署到MAC OS和IOS之间,又差别很大,难以互通。等于增大了开发成本。
如果你对前面的说法感到不太理解,那就举个例子给你吧。就拿苹果家的swift和微软家的C#语言来对比。
比如你用swift做了一个小游戏,比如贪吃蛇吧。。这个项目当然可以运行在MAC OS系统上面。之后呢,你想在IOS上面也运行这个游戏。你会发现,它根本打不开。只好再重新写一遍。于是这就等于开发了两次,这就是所谓“N次开发”。而有一天你想在安卓系统上面运行它,会发现完全做不到,即“不具备可靠的跨平台性”。
而如果你是用C#开发了一个小游戏又如何呢?它当然可以运行在windows系统上面。之后你想在MAC上面部署?没问题,只要把代码复制粘贴,到MAC机上去发布就行了。Linux呢?同样如此操作便可,这就是所谓“跨平台性”。
那“一次开发”又是什么呢?比如有一天,想要在安卓上运行这个小游戏。当然还是靠“多平台”特性,发布成安卓版就行了(在windows系统上便可发布,需安装JDK与安卓SDK)。。但你会发现,虽然游戏可以打开,但安卓设备上面没有鼠标。而之前在windows上写好的代码,是要用鼠标操作的,所以根本无法控制小蛇转弯。其实并不用发愁,只需要借助一个叫Unity3D的引擎,把鼠标相关的操作,改成触摸操作就行了。不仅如此,借助Unity3D,你还可以把这个小游戏部署到PS4,XBOX等游戏机平台上面,去用手柄操作。或者VR设备上面,用VR眼镜上的控制器操作,仅仅只需要修改少量代码就可以了。。。。游戏内容一样,而操控的方式不一样,无需重新开发,只要把操作相关的代码改一下就行了,即“一次开发”。
具备跨平台性的主流语言如下,随便选一个学习便可,都是主流,都有海量教程,只是学习难度不同,按照自己的接受能力,自行选择便可:
JAVA (WINDOWS,MAC,LINUX,安卓)
C++(几乎所有平台)
C#(几乎所有平台)
Python(WINDOWS,MAC,LINUX)
学习难度方面,C++最难,非常难。。。。JAVA难度一般,C#和JAVA差不多,某些大神精力够强,可以JAVA与C#双修,因为两门语言的语法几乎一样,类似英语和美式英语的关系。。Python则是入门非常简单,据说有些国家都编入了小学生教材,但仅仅是语法容易,实际开发同样非常难。。而且项目越大,就越难,做大型项目,会比JAVA和C#更难。总之程序这东西,没有任何一个方向是不费脑子的,都挺难的。
第一,这语言属于非主流。如果以它作为主要语种的话,你很难靠它找到工作。换言之,你也就没有什么参与实际项目的机会。自然也就很难成为一名合格的开发人员
第二,这语言不具备真正意义上的跨平台能力。无法跨平台的语言都不会有什么前途,目前“活着”的语言里,就只剩swift和Object-C这两个苹果家的奇葩了。。其他无法跨平台的语言,全都“死”了。靠苹果公司养着,虽不至于消失,但似乎很难对它的未来有太多期待。
第三,语言本身太新,没有太多案例可以参考。完善的教程不多,不利于初学。
其实前两个问题,可以合成一个问题来看。因为目前的主流开发方式,是“一次开发,到处部署”。每种语言可以部署的平台数量不同,但开发成本却都是差不多的。因此开发一次,可以部署更多的平台,则代表这门语言更有竞争力。而swift,开发完之后,只能部署到苹果自家的系统上。而部署到MAC OS和IOS之间,又差别很大,难以互通。等于增大了开发成本。
如果你对前面的说法感到不太理解,那就举个例子给你吧。就拿苹果家的swift和微软家的C#语言来对比。
比如你用swift做了一个小游戏,比如贪吃蛇吧。。这个项目当然可以运行在MAC OS系统上面。之后呢,你想在IOS上面也运行这个游戏。你会发现,它根本打不开。只好再重新写一遍。于是这就等于开发了两次,这就是所谓“N次开发”。而有一天你想在安卓系统上面运行它,会发现完全做不到,即“不具备可靠的跨平台性”。
而如果你是用C#开发了一个小游戏又如何呢?它当然可以运行在windows系统上面。之后你想在MAC上面部署?没问题,只要把代码复制粘贴,到MAC机上去发布就行了。Linux呢?同样如此操作便可,这就是所谓“跨平台性”。
那“一次开发”又是什么呢?比如有一天,想要在安卓上运行这个小游戏。当然还是靠“多平台”特性,发布成安卓版就行了(在windows系统上便可发布,需安装JDK与安卓SDK)。。但你会发现,虽然游戏可以打开,但安卓设备上面没有鼠标。而之前在windows上写好的代码,是要用鼠标操作的,所以根本无法控制小蛇转弯。其实并不用发愁,只需要借助一个叫Unity3D的引擎,把鼠标相关的操作,改成触摸操作就行了。不仅如此,借助Unity3D,你还可以把这个小游戏部署到PS4,XBOX等游戏机平台上面,去用手柄操作。或者VR设备上面,用VR眼镜上的控制器操作,仅仅只需要修改少量代码就可以了。。。。游戏内容一样,而操控的方式不一样,无需重新开发,只要把操作相关的代码改一下就行了,即“一次开发”。
具备跨平台性的主流语言如下,随便选一个学习便可,都是主流,都有海量教程,只是学习难度不同,按照自己的接受能力,自行选择便可:
JAVA (WINDOWS,MAC,LINUX,安卓)
C++(几乎所有平台)
C#(几乎所有平台)
Python(WINDOWS,MAC,LINUX)
学习难度方面,C++最难,非常难。。。。JAVA难度一般,C#和JAVA差不多,某些大神精力够强,可以JAVA与C#双修,因为两门语言的语法几乎一样,类似英语和美式英语的关系。。Python则是入门非常简单,据说有些国家都编入了小学生教材,但仅仅是语法容易,实际开发同样非常难。。而且项目越大,就越难,做大型项目,会比JAVA和C#更难。总之程序这东西,没有任何一个方向是不费脑子的,都挺难的。
2019-04-29
展开全部
可能是有可能的,零基础学习swift还是有点困难,需要很努力的。想学swift可以去看看MJ的swift课程视频,希望有不一样的收获。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-04-16
展开全部
学习是可以学习,但是比较困难。建议还是ios开发人员学习比较好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询