@@ -14,8 +14,13 @@ on August 5th 2021.
1414They will be updated regularly and will be reviewed by the next-10 team
1515and the TSC on a 6-month basis.
1616
17+ Version from the [ mini-summit] ( https://github.com/nodejs/next-10/issues/1 )
18+ on October 1st 2022.
19+
1720## Modern HTTP
1821
22+ _ Present in: 2021_
23+
1924Base HTTP support is a key component of modern cloud-native applications
2025and built-in support was part of what made Node.js a success in the first
212610 years. The current implementation is hard to support and a common
@@ -26,6 +31,8 @@ implementations of different versions concurrently.
2631
2732## Suitable types for end-users
2833
34+ _ Present in: 2021_
35+
2936Using typings with JavaScript can allow a richer experience when using Visual
3037Studio Code (or any other IDEs) environments, more complete documentation
3138of APIs and the ability to identify and resolve errors earlier in the
@@ -37,6 +44,8 @@ to ensure there are good typings available for the public Node.js APIs.
3744
3845## Documentation
3946
47+ _ Present in: 2021_
48+
4049The current documentation is great for experienced developers or people
4150who are aware of what they are looking for. On the other hand, for
4251beginners this documentation can be quite hard to read and finding the
@@ -47,20 +56,24 @@ path for newcomers.
4756
4857## WebAssembly
4958
59+ _ Present in: 2021_
60+
5061The use of WebAssembly has been growing over the last few years.
5162To ensure Node.js continues to be part of solutions where a
5263subset of the solution needs the performance that WebAssembly can
5364deliver, Node.js must provide good support for running
5465WebAssembly components along with the JavaScript that makes up the rest
5566of the solution. This includes implementations of “host” APIs like WASI.
5667
57- ## ESM
68+ ## ES Modules (ESM)
69+
70+ _ Present in: 2021_
5871
59- The CommonJS module system was one of the key components that led to the success
60- of Node.js in its first 10 years. ESM is the standard that has been adopted as
61- the equivalent in the broader JavaScript ecosystem and Node.js must continue to
62- develop and improve its ESM implementation to stay relevant and ensure
63- continued growth for the next 10 years.
72+ The CommonJS module system was one of the key components that led to the
73+ success of Node.js in its first 10 years. ESM is the standard that has
74+ been adopted as the equivalent in the broader JavaScript ecosystem and
75+ Node.js must continue to develop and improve its ESM implementation
76+ to stay relevant and ensure continued growth for the next 10 years.
6477
6578## Support for features from the latest ECMAScript spec
6679
@@ -71,6 +84,8 @@ of choice and to ensure its continued growth for the next 10 years.
7184
7285## Observability
7386
87+ _ Present in: 2021_
88+
7489The ability to investigate and resolve problems that occur in applications
7590running in production is crucial for organizations. Tools that allow
7691people to observe the current and past operation of the application are
@@ -80,24 +95,14 @@ the behavior of Node.js applications as well as ensuring there are well
8095supported tools to implement those processes (logging, metrics and tracing).
8196This includes support within the Node.js runtime itself (for example
8297generating heap dumps, performance metrics, etc.) as well as support for
83- applications on top of the runtime. In addition, it is also important to clearly
84- document the use cases, problem determination methods and best
98+ applications on top of the runtime. In addition, it is also important to
99+ clearly document the use cases, problem determination methods and best
85100practices for those tools.
86101
87- ## Permissions/policies/security model
88-
89- Organizations will only choose technologies that allow them to sufficiently
90- manage risk in their production deployments. For Node.js to
91- continue its growth in product/enterprise deployments we need to ensure
92- that we help them manage that risk. We must have a well-documented
93- security model so that consumers understand what threats are/are
94- not addressed by the Node.js runtime. We also need to provide
95- functions/features which help them limit attack surfaces even if it does
96- not result in 100% protection as this will still help organizations
97- manage their overall risk level.
98-
99102## Better multithreaded support
100103
104+ _ Present in: 2021_
105+
101106Today's servers support multiple threads of concurrent execution.
102107Node.js deployments must be able to make full and efficient
103108use of the available resources. The right answer is often to use
@@ -121,3 +126,37 @@ components/approaches for doing this, they need to be better
121126documented and evangelized so that this is not seen as a barrier
122127for using Node.js in these situations. This is important to support
123128the expansion of where/when Node.js is used in building solutions.
129+
130+ ## Serverless
131+
132+ Serverless is a cloud computing model where the cloud provider manages the
133+ underlyinginfrastructure and automatically allocates resources as
134+ needed. Developers only need to focus on writing code for specific
135+ functions, which are executed as individual units of work in response to
136+ events. Node.js is one of the main technology used by developers in
137+ this field therefore it is crucial for us to provide a great solution.
138+
139+ ## Small footprint
140+
141+ Small software footprints refer to software that has a minimal impact on
142+ system resources such as memory and processing power. This can be achieved
143+ through various methods such as optimizing code, reducing the number of
144+ dependencies, or using lightweight frameworks. Smaller footprints can lead
145+ to faster startup times, reduced memory usage, and improved overall system
146+ performance. This is fundamental for Node.js to be a lightweight proposition
147+ inside the ecosystem as it is used across a wild variety of projects, from
148+ web application to IoT and serverless.
149+
150+ ## Developers-first DX
151+
152+ Developer experience (DX) refers to the overall experience a developer has when
153+ working with a software development platform, framework, or tool. It encompasses
154+ all aspects of the developer's interactions with the system, from installation
155+ and configuration to writing code and debugging. A good DX prioritizes ease
156+ of use, efficiency, and productivity, and can lead to faster development times,
157+ higher quality code, and greater developer satisfaction. Factors that can
158+ impact DX include documentation, community support, testing tools,
159+ and integration with other systems.
160+ As TypeScript usage continues to grow and gains more prominence in the
161+ ecosystem, enhancing its support is essential for delivering an improved
162+ developer experience for newcomers and experienced users alike.
0 commit comments