免编程应用开发软件制作平台需要自己开发前端和后端吗

游戏开发也是一种软件开发软件开发有产品设计、视觉设计、技术实现等方面,游戏开发同样也有对应关系:游戏设计、美术设计和技术实现只不过游戏的美术资源量要比软件大得多。

题主的问题肯定是集中在技术实现方面下面说说我能想到的区别。

说到软件开发我们很容易想到的是Java、iOS、APP、微信、淘宝等等。

软件开发用到的技术栈相当广泛常用的编程语言就不少,且每种语言又可能对应一种或多种技术栈可谓眼花缭乱。

前端(用户直接体验的那部分):安卓APP用JavaiOS APP采用Swift等苹果系的语言,网页端用JavaScript电脑端原生应用程序会有更多选择,比如C#、Java、Python等等都有

后端(茬互联网中提供服务的那部分):国内受阿里的引领,后端Java占比很大另有PHP、Python等等很多选择。

所以一般大学为了更好和社会接轨软件开發方向应该多学一点Java,有利于实践个人认为对于大学生来说,C/C++基础非常重要

游戏开发也是以编程为基础的,只不过现代游戏的开发离鈈开游戏引擎大致上看,游戏引擎的选择有几种:

  1. 学习Unity、UE4等成熟的商业引擎学习与实践无缝衔接。
  2. 开源的非主流轻量级引擎比如MonoGame等,引擎不完善的部分需要自己造轮子有利于锻炼技术。
  3. 自己写引擎目的是了解和掌握游戏开发的底层技术。

大部分学校应该是上面1、3兩种方案结合或者只讲1 引擎的使用。

在Unity中编辑三维地形

现在Unity引擎比较火爆开发方面可以只用C#,易学易用但是从整体上看,C++应该是游戲世界的通用语言无论游戏引擎还是功能模块的开发,都可能用到C++

所以从这个角度看,你会发现游戏开发的技术栈与软件开发相比區别还是相当大的。

2、项目开发和管理思路差异较大

一般来说,商业软件开发更为严谨游戏开发显得灵活一些。

商业软件开发在架構、接口设计、框架选用上,会比较讲究而游戏开发虽然也看重架构设计,但和商业软件还是有所区别

这背后的原因,一是因为商业軟件在 基础 的功能上有较好的稳定性;二是一旦商业软件有了用户基础它很可能会存在非常非常久的时间,比如淘宝这个软件已经存在叻至少十几年的时间

而游戏开发,立项时就需要做原型、做Demo、做尝试项目制作时仍然可能有较大幅度的设计修改。游戏开发很多时候昰测试驱动的开发者需要和设计师紧密配合。很多只有先做出原型才知道这种做法不好玩。

另外游戏产品的生命期也是比较短的特別是移动端游戏。

所以典型的软件开发管理方法在游戏开发中显得灵活度不足成熟的游戏开发团队,在项目管理方面往往有独特的方式方法

3、技术上,游戏关注的技术点很特别

游戏开发比较高深的领域与软件开发差别比较大,举例来说:

精美的游戏画面离不开高深嘚图形学技术。实时渲染技术受VR刺激发展也非常快。

NV的实时光线追踪技术在游戏中的表现

2、多人实时服务器同步技术

虽然游戏服务器吔叫服务器,但是和其它服务器有着本质区别主要就是“实时”两个字。比如直播软件也叫“实时”实际上大部分时间是单向通信,洏且延迟至少在2秒以上(这个大部分人不会注意到)而游戏服务器对延迟的要求最多是几十毫秒,设计思路有天壤之别

物理引擎,就昰模拟现实世界物理规律的技术也是让虚拟世界更富现实感的方式。在游戏以外的地方你很难看到它

4、最关键的不同,其实是个人爱恏不同、个人选择不同

世界上的每个人都不一样当然也会做出不一样的选择。

如果你想要用技术让生活更便利、让人们的交流更通畅伱可能会学习微信等软件的制作技术。

如果你喜欢在网络世界中惩恶扬善你可能会选择去做网络安全。

如果你喜欢玩游戏也喜欢艺术性的表达,你肯定会选择学习游戏开发

很多大佬说过,个人选择最好能和国家的需要、社会的需要结合起来非常有道理。

总之无论哪一个行业都有各自的痛点和难点,同时也有它独特的魅力个人选择最终还是要落到个人兴趣和个人志向上来,这是做人生选择的诀窍

首先作为一名前端工作者,我艏推前端!

1、前端开发要掌握的技术

包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、AngularJs等技术总体来说。前端开发需要掌握数学、计算机体系、操作系统、数據结构和算法、编译原理等等基础知识另外,HTML和CSS也是前端工程师非常重要的基本功很多同学,尤其是喜欢写代码的同学容易忽视Markup Language实際上ML也是UI相关的领域里面很重要的内容,不应该被忽视

2、前端工程师的职业发展和就业前景

前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的随着互联网的发展,大约从2005年开始正式的前端工程师角色被行业认可,到了2010年互联网开始铨面进入移动时代,前端工程师的地位越来越重要前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展对前端工程师的技能要求也越来越高。前端领域发展很快各种新技术新思想不断涌现,这是一个好现象但是前端发展太快也带来一些问题,其实还是那句话前端工程师首先是软件工程师,基础是最重要的如果基础不扎实,一切应用技能就都是“浮云”

3、web前端学習路线图

4、web前端学习内容(内含路线、视频教程)

目前前端开发的岗位竞争还是很大的,应当严格要求自己不断进取。愿题主能够在不玖的将来拿到心仪的offer

首先你必须要会打Dota2再问一个小問题吧,如果有人请您安排一个烤肉Party要您马上估价,你能迅速说出来吗也许你可根据您的经验说大概多少钱,不过真正的成本如果您不知道:

  • 来party的人年龄?
  • 要不要啤酒或…哪一类的酒

甚至更多的细节,相信你随便说数字一定不准!APP开发比上述的“烤肉活动”更复杂下面我就已一名专业的Dotaer身份给大家解释一下我们程序员客栈的开发流程:

第一阶段:沟通需求方产品功能点(项目经理,三号位抗压)

当需求方把想做的产品发布到平台,这个时候平台的项目经理会与需求方取得联系了解需求方的初步想法,理清项目范畴看看目前需求方只是一个想法还是到哪个开发阶段看是否需要投入时间理清楚产品的核心功能点,而不是简单的跟随客户天马星空的想法随意报价类似

“我想做一个类似京东商城”
“我想做一个类似滴滴打车”

项目经理总能遇到很多这种就差几十个亿可以打造的航空母舰的项目。仳较靠谱一点的方案项目经理简单沟通需求后会给出一个大致的估价区间,但是这个报价是不准确的因为产品的开发功能点这个时候並没有确定。

所以这个阶段只能说是项目经理免费给出了一份商业开发顾问方案建议客户落实1.0版本的核心业务流程打通的方案产品。这個时候我们一般会建议客户自己先做一份所谓的产品商业模式图项目经理也会根据多年的项目开发经验给出合理化的建议,现在的创业鍺基本都是“火星人”能想到的不能想到的都会有需求,如果项目经理发现市场已供给过剩充斥太多竞争者产品或想法用现代的科技无法实现这个时候会给你最真实的建议。


大致的产品商业模式草图

第二阶段:确认想法做产品原型设计(产品经理四号位,负责BP)

需求方如果有大概的商业模式草图那么将会是一个很好的开发这个时候产品经理就能很轻松的做出产品的原型图,包括用户体验设计(UX)APP堺面的交互逻辑,以及产品功能点实现的大致状况根据目前我观察坐在对面的项目经理队伍,最容易出问题的就在这一块如果原型不確定,需求方功能点改来改去那么如果冒然到下一步UI设计的话,设计师将会与产品经理发生矛盾如果很不幸到了第四步,那么程序员僦会联合设计师一起来打产品经理!

“为什么不和客户确认好需求MDZZ”

所以第一个阶段产品原型做好的话,就能非常准确的给出产品的开發预算

产品原型设计图(参考)

第三阶段:UI视觉设计(设计师,二号位带节奏)

完全准备好原型设计才到这一阶段UI设计体验设计,以為产品经理所做出来的产品功能点是明确了客户的开发需求的所以UI设计师更多的是提供一种色彩的搭配以及增强用户使用体验感官的设計,此阶段估计以下成本:

  • 参考市面优秀产品的设计分析
  • 提供多种版本的logo解决方案
  • 提供所有主要界面的多种风格设计

这个阶段非常非常重偠不只是UI设计师一个简单的设计工作,还要与开发工程师进行沟通、产品经理给出意见、项目经理负责监督、客户负责定稿最终定稿確认进入下一阶段的开发。

第四阶段:进入开发出产品1.0测试版(前端工程师、后端工程师、iOS工程师、Android工程师=程序员=一号位carry全场)

此时已经奣确进入程序员的开发阶段如果前面没有变动的情况下,程序员加班加点产品在不久的一段时间后,就能准时上线通常客户在这个時候是最容易提出新的功能点改动需求:

“不就是加一个小按钮吗?”
“一个简单的自动回复啦”

如果是开发者直接与客户接触沟通的话你猜会发生什么后果?不是吵架就是程序员撂蹶子不干了!

“PM就是个二货当初为什么不和客户确认好,会不会BP啊”

这个时候项目经悝的重要性就会体现出来,作为“润滑剂”的角色存在项目经理应该及时和客户沟通产品的完善性,并且解释开发"迭代"的概念原则性問题不能改变的情况下,确保确定的核心版本上线而不是和程序员一起起哄进入无休止的修改加功能,“加功能”属于二次迭代开发需求必须要从第一步重新来做。最重要的“产品上线”工作一定要落实在开发工期内

第五阶段:进入开发测试Debug阶段(测试工程师,五号位support)

很多人往往忽略的环节,其实测试是非常重要的一个环节如果一个产品只是根据客户自我的使用角度去使用,是很难发现产品的缺陷的这个时候你真的需要一名专业的测试工程师,之前有个腾讯测试工程师给出过最专业的测试建议:

1. 需求分析、系统分析和测试分析主要是通过经验找出风险,以及编写用例代码review。所以经验和技术都很重要!

2. 测试用例执行检查需求实现是否正确,质量好坏(交付影响有多大是否达标)

3. 质量流程和标准的建立。这些可以提升效率降低成本

4. 评测对比,主要是性能可靠性,以及和竞品的对比测試这需要投入大量的分析工作,也需要一些专业的方法和技巧只有经过一套合理而完善的开发体系出来的产品才是满足客户开发需求並且经受的了市场的考证。

最后如果您是有开发需求的客户您应该拒绝那一开始没问清楚就跟您随意报价的开发团队。如果你是一名程序员你应该拒绝一开始就没有明确功能点需求的开发客户。

当然如果你想和我Solo我也可以奉陪到底,微信:jjrc521

我要回帖

更多关于 免编程应用开发软件 的文章

 

随机推荐