首先明确什么是底层开发,这个界线很难划分,有人说搞音视频底层编解码就是底层了,然而咱们看来不是这样,上面还有 rom 中音视频模块,再上面还有 driver,最初到物理硬件。那么咱们权且这么划分,以是否有大量的的业务逻辑为界线。业务逻辑,个别就是和产品状态紧密连接。以音视频为例,下层播放利用,会接入数据、UI 等产品需要。上层播放内核,次要以播放器为核心,对音视频数据注入,解码,渲染。
咱们从几个方面看下应用层和底层
1、游戏市场需求
应用层工作机会往往较多,如 10 个工作,9 个是应用层相干。毕竟企业或是公司都是商业化,都是围绕产品开发。而底层是撑持应用层。很多公司也不须要底层开发。因为齐全能够用第三方的解决方案。能够在肯定水平上节俭公司人力物力。所以很多底层开发都是在略微具备肯定规模的公司才有。从这点上看,底层确实有点坑。
2、游戏开发难度
个别底层开发都是用 c /c++ 实现,应用层开发很多都是 java/php 等这些高级语言实现,不排除一些工业级软件应用 c ++ 开发, 从上手来说,纯熟 c /c++ 相比于纯熟 java 开发,周期会更长。但并不是说 java 就不好,java 能写那么多很棒的利用,这点上 c /c++ 比不上的。然而个别有些特色一点的货色,如在 Android 平台上,都会放到 Native 中开发。一方面是效率晋升,另外就是平安。
3、游戏倒退方向
底层走的是窄、精路线,工作年限越长,对于集体专家能力越有进步。应用层走的是广、多路线。工作年限越长,对软件
架构设计越强,当然也是能够锤炼专家能力。应用层变动多,参加改革的机会会多很多,底层改变少,不是特容易有这样机会。齐全看个人兴趣。就好比这 www.sangpi.com 用了将近 3 年的工夫去摸索,而后依据本人的兴趣爱好去做。
4、薪资待遇
这里只探讨专家工程师,不探讨走治理路线的。底层待遇比应用层多,随年限减少,呈趋势。
最初,不要认为底层有前途,做应用层一样有前途。有人说,做底层,看起来很厉害的样子,这些都不是重点。重要是投入进去,精益求精。下层的货色更有意思,更有倒退空间。不仅是要面对灵便多变的需要,各种性能,把这些货色组织成一个产品就是十分考验能力的。光谈技术,怎么搭建架构?要做一件事件有多种抉择的时候,如何抉择?如何保障稳定性?如何放弃扩展性?如何不在不必要的中央节约精力?如何进步开发效率?而底层,眼前的一些细节就曾经让人很伤脑筋了,好不容易解决,也没有方法去思考能不能做得更好更牢靠。老做底层,很容易只见树木不见森林。至于支出方面,很可能底层开发因为技术更新慢,所以更容易积攒,单纯做技术的时候薪水就容易回升。而做下层,游戏技术更新快,新涌入的人也多,得继续努力学习,开辟视线。做完底层的人,更喜爱做下层,这样既然能领略森林之美,当然是森林更适宜你。