You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/contributing/technical-priorities.md
+82Lines changed: 82 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,88 @@ on August 5th 2021.
14
14
They will be updated regularly and will be reviewed by the next-10 team
15
15
and the TSC on a 6-month basis.
16
16
17
+
18
+
Version from the [mini-summit](https://github.com/nodejs/next-10/issues/1) on October 1st 2022.
19
+
20
+
## ESM
21
+
22
+
The CommonJS module system was one of the key components that led to the success
23
+
of Node.js in its first 10 years. ESM is the standard that has been adopted as
24
+
the equivalent in the broader JavaScript ecosystem and Node.js must continue to
25
+
develop and improve its ESM implementation to stay relevant and ensure
26
+
continued growth for the next 10 years.
27
+
28
+
## Suitable types for end-users
29
+
30
+
Using typings with JavaScript can allow a richer experience when using Visual
31
+
Studio Code (or any other IDEs) environments, more complete documentation
32
+
of APIs and the ability to identify and resolve errors earlier in the
33
+
development process. These benefits are important to a large number of Node.js
34
+
developers (maybe 50%). Further typing support may be important
35
+
to enterprises that are considering expanding their preferred platforms to
36
+
include Node.js. It is, therefore, important that the Node.js project work
37
+
to ensure there are good typings available for the public Node.js APIs.
38
+
39
+
## Serverless
40
+
41
+
Serverless is a cloud computing model where the cloud provider manages the underlying infrastructure and automatically allocates resources as needed. Developers only need to focus on writing code for specific functions, which are executed as individual units of work in response to events. Node.js is one of the main technology used by developers in this field therefore it is crucial for us to provide a great solution.
42
+
43
+
## Small footprint
44
+
45
+
Small software footprints refer to software that has a minimal impact on system resources such as memory and processing power. This can be achieved through various methods such as optimizing code, reducing the number of dependencies, or using lightweight frameworks. Smaller footprints can lead to faster startup times, reduced memory usage, and improved overall system performance. This is primordial for Node.js to be a lightweigh proposition inside the ecosystem as it is used across a wild variety of projects, from web application to IoT and serverless.
46
+
47
+
## Observability
48
+
49
+
The ability to investigate and resolve problems that occur in applications
50
+
running in production is crucial for organizations. Tools that allow
51
+
people to observe the current and past operation of the application are
52
+
needed to support that need. It is therefore important that the Node.js
53
+
project work towards well understood and defined processes for observing
54
+
the behavior of Node.js applications as well as ensuring there are well
55
+
supported tools to implement those processes (logging, metrics and tracing).
56
+
This includes support within the Node.js runtime itself (for example
57
+
generating heap dumps, performance metrics, etc.) as well as support for
58
+
applications on top of the runtime. In addition, it is also important to clearly
59
+
document the use cases, problem determination methods and best
60
+
practices for those tools.
61
+
62
+
## Modern HTTP
63
+
64
+
Base HTTP support is a key component of modern cloud-native applications
65
+
and built-in support was part of what made Node.js a success in the first
66
+
10 years. The current implementation is hard to support and a common
67
+
source of vulnerabilities. We must work towards an
68
+
implementation which is easier to support and makes it easier to integrate
69
+
the new HTTP versions (HTTP3, QUIC) and to support efficient
70
+
implementations of different versions concurrently.
71
+
72
+
## WebAssembly
73
+
74
+
The use of WebAssembly has been growing over the last few years.
75
+
To ensure Node.js continues to be part of solutions where a
76
+
subset of the solution needs the performance that WebAssembly can
77
+
deliver, Node.js must provide good support for running
78
+
WebAssembly components along with the JavaScript that makes up the rest
79
+
of the solution. This includes implementations of “host” APIs like WASI.
80
+
81
+
## Documentation
82
+
83
+
The current documentation is great for experienced developers or people
84
+
who are aware of what they are looking for. On the other hand, for
85
+
beginners this documentation can be quite hard to read and finding the
86
+
desired information is difficult. We must have documentation
87
+
that is suitable for beginners to continue the rapid growth in use.
88
+
This documentation should include more concrete examples and a learning
89
+
path for newcomers.
90
+
91
+
## Developers-first DX
92
+
93
+
Developer experience (DX) refers to the overall experience a developer has when working with a software development platform, framework, or tool. It encompasses all aspects of the developer's interactions with the system, from installation and configuration to writing code and debugging. A good DX prioritizes ease of use, efficiency, and productivity, and can lead to faster development times, higher quality code, and greater developer satisfaction. Factors that can impact DX include documentation, community support, testing tools, and integration with other systems.
94
+
95
+
------
96
+
97
+
Version from the [mini-summit](https://github.com/nodejs/next-10/issues/76) on August 5th 2021.
98
+
17
99
## Modern HTTP
18
100
19
101
Base HTTP support is a key component of modern cloud-native applications
0 commit comments