任何想法最好的部分是当它是新鲜的和新的,而你还不知道它的限制和限制。它几乎可以是神奇的!哦,你会帮助客户,你会赚到钱!你首先要做的就是…。写很多代码。
有多少代码?嗯,很明显,这取决于你的想法和你计划建立的业务。但是,在任何SaaS业务中,都有大量的代码是您需要和想要的,而且在您甚至可以编写一行业务逻辑之前,您都必须编写其中的很多代码。
好的,首先你需要一些开始的东西。除非您计划从头开始编写所有内容,否则您将需要设置一些通用框架来支持现代Web应用程序的运行。在前端,这大概是这样的:
如果您的框架中没有HTTP请求库,那么可以提供一个HTTP请求库。例如:SuperAgent,Axios,GET。
将所有这些不同的工具设置在一起也需要一些时间。只要搜索一下为X#34;配置webpack的版本,就会发现为不同版本的webpack和X写的博客帖子比比皆是。虽然有些会有所帮助,但也有一些会赢,有时只有实验才能揭晓哪个是哪个。
谢天谢地,有一些工具可以让这一切变得更容易。React的Next.js和Vue的Nuxt.js只是两个例子,但是有许多风格的UI框架可以显著减少上面的设置时间。当然,现在您必须了解UI框架和UI库是如何工作的,但通常情况下,这种权衡是值得的。
转到后端,您将需要一个Web框架。“这在很大程度上取决于您使用的语言,但您有很多可供选择的语言:
这个列表决不是很广泛--仅仅是追踪一种语言的所有可用的框架就是它自己的一篇文章了。但它确实显示了各种可用的选择。每种语言和框架都有自己的能力和取舍,这是你在做出选择之前必须考虑的。现在(或之后!)在这一点上,你很难改变主意。)。
实际上,让我们退一步说。当然,这些都是基本的,但您仍然需要某个地方来运行所有这些代码,并以某种方式加快对代码更改的评估。
你可以在你的本地机器上运行所有的东西,但这很少是理想的。首先,您的本地环境不太可能与您的生产环境相似,并且您不希望在部署时看似微不足道的差异造成问题。此外,(相对而言)自动执行本地环境设置非常困难,因此将其他任何人添加到项目中必然会导致冲突,特别是如果他们想要使用与您完全不同的操作系统。
虚拟机的优势在于非常易于理解和使用。如果你知道如何浏览你自己的系统,你就会知道如何浏览虚拟的系统。使用Ansible这样的工具,它们很容易实现自动化;使用Vagant这样的工具,开发时也很容易使用。此外,您可能只需要修改少量Ansible脚本或变量,即可将您的开发部署脚本转换为生产部署脚本。
但它们可能有点重,因为它们是在模拟另一台完整的机器。这方面有很好的解决方案(启用CPU优化,使用AMI或其他机器映像减少部署时间等),但也有替代方案。
码头集装箱轻得离谱。从本质上说,他们只是按照您的指示运行运行您的代码所需的系统部分。此外,很多CI系统都接受dockerfile作为输入,以自动运行代码的测试和部署。一个建造良好的码头设置是一件美丽的事情。
然而,docker可能会让人有点困惑。*它需要学习与直接在机器或虚拟机上工作不同的心态和工具,并且可以自然地引导您转向更复杂的解决方案,否则更简单的解决方案会更适合您的用例。(微服务您好!)。
可以为您节省大量时间的一件小事是在您的代码上设置监视器。*这些程序会密切关注代码中的更改,然后重新编译并重新启动服务器,以便在您刷新浏览器时始终运行最新版本的代码。“您将使用的许多工具都带有内置的观察器(例如webpack),但对于其他工具,您需要安装自己的(nodemon来监视您的node.js服务器)。
与任何其他配置一样,您必须执行以下配置,以确保每个监视器只监视正确的目录,确保文件在您的主机系统和VM/docker容器之间以一种不会绊倒您的监视器的快速方法共享,等等。
如果运气好的话,你已经有了一个设计要用,但是你还没有。