第1个回答 2017-08-31
如果题主是希望可以快速开发一款App。根据你描述的目前情况,还是需要补充不少知识。尤其是面向用户的知识,例如:前端UI、交互、设计、产品等。如果单从技术的角度来看,提供可以选择react native或者weex,都是不错的选择。但是,无论是react native还是weex,都需要掌握最基础最基础前端的基础知识(html、css、javascript)。但是,这无需题主了解很深,基本上边学边写代码即可。react native这一块会有一点成本,就是jsx语法。但是,也许题主完全没有接触过前端,完全是可以当作新的语法来学习即可。
因此,是出于快速开发App的目的,选择react native或者weex都可以。
(1)可以不用去深入学习iOS/Android的知识;
(2)前端相对入门较快;
(3)至少跨平台/移动动态化是一个趋势;
2. 进入移动开发领域,并且深入进去
如果题主是希望深入移动领域。那么,选择哪一个作为切入点都是极好的。个人建议,可以先从Android或者前端入手。毕竟Objective-C语法可能早期还是有些难以接受。如果直接学习swift吧,Objective-C还会继续存在很长一段时间。
那么,学习Android的好处就是:
(1)毕竟python学习的时间不长。学习Android的时候,可以了解JAVA,甚至可以深入学习JAVA;毕竟不能只学习Android SDK。这样,可以帮助题主了解一门语言的更多知识。
(2)如果将来深入进去的,Android的方向还是很多的,比如底层(这也就是开源的好处)、比如优化。
(3)Android开发使用java语言,后期研究javascript,就不会感觉到特别的陌生。
注意一下哈,我这里写的是【移动开发领域】。因此,将来深入的同时,避免不了了解iOS、了解前端。当然,这就是后话了。如果真的到了深入一端的时候,掌握其他两端应该都特别快。
3.把握趋势,让自己所学更有价值
如果题主是为了【把握趋势】,领先起跑线的话。我相信上面的几个:前端、react native | weex、iOS、Android都不会让你赢在起跑线。因为有3点:
(1)他们都不是一门新【语言】
(2)他们都需要比较扎实的编程基础。
(3)任何现在为人所知的知识,都是出来一段时间了。
【我觉得作为开发者了解趋势是一件特别重要的事,但是,不是刚刚进入某个领域的时候需要去特别关心的事。】
因此,我们需要选择一个入口,沉下去,然后才能很好的浮起来,才能冲出水面更高,更能看清前面的方向了。
至少,我觉得未来几年,Objective-C和JAVA不会消失,相应的iOS和Android系统还会继续存在;掌握这些本真的东西才是走的远的保重。框架都在变,唯一不变的本质是【移动开发经验的掌握】。说白了也就是:类似于Objective-C、JAVA、JavaScript这类语言构建应用的经验,而不是上层框架的使用经验。
即使社区特别发达,也会有纯【上层框架】无法提供的功能或者组件,至少人类的需求一直在变。就像秋裤和打底裤的流行一样,说不定,过了几十年,大家爱死了【秋裤】。当需要底层能力的时候,掌握iOS | Android | JavaScript 开发就显得弥足珍贵。