敏捷交付如何驱动企业在快速变化的市场中获胜
917
2023-01-24
本文目录一览:
现在,许多工作室都在尝试制作同时适合移动端与PC平台移动端跨端开发的游戏。平心而论,无论是商业模式,目标受众还是控制线路的不同,都会给跨平台的游戏设计增添阻碍。也许制作一款能够适应移动端与PC平台的完美游戏是一个不现实的目标。
Kitfox Games就是一家尝试跨平台游戏制作的工作室。移动端跨端开发他们制作的Roguelike类游戏Shattered Planet,今年年初作为一款免费游戏在移动端平台登陆。而在7月初,shattered Planet作为一款一次性付费游戏,登陆PC平台。同样的游戏,不同的商业模式。
一、首先明确移动端跨端开发你的目标,它将会成为暴风雨中的罗盘
身为一名游戏设计师,我并不喜欢考虑商业方面的事情。
但是结果证明,商业考量是非常重要的。在共事之前,我和同事们相互都很陌生——我们欣赏彼此的工作经历并且在一起喝过咖啡,但是突然之间我们就在一起制作游戏了。在第3周,我们问自己:我们到底想要通过游戏表达什么,而不仅仅是以“完成游戏”为目的。
我们的首要目标是得到大量-,还是获得可观的利润,亦或是得到很高的评分?
这取决于这些要素在我们心中的优先顺位,当决定制作一款免费游戏后,-量高于一切。我们推广Kitfox这个品牌,并且我们愿意用收入和评分作为交换。未来我们制作的游戏也许会有所不同,但是由于我们已经积累了少量的忠实拥趸。由于Kitfox的多位成员依旧处于负债阶段,而且尚未扭亏为盈。所以我们想尽力扩大我们的用户量。
首先明确这一点十分重要,尤其是当我们在制作到一半时开始怀疑自己的方向。大多数团队对于免费游戏的盈利模式感到不适,并且我们知道有相当一部分自我标榜为“硬核玩家”的人痛恨免费游戏,仿佛除了Valve或Riot制作一概不玩。
最后,我们决定“增厚皮肤”。反对者有一万个反对的理由,但是如果我们没能一直沿着计划进行下去,如果作为一个团队,我们对于业务优先级并不清晰。在制作游戏的关键时刻,这些风险就会变得无比危急。
二、尽早、大量地进行游戏测试
在我们能自信展出产品前,我们经常进行游戏测试。对于未知的中立玩家来说,极差的第一印象是让人恐慌的——即使几个人的口口相传也会最终不成比例地形成舆论风暴。
但是我们依旧要保持勇敢,游戏测试时有价值的,也是必须的。我很自信地说没有测试就没有《Shattered Planetat》。尽可能地打磨游戏,(没错,至少在90%的特征都顺利工作)让玩家们可以自己搞清楚怎么玩,而不是告诉移动端跨端开发他们该如何控制。然后我们就推到一旁,静观其变吧。
我们从《Shattered Planet》仅仅是一个在方格上行走的小人时就开始做游戏测试。从技术上看,人物可以击倒并杀死一个敌人,但是其他的要素都没有——游戏最初只有一关(没有过程生成技术),没有装备,没有升级,什么都没有!但是我们学到了很多,我们必须每隔一两周测试一次。在我们有关移动端版本的内部调查中,我们事实上还希望测试更多次。
顺便一提,每次测试之后,我们还让每个人填写了一份标准化表格。这不仅可以让我们收集到更多意见(游戏的哪一部分你不满意?),而且帮助我们根据游戏表现与反馈绘制一张图表。在测试图表3中,我们发现在移动端玩免费游戏的用户对我们而言最有帮助,因为他们比那些只玩Steam上主机游戏的用户更容易跨平台游戏。
三、做好发生变化的准备
这是根据前两条建议下水到渠成的结果。
如果你有明确的方向,并且经常调试,你会发现,不知为何,自己所在的轨道仍然到达不了目标,游戏的适用性依旧不足。如果核心玩法和你想得一样在运作,辅助的特征将会有妨碍作用。
速度与质量需要依据业务目标,让制作人和设计师之间相互妥协。我们在研发计划里增加了一个月的优化时间,在手游版发布之前,我们为了增加更好的进度系统而用掉了,随后我们发现,这对于游戏的成功是很重要的。
对于你的游戏而言,可能具体数字会有所不同,但有些问题和解决方法可能是相同的。另一方面,我们还可以用这些目标来决定哪些功能需要去掉,哪些需要保留。
四、优化
我们做游戏始终都是希望在PC平台发布的,最开始也是在PC上测试。作为玩家,我们的研发团队主要是在PC平台玩游戏。当我们在iOS和安卓设备进行测试的时候,我们使用了iPad 4、iPad Mini、Nexus 7和三星Note 10.1,还用了一些比较新的手机型号进行测试。移动硬件的性能越来越好,而且我们的独立游戏也没有特别苛刻的要求,所以本以为手游版测试会很容易。
随后我们发布了《Shattered Planet》,让我们惊讶的是,在低端机上,它运行起来就像个垃圾软件一样卡,但我们没有留出足够的时间做优化,所以当时觉得,先把主要的bug解决完了再做这些非必要的优化,可我们没想到的是,bug修复几乎是无止尽的,特别是优化不足的情况下。对于低端机玩家而言,我也只能道歉了。
五、考虑优先推向Steam平台?
之所以加了个问号,是因为并不确定,我们的策略看起来很正确,最高的时候,我们的游戏在Steam畅销榜达到了第28,对我们这个没有营销人员也没有营销预算的不知名团队而言,已经是不错的表现了,当然,手游版的30万-量对此也是有帮助的。
但是,我们不得不忍受一些比较难听的评论,比如反对免费模式,还有人的评价是“这只是一个手游”、“手游移植版”等等(因为我们先发布的手游版)。PC和主机玩家有一部分就是这么挑剔,所以,如果我们的目标是让人们知道这个游戏,或许先发布Steam版本再推手游会好一些,但我也不确定。
对于下一款游戏《Moon Hunters》,我们的目标是PC和主机游戏市场,还可能会做一个只有核心系统的预览应用,如果这样,我们仍然会在移动版本做免费,甚至可能是完全免费。
信息来源:Gamesutra.com
作者:Mike Rose
这一周继续聊跨平台桌面开发这个事情。
在这篇文章中,我暂时会放下Electron与WebView2的一个对比,而聊一聊跨平台这个对于程序员群体来说不陌生的词。
一个趋势是:跨平台开发几乎是在各个技术方向都会持续发展的
跨平台这个词,对于程序员来说,应该是不陌生的。因为这个概念不只在某一端存在,后端,前端,移动端,桌面端几乎所有方向都对跨平台有需求。
在后端,Java是跨平台的,当你用Java来编写后端服务时,并不需要考虑操作系统,因为它几乎支持主流的操作系统。现在,编写一个后端服务,选用Java仍是主流。虽然可能它的跨平台特性已经不是程序员最在意的点了。
而在移动端,类似React Native,Flutter也是非常有名的跨平台移动开发,它们与移动原生开发方式之间一直是竞争与共存。
而前端因为依托于浏览器,天然就是跨平台的。事实上,很多应用或服务早期纷纷选择从原生应用迁移至前端WEB方式的一个非常重要的原因就在于它是跨平台的。
桌面操作系统很长一段时间一直是Windows一家独大,所以桌面开发一直是Windows独占,直至现在为止,很多专业级的软件仍然是Windows独占的。
而Linux桌面操作系统与MacOS桌面操作系统,早些年几乎可以忽略不计,压根不需要考虑这两种系统。但随着近些年它们的慢慢流行,特别是苹果的MacOS的以其杰出的工艺,流畅的体验,叠加苹果手机的流行,其市场份额增长非常之快,在特定的诸如编程,设计等行业人群中使用范围较广,这使得开发支持MacOS系统这个点变得越来越重要。
所以,在桌面开发领域,跨平台的需求也越来越高。
这也是Electron及早期的NW.js能迅速发展起来并得到非常广应用的原因所在。
无论是哪一端,跨平台技术之所以频繁出现与不断发展,其根本原因就在于编程的一个重要痛点在于:
为了让同一个服务能在所有设备上运行,程序员不得不编写与维护非常多不同版本的程序
每一个程序或软件后面的服务,都有一个非常迫切的需求,就是期望它的用户无论何时,无论何地,无论使用任何设备,都能方便友好的使用这个服务。
也是因为这个原因,Web发展起来了,因为Web的优势就在这,只要你的设备上有浏览器,就能访问。
但Web毕竟性能有限,且浏览器这种形式并不利于用户忠诚度的培养,它存在天然的弱点。一些简单的操作服务使用Web并无问题,但稍微有点要求的,Web可能就并不是非常适合。
所以,一种趋势不可避免地流行起来:
对不同设备或系统进行抽象,基于某一种特定的编程语言,编写出能与原生程序相媲美的,又能跨平台的技术便层出不穷了
对吧,Java是使用JVM来抽象不同的操作系统,React Native则是使用虚拟DOM以及转换成原生控件的方式来实现跨平台,而Electron则是通过性能较好的Chrome内核+NodeJS原生调用能力的搭配来实现跨平台桌面开发。
总而言之,这种跨平台的技术不会消亡,只会有新的技术层出不穷,而它们与原生开发一定是相互竞争,配合与共存的。相互之间无法取代。
那再回到跨平台技术上来说,一个良好的跨平台开发的技术或框架,重点是什么。
或者换种方式说,哪些特性使得它更易于流行起来?
我个人认为有以下的几个点:
跨平台开发技术能不能流行起来的一个非常重要的点就在于,使用了什么样的编程语言。
以移动端跨平台开发技术来说明,一个React Native,一个Flutter,这两个是比较知名主流的跨平台移动开发技术。React Native使用的是前端React技术,而Flutter则是Google的D语言。
显而易见的是,虽然Flutter是使用skia引擎在底层重绘一套UI,其性能相比React Native这种模式更佳,但React Native更易于被接受。
在流行度上,React Native始终比Flutter更流行,一个最重要的原因也在于:
使用已熟知的前端编程语言,比起重新学习一个D语言更易于被接受,维护成本更可控。
这个问题在跨平台桌面开发中也是类似,跨平台桌面开发技术也不是Electron最开始出现,比如著名的QT很早就有了,但比起Electron这种使用前端编程技术来说,显然在编程语言的门槛上和程序员群体上都存在困难,这也是Electron能后来居上的原因所在。
因为,大多数程序员群体,相比较另外学习一门什么语言去做什么,使用自己熟悉的语言来做什么是更容易,意愿也更高。
而从公司或团队的考量上看,选择偏门的小众语言存在成本上的顾虑,比如人员招聘是否容易?
跨平台技术在尝试解决不同平台不一致,它或多或少会损耗性能。这也决定了几乎没有任何一个跨平台技术能取代原生开发。
这是一个取舍的问题,对于一个程序来说,究竟性能有多重要。对于比较看重性能的程序来说,原生开发可能是最优选择。
但跨平台的性能损耗也有高低之分,并不在同一水平线上。
其实,无论是Electron,或是WebView2,都是基于浏览器内核+前端技术的跨平台桌面解决方案,这也是为什么要把它们放在一起聊的原因。
Electron是先行者(当然,严格说来,NW.js出现的更早,但今天它的流行度已远远落后于Electron了),而WebView2则是后来者。
那做为后来者的WebView2究竟做了哪些改进?它又有多大的能力来挑战Electron呢?
下一篇,继续聊。
Web前端可以做的工作,可以分为以下几点:
Web前端是网站前台部分,运行在PC端,移动端等浏览器上展现给用户所浏览的网页。
用我们的话来说,前端就是网页给访问网站的人看的内容和页面,Web前端开发意思就是这些内容的制作,也就是代码的实现。
简而言之Web前端就是实现客户端(手机和电脑)上看到的页面和一些交互效果(比如点击、查看详情、查看更多)等,从事WEB网页开发、HTML5页面开发。
2、Web前端开发具体要做什么前端开发最主要的是掌握三种基本能力,HTML、CSS,JavaScript。前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。
还运用大量的 js 库,可以将前端的交互效果做得更加炫酷,除了基本语言,还要掌握各种开发工具的应用。Dreamweaver:,Sublime,HBuilder等都是比较热门的工具。
前端开发需要掌握的能力很多,知识范围很广,要付出的代价很多。不过,前端的前途也是相当光明的,前端现在正在走向工程化发展,无论权是大小公司企业,对前端开发的需求都是越来越大了,也越来越专业了。
Web 前端除了最基本的 html,css,js 还有大量的技术内容,也会运用到一定的框架,而朗沃教育的 WEB 前端开发一般会学到这些内容。
HTML/CSS 基础和高级
JavaScript 基础语法和高级应用
Node 服务端开发
Web前端框架开发(React 技术栈,Vue 技术栈)
移动端开发(React Native,跨端开发框架之微信小程序开发,Flutter,PWA 等)
前端运维(Docker 与 Linux 基本操作等)
详细课程请浏览朗沃教育Web前端课程。
WEB前端是什么移动端跨端开发?零基础可以学吗移动端跨端开发?初期阶段只是了解一些Web前端基础内容,后面会涉及到一些Web前端交互的内容,再涉及到服务器的一些知识,最后再学习Web前端的三大框架,再加上一些前端项目。
开源项目其实有一个成熟周期,这个周期大概是三年左右,自React框架在2013年发布并引爆了前端框架的大潮,这个属于前端的周期就此开始了。
之后在2015年5月开源的React Native又开启了属于Web移动前端的周期,15-16年,18-19年,21-22年正好就是属于移动前端的三个爆发点。
三年前,在第一个成熟收获期,我盘点了移动开发框架。在这第二个成熟收获期,理所当然要来盘点一波。
不过,当我点开github项目的code-frequency时,还是被这个准到吓人的周期猜想惊呆了,先给你们看一波,剩下的自行验证。
1、https://github.com/youzan/vant/graphs/code-frequency
2、https://github.com/quasarframework/quasar/graphs/code-frequency
再来说第二个比较有意思的发现,停止维护的项目绝大多数是Vue框架项目。
盘点开始的时候我还觉得React框架处于绝对劣势,到完成时我发现React无论在选择面还是成熟度上都超过了Vue。
原因我这里就不分析了,反正大家都有自己的看法。
网页类框架就是前端组件框架,这一次虽然有大量项目停止维护,但是也有很多项目坚持了下来,而且还涌现出了一批新项目。
大厂占了主导,因为这些年大厂在移动开发上的需求,远高于其它方面。个人项目要坚持确实不易。
本来是想要做一个验证项目,把所有框架都试用一遍并给出推荐度的。由于进度太慢,还是下一次再发吧。
这次的重点是渐进类框架,就是所谓多端同构框架(小程序框架)。这几年国内的重点的各种小程序平台,所以多端框架的需求很是旺盛。
不过大多数先行者都没挺过来还是让我很意外,只有Taro成功了,想想还是有很多让人唏嘘的东西。
在这里还是先预测一波吧,因为这一类框架最变化最大,最终还是有很多框架要出局的。
渐进类框架是一个过渡性的产品,最终会变成桥接类框架的一部分,所以,与桥接类框架协同才是框架的出路。
这个赛道基本全是大厂了。
腾讯新一代跨端开发框架Hippy
Hippy一看就是淘宝Weex的对标项目,Kpi功能全面压制。所以官方支持 React 和 Vue 两种主流前端框架。在Weex2019年实质停更后发布,要不要这么卷?
Hippy 2.x 架构主要分成三层,UI(JS) 层 Hippy-React 和 Hippy-Vue 负责驱动 UI 指令生成;中间层 C++ HippyCore 负责抹平平台差异性和提供高性能模块;渲染层 Android 和 iOS 负责提供终端底层模块、组件,并与布局引擎通信。
对Weex惨遭遗弃,我上次就说过:「ReactNative提供工具,Weex提供框架,将平台差异化屏蔽(Write Once, Run Everywhere)。所以Weex则注定功能相对弱小,并且坑比较多。」Weex最终下马也是必然的,淘宝又发布升级版北海,为了实现(Write Once, Run Everywhere),它采用自绘,而且是基于Flutter自绘。
所以Hippy3.x就一如既往的Kpi功能层层加码,很有腾讯风格。在未来的 3.x 中业务与渲染层中的具体实现可根据用户实际场景进行切换:业务层上不再局限于 JS 驱动,还可选择(如:DSL/Dart/WASM 等)其它语言进行驱动;在渲染层中,渲染引擎除了支持现有原生(Native)渲染之外,还可以选择其他渲染 Renderer,如 Flutter(Voltron) 渲染。
「Kraken 北海」是一款高性能Web渲染引擎。底层基于 Flutter 进行渲染。
Kraken 不限制上层开发者使用的框架,无论你是使用 Vue 、Rax 还是 React 都可以开发 Kraken 应用。
Kraken 的 runtime 通过 JS Engine Binding 的方式提供了一系列 Web 标准的 API 接口,调用相应 API 会执行相关逻辑并创建一系列需要发送给 Dart 层处理的指令。
Kraken 其实就是一个小程序平台,而且追求全平台完全一致。我虽然认为各平台不一致是很自然的事情,但是也表示理解,毕竟别人吹牛有当真的传统(KFC表示认同)。
Kraken 现在也是一个小号浏览器,所以它的主要工作就是抠标准,毕竟它是一款基于 W3C 标准的高性能渲染引擎。
最后,我劝淘宝领导定Kpi要理智些,毕竟Hippy4我还蛮期待的。
滴滴出品的超轻量级动态化跨端开发框架,主打轻量和实用。
Hummer 以 JS 引擎为基石,目前已支持 JavaScriptCore、Hermers、QuickJS 等业内知名 JS 引擎(这里本来还有个V8的,我删除了,源码里面没有,Kpi需要)。再配合经过调优的 Yoga 布局引擎,抹平了两端视图布局差异(性能更佳的自研布局引擎开发中)。顺便提一下,Hippy采用V8(功能更强)自研布局引擎(性能更佳)。
Hummer 的特点是抛弃了业界其他动态化跨端框架普遍使用的DSL层和VDOM层,因此原生 Hummer 不具备前端开发常用的响应式编程的能力,但同时换来的是接近原生开发的体验和性能。再以原生 Hummer 为基础,在此之上开发了一套基于MVVM架构的开发框架 —— Tenon ,通过 Tenon,可以把使用 Vue/React 编写的代码,转换成原生 Hummer 的代码。
Hummer也是一个小程序平台,而且超轻量。如果想要无限提升自己APP的能力,可以考虑嵌入Hummer。
Web移动前端框架正在迎来第三个高速发展期,各类框架得到极大繁荣。
个人在具体项目的贡献已经微乎其微了,创新、架构创新是唯一制胜的手段,这也是我看好React的根本原因。
最后,还是想做点微不足道的 探索 ,现在前端组件库层出不穷,更换组件库带来的代价有点大。想创建一个框架,来实现上次说的组件公约数和公倍数,无缝切换组件库。理论上支持所有组件库 ,也能为后来者提供弯道超车的机会。我想大厂可能没有需求,也不会愿意发布这种框架,毕竟都是平台部门说了算。
这个库就是useMobile,当然分为useMobileReact和useMobileVue。下次先发布useMobileReact。等我发布后,再来填上面表中缺的推荐度。
原文地址: https://www-blogs.com/windfic/p/16019457.html
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~