我想告诉你我是如何开始喜欢使用Vue.js并开始做前端开发的故事。不应将本文解读为一篇关于为什么Vue.js可能优于React、Angular或您正在考虑的任何其他Web框架的文章。Vuejs很棒,但我们生活在一个前端开发人员同样令人惊叹的时代。如果几年前你跟我说话,我会把自己定位为精通服务器和数据库管理的后端开发人员。面向对象的语言,java和c#,我想找到我需要交付程序时唯一使用的开发语言,我逐渐了解更多.NET和SQL服务器堆栈技术。那时我认为前端开发人员只是右脑的附庸风雅的人,而不是“真正的”编程。但是,在我上次求职时,选择很少。特别是工作面试,我看到了我是如何失败的。那次失败非常令人沮丧,但我从中学到了很多东西。利用我在SharePoint方面的经验,我得到了一个职位。我在SharePoint上的经历并不特别:用GUI、工作流等设计页面并不是我理想的工作,而是我一生必须做的工作。当我刚开始的时候,我接触到的项目是我过去从未做过的。我依靠GUI来设计用户界面。幸运的是,数据库方面的经验使我能够以规范的方式设计列表,但用户界面方面似乎有所欠缺。在SharePoint设计器中,有些效果即使修改底层ASP也难以实现。我与一位伟大的开发人员进行了讨论,这真的让我很感动,所以我开始了我的前端框架之旅。她说,“你知道……SharePoint支持REST服务。”是啊!我可以在SharePoint上使用Ajax并根据响应构建我的HTML。这将非常有趣!我们对特定应用程序**xmlhttprequests**的第一次迭代通过JavaScript函数构建HTML。这样的连接太多了,以至于我们的函数和字符串变得越来越难维护。所以,我想知道是否有更好的通用解决方案来解决这个问题。当然有!欢迎观看“为什么应该使用框架X”视频和博客。在做了教程并观看了关于这个主题的辩论之后,我拒绝使用框架。毕竟,使用框架意味着每个人都必须变得聪明。然而,在研究框架的过程中,我遇到了Ember使用的模板引擎Handlebars。因此,我们做了任何明智的团队都会做的事情。我们重写了项目以使用这个模板引擎。除了显式调用已编译的函数之外,这是一个很好的接触。初始渲染完全没问题。但是,我们需要添加折叠/展开项目列表中某些项目的功能。我解决这个问题的第一个方法是在我的对象上设置一个“可见”属性,并在属性值更改时重新编译模板。这意味着必须根据更改重新渲染数百个元素。我们利用jQuery来应用可以根据某些选择器显示/隐藏元素的处理程序。我觉得这很混乱。最终产品是可用的,但我能在一个月内完成代码并维护它吗?可以用一年吗?如果不是很努力。请允许我借此机会说,可维护代码大量使用jQuery和Handlebars编写。在这一点上,我不具备将其落实到位的技能。所以,我想我应该回去看看可用的框架。有这么多好的框架可供选择,但我们有一个独特的环境。我们不能使用节点。没有NPM,就没有在每个框架中大量使用的工具。我们得出的结论是,在浏览器中运行Babel也会降低性能。考虑到这些条件,React、Ember和Angular2+不是可行的选择。我们没有认真对待AngularJS(1)。我已经用它实现了另一个项目,但它不再被正式支持,而vue.js刚刚发布了V2版本,并明确了在浏览器中使用的路径。它继续流行,并且有可用的工具。因此,如果我们花时间使用它,包括它提供的工具,我们就决定支持它。为什么选择Vue.js,为了好玩?我给出的很多原因都可以归结为Vue的替代品。模板正是模板让我对vue.js产生了兴趣。使用一些花括号,我可以根据JavaScript访问的变量将值插入到提交中。通过提供使用模板的路径,Vue.jsDOM和组件模板更易于使用。此外,在IE9+中使用vue.js的重点并不多,它不支持模板。响应能力我可以更改我们的模型并且它会自动更新页面上的内容这一事实使angular.js对我来说如此易于使用。类似于最初的“ng-model”模型,vue.js提供了一个“V”命令来方便地显示输入的内容。对于观察者,此响应扩展到执行与页面上发生的事情不一定相关的操作。组件虽然您可以在不使用组件的情况下利用Vue的响应性和模板,但组件化架构的实现非常有趣。学习如何将行为封装到组件中很有趣,并且让我能够有效地拆分代码。类似于生活在类需要做太多事情的C#世界中,我意识到什么时候组件可以做太多事情。这种练习以编程时激发感觉的方式激发智力。为什么你觉得前端这么有趣?小时候,我的梦想是编程。究竟是什么?桌面应用程序和游戏。当我开始真正的编程时,我真的很想做一些让我的工作有益于其他人的事情。我不了解你,但直到最近,我对“真正的程序员”层次结构有一个先入为主的概念,看起来像这样。真正的程序员操作系统/内核程序员桌面应用游戏程序员后端网络程序员前端网络程序员SharePoint/销售人员/其他平台程序员MicrosoftOffice(Access/Excel)程序员不是真正的程序员这种想法真的让我觉得有人做后端,更不用说前端了。很长很长一段时间,甚至很多地方,都是同一个人既做前端又做后端。这导致对前端的关注减少,从而导致许多低质量的网站。然后公司开始在前端雇用人员并以美元为他们支付报酬。这份工作名声不好,我不想和那个名声有任何关系。然而,如前所述,我发现自己处于依赖前端来满足我的需求的尴尬境地。令我惊讶的是,浏览器编程不仅有趣,而且功能齐全。浏览器功能我总是对浏览器的处理能力感到惊讶。即使是老旧的InternetExplorer也可以在不调用服务器的情况下读取、解析和创建Excel文件。Canvas和SVG为我们提供了两种超级有用的方法来创建精美且动态的图像/动画。使用Ajax,我们可以创建定期向用户无缝更新的动态内容。如果您在客户端开发时不隐藏源代码,那么共享就是幸福。它在那里供全世界观看。因此,毫不奇怪,JavaScript项目主要出现在GitHub上。此外,许多项目对MIT、Apache或其他许可证非常友好。**得分!**优秀人士的贡献帮助我以更快、更有意义的方式为我的公司做出贡献。即时满足与桌面应用程序开发类似,我们经常直观地看到代码的影响。作为开发人员,我们可以使用CSS和一点点技巧来制作视觉上吸引人的网站,以改善我们对老板和用户的印象。再加上像Twitter的Bootstrap或Bulma这样的可视化框架,我们真的可以减少时间并增加一些吸引力。WriteOnceRunEverywhere老javaweb开发说跑起来比java本身还真实。使代码与多种浏览器和不同屏幕尺寸的布局兼容也具有挑战性。挑战本身很有趣,因为它们向我们介绍了各种平台。JavaScriptJavaScript继续以惊人的速度发展,但它是一种非常有趣的语言。从“==”和“===”的区别,可以体会到函数处理类原型继承函数的编程方法。学习这门语言已经非常有趣了。能够将Babel的新功能添加到我的网站(项目)中,真是太棒了。总结作为一名前端Web开发人员,我可以在工作场所与优秀的人一起工作,并在更大的开发人员社区中获得对我的想法的反馈。为什么喜欢前端开发?您如何看待Vue.js?谢谢阅读!
