
简介() 这是一张来自Giphy的表情包图片。嘿亲爱的朋友们所以, 你正处于这样一个阶段, 当开始一个新的项目时, 此刻你需要做出选择, 究竟是选择那种更为成熟且可靠的选项, 还是去尝试市场上新兴起的备受关注的热门产品, 而后看看其是否真的如同所宣称的那般好用?嗯, 这实实在在是工程进程里的一个部分, 用来探寻怎样处置这些状况, 不一样的工程师或者创作者针对此会持有不一样的看法, 你大概已经熟知了诸多有关挑选何种技术的各类观点。实际上, 你得寻觅到最为契合你的方式, 尤其是针对这个项目而言, 我觉得存在三个步骤, 它们能够助力你更笃定地进行抉择:评估项目的需求评估学习曲线和技术特点评估成本情况于这篇文章里头, 我们会按照顺序举例去说明全部情形, 直至最后, 你能够自行进行选择, 并且寻找到属于你自身的一套方法, 在所有的这些情况之际。评估项目要求在我读大学时我有一位非常棒的教授曾经说过这样的话工具是问题选的不是你选的。你是不是在给自己弄出一个个人作品集, 是一个可以进行狗以及猪识别的算法, 抑或是一个能够处理不少大量并发请求的大型SaaS?所有这般案例, 均会对你所挑选的工具, 产生重大的影响。你能够运用任何你心里所想之物, 构建一个简易的作品集, , 甚至于能够去瞧一瞧一堆十分酷炫的事物, 以及各种各样随机的库, 仅仅是出于乐趣来讲。但是这有可能并不必然与庞大的 SaaS 生态系统相兼容, ——所以, 这便是第一步的坑。在着手去想即将要发布的新框架, 或者是旧框架的新版本之类炫酷、令人眼前一亮的事物以前, 试着从需求排除的这个角度去进行思索: 是不是存在特定的某种需求, 有可能会将某个技术选项给排除掉? 要是有的话, 原因又是什么? 请尽可能地不要被某些技术的粉丝编造出来的虚假问题给误导了——在这儿你可能会听到各种各样的说法: 说X没办法进行扩展, 说Y比Z要好, 说A看上去特别难看说实在的, 我们每一个个人都有着属于自己的喜好。在这个地方, 你的任务是让自己冷静下来, 以一种理性的态度去看待问题, 运用理性的思维去思考你所做出的决定。在这里, 存在着若干个, 有可能适配于你的, 具备可靠性的技术选择, 在一些状况之下, 是有可能适配的。前端开发我对前端饱含喜欢之情, 最能令我感到兴奋不已的是, 持续不断地有崭新的事物被注入到前端这个领域。你也许会觉得这是相当大的一项负担以及问题, 然而, 我的具体看法是, 每当有人员针对各异的问题创造出全新的解决办法的时候, 他们都会将标准提升到高一级别的层次——这就致使每一个人都必须持续不懈地努力去奋力追赶。以下是一些具备值得探索性质的前端技术:后端开发/全栈开发许多很棒的东西于后台被制作着, 进行时每一次迭代都让其变得越发地高效, 且越发地注重开发者的体验, 那让我们瞧瞧一些值得大家去关注的项目:要知道, 此处最为关键的则是: 这般些项目的存在目的在于, 促使你去尝试全新物品且迷恋上后者。新兴类型的众多解决的办法持续不断地涌现出来, 因而你切实需要着重留意的是, 它们对于你而言能够带来些什么——要是你发觉某一种技术能够为你带来特别巨大的价值, 一般是体现在性能以及开发体验这个方面上, 那你极有可能需要进一步深入地去探究它, 如此以便解决相关难题。看看学习曲线和科技特性畫外音: 學新技術的第11000次。这一段学习的进程可也是一处蛮关键的衡量要点。你们或者团队里的其他一些人对于哪一些技术知晓多少? 他们是对这些技术熟悉着, 还是仅仅只是听闻过而已?短期内的生产力这点你得考虑进去, 因其会直影响你的工作效率而后进而关联到你的截止时间。要是你面临极为紧迫的截止日期, 这时检测一款全新且效果尚无定论的工具约莫并非最佳时机, 故而问问自己: 研习这种工具会否占用我们诸多时间? 我们对相关领域知识有无掌握?若存在这样的问题, 它没准可能会致使你参照时间去排除某些别的技术, 你说不定在往后的小小项目之中必将有可能需要去学习全新的事物, 这同样是能够被接受的。请牢记, 学习一般情况下起步是较为缓慢的, 去掌握它是需要时间逐步积累起来的, 然而如此这般或许会在规模层面以及维护的简便程度方面带来相应的回报。社区支持在评估学习曲线之际, 另一个关键考量之处在于, 该技术有无行得通的可利用资源以及所需的那种社区方面的扶持。成熟的科技范畴当中, 常常会有数量众多的相关文档、详细教程, 并且更拥有那个能够开展各类关于技术所遇到疑虑的开发者互助大家庭。比较新颖的那些创新性技术, 虽说极有可能推出使大家感到非常惊喜且充满新奇感的崭新特性, 然而它们所具备的能够被实际利用起来的资源或许并不多, 这种状况极有可能对学习的整个进程以及面对问题进行有效解决的能力产生不利影响——在最初阶段或许会让你觉得特别的新鲜、眼前一亮, 可是一旦当你需要依靠自身能力来完整编写一份日程安排表的时候, 特别容易碰到诸多阻碍困难的。考虑长远首先, 要考虑你所挑选的技术的长远影响, 这一点是最后但同样关键的。其次, 我的看法是, 你应该明白还处在不稳定或者测试时期的技术或许会有极大变动, 再者, 情况有可能变得全然不一样, 最后, 你最不愿见到的是仅凭所有 API 都出现了改变, 致使你可能得重新编写整个项目。考虑到成本因素若放在决策进程中间, 还有个关键要素当属斟酌成本。存在好些工具, 它们看上去相当不错, 然而支撑其运行的基础设施, 兴许会把你弄得极为烦躁, 原因是那些工具的部署并非简易之事哩。尽力别单凭金钱维度去衡量。倘若某项技术搭建基础设施怕是要用数小时或者数天, 而另外一种却仅只需执行几个命令, 那你再不就是你的工程师的时间可是非常珍贵的, 每份没用到产品开发上的时间全都是宝贵光阴在消逝。此处为空* ** *对我来说这是超棒的方面——本文的赞助商。标志我而言, 其突出特点之一在于精简的基础设施配置, 想迅速部署且为此付些许费用, 此选项也行得通, 想于自身5美元VPS上托管个人镜像, 相关文档亦有阐释。具有部署的便捷性, 且成本与关注点相分离, 这是极为重要的特性, 譬如, 会于你自身的或者你客户的账户里设置AWS或者GCP基础设施, 然而, 可惜的是, 并非每一个技术选择都能够达成这一点, 所以, 要留意这一点。给出一个还算可以的建议, 那就是, 于着手编码以及挑选技术以此来开启项目前, 快快把部署的那一部分瞧一瞧, 要是看上去是极为难解决的, 那没准是个警示信号。查看 项目 点击这里查看更多内容。一月一回, 去考量那布置设置以及基础建设的费用成本, 这般做没准能为你省下些许便士或者美元呢。结语:嘿你做到底了盼望着, 你当下会觉得, 去挑选适宜的技术栈, 变得益发有趣起来了, 而非是一项绝无可能达成的任务记好了——这所有的一切, 全都是为了寻觅到最契合你以及你的项目的方案。凭借评估项目需求, 思索学习曲线, 并且权衡成本因素, 你已然朝着做出明智抉择, 跨出了关键的一步这才是重中之重。不要惧怕去探索新技术, 时时皆有诸多酷炫的新事物等待着你去探寻, 然而千万别小瞧那些已然成熟的工具, 去聆听一下那些同样不给软件发布的技术厉害的人是怎样讲的。假如它能够给出一个不错的解决办法, 契合你或者你所在团队的能力, 而且不至于超出你所能承受的费用, 那么基本上你就迈向正确之路了。所以卷起袖子仔细研究文档开始动手吧你可能会在路上找到你喜欢的新工具或框架。