-
Notifications
You must be signed in to change notification settings - Fork 29.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: update technical priorities for 2023 #47523
Conversation
Review requested:
|
|
||
Version from the [mini-summit](https://github.com/nodejs/next-10/issues/1) on October 1st 2022. | ||
|
||
## ESM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## ESM | |
## ES Modules (ESM) |
|
||
## Small footprint | ||
|
||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m not sure what “primordial” means in this context.
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. | |
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 fundamental for Node.js to be a lightweight proposition inside the ecosystem as it is used across a wild variety of projects, from web application to IoT and serverless. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 on using fundamental as the wording
|
||
------ | ||
|
||
Version from the [mini-summit](https://github.com/nodejs/next-10/issues/76) on August 5th 2021. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need older versions below the current one? Can this file just represent the current priorities list, and the older versions are in the git history?
|
||
## Small footprint | ||
|
||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. | |
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 lightweight proposition inside the ecosystem as it is used across a wild variety of projects, from web application to IoT and serverless. |
I'd suggest we make the doc just contain the current version of the priorities. We can also track changes through GitHub history. That would also make reviewing what's changing easier. |
b1cfce4
to
8c9f914
Compare
must provide good support for using multiple threads | ||
to ensure the continued growth and success of Node.js. | ||
|
||
## Single Executable Applications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should leave this one in. Just because it was not in the current brainstorm does not mean it's still not important to the project.
develop and improve its ESM implementation to stay relevant and ensure | ||
continued growth for the next 10 years. | ||
|
||
## Support for features from the latest ECMAScript spec |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should leave this one in. Just because it was not in the current brainstorm does not mean it's still not important to the project. I believe this one will continue to be important almost forever :)
@sheplu it's still hard to see the differences between the current/new version as sections are moved around. Is that necessary or could it be updated so that sections stay in the same order. I don't think we implied any priority based on the order that they were listed in. |
|
||
## WebAssembly | ||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ultimately most serverless runtimes are closed-source forks of Node.js, patched to support the needs of their cloud. Given that Serverless vendors are not keen to participate in the development of Node.js, nor do they provide public feedback, I don't see how this priority could be translated into actual work.
I'm +1 to support whoever shows up and wants to collaborate with the Node.js project. Supporting companies that are not willing to give back is not something I can endorse.
I think a goal could be to have those companies start collaborating on the project, but I don't think "serverless" could be a technical priority.
|
||
## Developers-first DX | ||
|
||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. | |
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. |
for using Node.js in these situations. This is important to support | ||
the expansion of where/when Node.js is used in building solutions. | ||
## Modern HTTP | ||
_Present in: 2021_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_Present in: 2021_ | |
_Present in: 2021_ | |
of the solution. This includes implementations of “host” APIs like WASI. | ||
|
||
## Documentation | ||
_Present in: 2021_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_Present in: 2021_ | |
_Present in: 2021_ | |
8c9f914
to
da5cbf5
Compare
not result in 100% protection as this will still help organizations | ||
manage their overall risk level. | ||
|
||
## Better multithreaded support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one seemed to be mentioned quite a bit in the Community survey so may be worth leaving in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sheplu I don't think this comment was addressed. Can you take another look.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch !
2d53b68
to
da7ed50
Compare
All issues should be fixed |
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, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
of use,efficiency, and productivity, and can lead to faster development times, | |
of use, efficiency, and productivity, and can lead to faster development times, |
|
||
The CommonJS module system was one of the key components that led to the | ||
success of Node.js in its first 10 years. ESM is the standard that has | ||
been adopted asthe equivalent in the broader JavaScript ecosystem and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
been adopted asthe equivalent in the broader JavaScript ecosystem and | |
been adopted as the equivalent in the broader JavaScript ecosystem and |
da7ed50
to
82129a4
Compare
As TypeScript becomes usage continue to grow and the technology is more and | ||
more prominent, improving its support is vital to provides a great developer | ||
experience for newcomers or experienced users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As TypeScript becomes usage continue to grow and the technology is more and | |
more prominent, improving its support is vital to provides a great developer | |
experience for newcomers or experienced users. | |
As TypeScript usage continues to grow and gains more prominence in the | |
ecosystem, enhancing its support is essential for delivering an improved | |
developer experience for newcomers and experienced users alike. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done @aduh95
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Seeing as it’s not 2023 anymore, I think it’s time we landed this. |
82129a4
to
b66df02
Compare
b66df02
to
f6d53b0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
PR-URL: #47523 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Landed in 53aed88 |
PR-URL: #47523 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
PR-URL: nodejs#47523 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
PR-URL: #47523 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
PR-URL: #47523 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Update of the technical priorities from the last next-10 meeting during the Collaborator Summit (October 2022 in Dublin)