作为前端,您可能已经开发了电子桌面应用程序,小程序,浏览器上的Web应用程序,跨端引擎(例如React Native)以及基于Node.js工具或服务的各种应用程序。这些是JS.Runtime的不同JS,开发也基于前端技术。
面对这么多的细分市场,您是否曾经像前端工程师那样感到困惑:我应该学到这么多技术吗?
实际上,所有这些技术,您编写的所有代码都可以分为两个方面:API和抽象。
不同平台提供的API不同,支持能力不同:
浏览器提供DOM API,支持CSS渲染,并提供相关的API,例如音频和视频,WebGL等。这些API是我们开发前端应用程序的基础。
Node.js为操作系统功能提供了API,例如流程,线程,网络,文件等。这些API是我们开发工具链或后端应用程序的基础。
React Native和其他跨末端发动机支持CSS渲染,并为设备功能(例如摄像机,闪光灯,传感器,GPS和其他API)提供API。这是我们开发移动应用程序的基础。
电子集成了铬和节点,并提供与桌面相关的API。
除了CSS的渲染外,该小程序还为某些主机应用功能提供了一些API。
此外,还有许多运行时,例如Vscode Plug -in,素描插头等,它们具有可以使用的API。
不同的JS运行时为高级应用程序提供不同的API。这是应用程序开发和应用开发能力的基础。
我们可以根据运行时提供的API来完成应用程序的应用程序开发,但是一些摘要通常是在复杂的情况下进行的。
例如,浏览器上的前端应用程序主要是通过DOM API和CSS渲染数据,并进行一些交互。然后,我们抽象数据驱动的前端框架,抽象诸如组件,状态和数据流等概念。在此之后,可以将不同的需求抽象为不同的组件和状态。
在抽象层次之后,在开发复杂的前端应用程序时,代码更容易维护和成本较低。
例如,我们可以基于Node.js的FS,NET,HTTP和其他API来实现Web服务器,但是对于复杂的企业 - 级别的应用程序,我们使用控制器,服务,模型,视图等的概念。后端代码可以将需求抽取到不同的控制器和服务中。
MVC抽象后,后端应用程序的层更清晰,更易于维护和扩展。
复杂的应用需要在API的基础上进行一些抽象。我们经常使用框架制作抽象层,然后进行另一层抽象。抽象层之后的代码更易于维护和扩展。这是所谓的体系结构。
API是操作系统功能或不同字段的包装。
例如,node.js进程,线程,文件和网络API是操作系统功能的封装。如果您想深入研究它们,则必须学习操作系统的一些原则。
WebGL,音频和视频等API被封装在图形,音频和视频等领域,如果他们想深入了解它们,则必须在这些领域中学习一些原则。
我个人认为我们知道API提供了什么功能,并且无需过度渗透API的实施原则。
摘要是基于针对不同目标的编程语言和设计的设计。
JavaScript提供了一个面向对象和功能性编程范式,因此您可以使用对象进行抽象,使用对象的各种设计模式或函数的函数。这是摘要的基础。
摘要是根据不同目标完成的。
前端字段主要是为了分开DOM操作和数据,并根据功能将页面划分,因此MVVM和组件的抽象基于这些目标。
后端字段主要是为了制作层,去耦等,因此我已经抽象了IOC和MVC。
可以看出,抽象是基于编程语言的范式。根据设计,一个好的框架必须是满足特定管理代码需求的抽象。
如果您想提高抽象和架构设计能力,可以学习对象的设计模式,或函数的编程范式。研究各种框架如何抽象。
不同的平台提供不同的API,这些API是应用程序开发的基础和边界。PLEX应用程序通常需要根据API进行抽象层。通常,他们使用框架来制作一层抽象,并制作另一层抽象。目标是更清楚地分配代码,改善维护和可扩展性。
实际上,我们编写的所有代码都可以分为两个方面:API和抽象。
在-Depth API原则中,我们必须深入了解操作系统和各种字段的知识。如果您提高抽象能力,则可以学习面向对象的设计模式或功能编程范式。
无论您现在要做哪个平台,都必须首先学习API,然后您需要了解各种抽象:框架是如何抽象的以及上层的抽象是什么。
API保证了下限,抽象可以增加上限。可以迁移抽象功能或架构功能,这是程序员最重要的能力之一。