之前写了一篇文章「微信小程序」有哪些冲击与机会?,然后公众号后台一大堆同学问我这么一个问题,说正在准备或者已经在学习 Android 开发了,看完我的文章感觉很恐慌,更加难以选择了。

其实在微信小程序出来之前,就有不少同学问我关于 web 前端与移动开发的选择问题,只不过微信小程序出来了,微信的影响力不得不值得关注,这个问题就被放大了,所以,今天单独写篇文章来解答下你们的困惑。

1. 编程基础是通的

首先我们要有这么一个意识,就是只要从事编程,不管你选择什么方向,web 前端、Android、iOS 还是后端开发,一些编程基础是通的。比如数据结构、算法、存储、网络等等,不管你选择什么编程语言,在最初的时候大多数都是从 C 语言开始学习,C 语言基本上是我们编程的启蒙语言了,没错,我从编程白痴最初也是从 C 语言开始学起的,之后一些计算机方面的基础后面都有花时间去补习。

所以,不要觉得选择了一个方向,就妄想着会用那些 SDK,会用一些 API 就够了,远远不够!

从编程基础来说,移动开发与 web 前端没多大区别。

2. 编程门槛

有人说了,既然编程基础都是通的,那么学习任一个方向就没什么区别了?

并不是,上面说了一些编程基础是必须的,但是并不意味着这些知识在最初就必须掌握才能去学习编程,很多时候可以先入行,后面再慢慢补,俗话说:师傅领进门,修行靠个人!但是很多人往往连进门都还没进门,因为编程这个行业相对其他领域来说,门槛还是蛮高的,尤其对那些自学编程的人来说,大部分人还没开始就放弃了,门槛还是很重要的。

我个人认为,后端门槛大于前端,这个大家应该能理解,后端涉及到服务器、大数据、算法、并发等,稍有差池影响的可是几百万几千万用户,这个不管是对基础还是对经验都是有较高要求,而前端则不,前端重视UI交互与效果,通常很少涉及到复杂的业务逻辑,假设某个版本出问题了,最多影响的是更新这个版本的用户而已,开发也大多是从用户角度去出发的,更贴近用户。

目前来说这里的前端其实包括移动端和 web 前端。移动端面向手机,web 前端面向浏览器,只不过现在再也不是单纯的面向 PC 端浏览器了,还包括手机浏览器。从门槛角度来说,我认为移动端门槛比 web 前端门槛要高。且听我说明原因:

做移动开发的知道最初学习的时候是不是要折腾一堆东西,搭建开发环境,下载 SDK,配置环境变量,学会使用 IDE 等,还要学相对应的编程语言,学完编程语言再学对应的 api,配稍微差点的电脑甚至都跑不起来,光搭建开发环境这步就让不少人失去了耐心与兴趣。

而 web 前端哪有这么复杂,直接一个 txt 就可以上手写 HTML 了,何况 HTML 很简单,学习来毫不费劲,一开始学点简单的 javascript 也没多大压力,电脑只要有浏览器就可以直接运行看效果,而且浏览器自带调试工具,没有那么多讲究,几年前的电脑都可以拿来做 web 前端开发,所以,我认为 web 前端的门槛要比移动开发门槛要低。

从编程门槛来说,web 前端比移动开发占优!

但是门槛也只是让你更快入门而已,web 前端想要做好,依然需要下不少苦功夫,web 前端必备技能 html、css、javascript 想要学好同样不会那么容易,需要不断的学习与实践才能掌握的炉火纯青,何况当下 web 前端也需要懂点后端知识的,因为大部分 web 前端是依赖后端框架的,除非你是做纯静态的页面。也就是说,想要在领域内做的出色,任何方向都不轻松!

3. 市场热度

其实在微信小程序没推出之前,web 前端已经慢慢有需求变大的趋势。主要是 web 前端基于微信、微博的营销推广是不二之选,另一方面各种跨平台框架如 React Native、weex 的推出更刺激了 web 前端的需求,之前 web 前端如果是不温不火,那么近期我认为市场热度与薪资水平基本跟移动开发差不多,只不过微信小程序的推出,毫无疑问,起码看起来 web 前端要更火了。

但是为什么说是「看起来」呢?因为微信小程序也是刚推出,虽说机会很大,但是不确定性同样很大。另外,微信小程序刚推出之后,我司就学习并且做了 demo 出来,发现微信小程序有个非常大的限制,就是不支持 WebView,不支持 WebView 这点对 web 前端影响很大,也就意味着你一个再有能力的再牛逼的 web 前端都很难在微信内部玩出花样,大家都是用一样的 SDK,遵循微信的规范来进行开发,所以我认为微信小程序对技术的要求没有那么高了,很多有点经验的程序员都能学会,如果缺乏程序员的创业公司我相信可能会选择外包,所以,我认为微信小程序决定的不是技术,起决定性因素的可能是你的产品,起码目前来看是这样的。

所以,市场热度来说似乎 web 前端更火了,但是我还是那个观点,对原生开发有冲击,尤其是一些初学者,企业要求会更高,但是我认为对原生开发的影响不是那么大,我们姑且可以把他看做新增了一个除 Android、iOS 以外的一个新的平台而已。

4. 总结

综上,web 前端的门槛比移动开发更低,未来的市场热度也比移动开发更高,但是编程的基础与编程语言是相通的。我对你们的建议概括下来如下:

  • i. 如果你是还未入行,打算自学编程的同学,那么我推荐你学习 web 前端,学习微信小程序,因为入门更简单些,而且小程序刚推出,可以缩小下跟那些老鸟们的差距,但是想学好一样不容易。

  • ii. 如果你已经在学习 Android 或者 iOS 一段时间了,甚至已经有点工作经验的人,那么我建议你一门心思继续把现在的学好,不要受任何影响,任何时候,任何市场,对优秀的人才都是抢手的,你被冲击或者被影响只能说明你学的不够好,能力不达标。

  • iii. 如果你对某一方向感兴趣,比如 web 前端跟移动开发都接触了解过,但是对某一个很感兴趣,那么我强烈建议跟随你的兴趣,不用担心市场、专业不符等其他客观条件,掌握好一门技能最多是工作而已,大部分人都是这样的,但是你如果把兴趣变成工作,这将是你的生活。一旦把兴趣变成工作,你将充满斗志,比别人更投入,毫无疑问,只要坚持下去,你肯定会进步更快,在领域内更容易取得成果!

最后,编程语言是互通的,学会一门语言再学习另一门技术会非常容易,所以重要的是你必须要先掌握一门技能,假如未来真的受到冲击,不用任何人提醒,你自己会第一时间去变通并且适应,相信我,这是人的本能。而很多时候兴趣才是决定你能走多远的决定因素,如果你的工作能是你的兴趣所在,这难道不是每个人最期待的工作么?

你们肯定会问我现在的工作是不是我最期待的工作?too young,我最期待的工作其实是:不工作!

本文原创发布于微信公众号 AndroidDeveloper (微信id: googdev),转载请务必注明出处!

移动开发 or web 前端?相关推荐

  1. 开发web前端_移动前端开发和web前端开发的区别?

    如果说非要有区别的话应该就是开发的软件和方式不同,因为他们本来就不属于一端的东西,具体来看看下面: web前端开发 用最简单粗暴的方式来讲,就是用html + css + javascript来构建一 ...

  2. java下拉菜单_薪资对比:Java开发和web前端薪资哪个好

    Web前端开发和Java开发哪个薪资更高,Web前端开发和Java开发发展前景更好? 互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了 ...

  3. 移动web前端开发框架_移动前端开发是Web前端开发吗?

    移动端开发并不是Web前端开发,但移动前端开发和web前端开发其实都属于前端开发的范围,目前前端发展的趋势就是大前端,可以说是包罗万象.但不论趋势如何发展,目前来看HTML.CSS和JavaScrip ...

  4. iOS客户端开发与Web前端开发

    来源:Bang 不知不觉做iOS客户端开发已经半年多了,了解到iOS客户端开发与Web前端开发的一些异同,写一下. 1.版本升级.用户角度上看,客户端升级必须让用户手动下载整个新的安装包覆盖安装,而w ...

  5. 北风网web前端开发培训课程 web前端开发实例视频教程下载

    web前端开发视频教程 Web前端开发工程师培训 零基础Web前端开发工程师高端培训配项目开发(月薪过万的最佳选择) 课程讲师:叮咚 课程分类:套餐推荐 适合人群:初级 课时数量:305课时 用到技术 ...

  6. 好程序员web前端分享移动前端开发和web前端开发的区别

    好程序员web前端培训分享移动前端开发和web前端开发的区别,既然都是前端开发,两者肯定有紧密的联系,但是楼主主要询问区别,我就先简单聊一下相同点,之后在着重分析不同点. 移动前端开发和web前端开发 ...

  7. php前端开发语言,web前端编程语言有哪些?

    web前端开发相信大家都不会很陌生,你在网页中看到的所有效果都离不开web前端开发者的努力,有同学问小千web前端工程师都用的哪些语言呢?下面小千就来给大家介绍一下. 1.HTML/CSS HTML可 ...

  8. HTML5开发和web前端开发的区别与联系?

    HTML5与Web前端什么关系,Web前端有哪些优势?Web前端就业怎么样?现在学习前端就业前景好吗?越来越多人了解Web前端,也有很多年轻人想进入到Web前端的行列,但是现在Web前端还值得大家去选 ...

  9. html前端开发作品,Web前端开发(HTML5+CSS3)

    HTML5和CSS3(简称H5技术)是Web前端开发的最新技术, H5技术可以实现多方面的跨界:PC端/移动端,Android/iOS.应用领域包含传统互联应用.移动开发和云计算等.市场上对Web前端 ...

  10. 从游戏开发到web前端——仅仅只是开始

    文章开头,请允许我随便扯扯. 一来,开头从来都是最难写的,二来,描述我现在的心情和状态以及工作背景啥的,对于大家理解后面的内容也许会有所帮助~ 2012年211大学毕业,工作4年了,一直都是做游戏前端 ...

最新文章

  1. 一系列用于Fuzzing学习的资源汇总
  2. 5类6类7类网线对比_未来值得投资的6类苗木,5年内市场前景应该都不错!
  3. linux 打开端口1935,CentOS服务器开放端口
  4. ubuntu mysql emma_ubuntumysql客户端emma中文乱码问题解决_MySQL
  5. python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...
  6. 纯CSS无hacks的跨游览器多列布局(转)
  7. oracle约束 关闭,Oracle约束管理脚本
  8. JS-元素的样式操作-文本内容-位置
  9. 开源社交系统ThinkSNS——社交与电商的结合
  10. Eclipse 下用Maven构建ssh框架web工程
  11. zabbix运维:[Z3001] connection to database ‘zabbix‘ failed: [1045]
  12. 几行代码就能实现为何要多此一举
  13. SpringBoot 导出Excel 固定表头
  14. 索尼Z2强刷固件教程
  15. srsLTE学习笔记(一)——eNB配置文件enb.conf解析
  16. Everything+Wox介绍和使用方式
  17. 2022-2028年全球与中国近红外照相机行业发展趋势及投资战略分析
  18. java中io流,Reader和Writer,InputStream和OutputStream,转换流 InputStreamReader 和 OutputStreamWriter
  19. python开发简历自我介绍范文_你们简历上的自我介绍怎么写的?
  20. J2EE基础教程(4):struts框架(视频笔记)

热门文章

  1. http协议包头分发一些理解
  2. axure rp9是什么软件?如何在Mac中安装使用?
  3. Lungo 保持 Mac 屏幕唤醒的方便工具
  4. 已支持macOS Big Sur 的apple App更新列表
  5. Joyoshare UltFix快速修复iPhone黑屏死机的问题
  6. 如何使用Omni Remover Mac版释放Mac上的空间
  7. selenium chromedriver usage
  8. SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解——跟着开涛学SpringMVC...
  9. 运行IIS提示500.21错误
  10. linux里命令pkg-config工具的使用