Skip to main content
Category

Blog

Test your skills! How good are you with Node.js?

By Blog, Certification and Training, Node.js

Lock in Best Pricing of the Year Available for One Week Only! Steep Discounts on OpenJS Foundation Node.js Training & Certification for Cyber Monday

Want to know where you stand with Node.js? Having a vendor-neutral Node.js certification badge from the OpenJS Foundation on your profile is an easy way for peers and managers to know that your knowledge has been fully tested. 

Cyber Monday offers the best discounts of the year on OpenJS Foundation Node.js Training & Certification. Available for one week only!

Job openings are at record highs, and Node.js developers are in high demand. The 2021 Open Source Jobs Report found that 92% of hiring managers are unable to find enough talent to meet their organizations’ needs. If you know Node.js, you can stand out through the OpenJS Node.js Training and Certification. 

An important goal of the OpenJS Foundation is helping close the talent gap so the industry has the talent necessary to build their business, while also creating accessible pathways for anyone who wants to build their career with JavaScript and related technologies.

We are excited to offer our best pricing of the year on our Node.js training courses, certification exams, and bundled programs, for Cyber Monday. From now through December 6, 2021, all these fantastic offerings are available at significantly reduced cost. Through our partnership with the Linux Foundation, we’re providing vendor-neutral training directly from the experts helping build these projects.

This year’s Cyber Monday offers include:

PowerBundle (Save 65%. Use Code: CYBER21PB)

Pricing:  Pricing is $1150 $399

  • PowerBundle
    • Linux Foundation Node.js Application Development Training (LFW211) + 
    • OpenJS Foundation Node.js Application Development Certification Exam (JSNAD) + 
    • Linux Foundation Node.js Services Development Training (LFW212) + 
    • OpenJS Foundation Node.js Services Development Certification Exam (JSNSD)

Bundles (Save 65%. Use Code: CYBER21BUN)

Pricing:  Pricing is $575 $199

  • Bundle
    • Linux Foundation Node.js Application Development Training (LFW211) + 
    • OpenJS Foundation Node.js Application Development Certification 
  • Bundle
    • Linux Foundation Node.js Services Development Training (LFW212) + 
    • OpenJS Foundation Node.js Services Development Certification Exam (JSNSD)

Certifications (Save 50%. Use Code: CYBER21CC)

Pricing: Pricing is $375 $187.50

View the certification catalog from the Linux Foundation Training and check out the Node.js certifications under the Web and Application Certification section.

You can check out the full details of everything that is on offer on our Cyber Monday Landing Page. Take advantage of the incredible discounts!

Hear from developers who earned the Node.js certification badge on how this program helped increase their confidence and further their careers. 

Prosper Opara, Junior Fullstack Engineer at Deimos Cloud in Nigeria, recently shared his experience with the Node.js Certification. Prosper said the certification greatly helped improve his confidence in his skills as a Node.js developer, and his team members trust him more with Node.js related projects because he’s certified.
Juan Picado, a Senior Front-End Engineer at Adevinta in Berlin gave details about passing the certification exam. He described how it helped him dive more into the specifics of Node.js, and the professional benefits of this vendor-neutral test.

OpenJS Node.js Certification Version Update: Node.js 14 to Node.js 16

By Blog, Certification, Certification and Training, Node.js

The OpenJS Node.js certification exam has been updated with new content today to reflect the latest current, long-term support (LTS) version of Node.js 16, which was released two weeks ago. The certification is ideal for the intermediate Node.js developer looking to establish their credibility and value in their career.

The testing content broadly covers competence with Node.js to create applications of any kind, with a focus on knowledge of Node.js core API’s.

The exams have been updated based on an evaluation of all recent additions to Node.js core APIs, the evolution of the Node.js ecosystem, and continual tracking of industry standards. As a result, candidates will see a few exam questions have been either removed and added within relevant topic areas without increasing exam duration.

To help prepare for the Node.js Certification exams, the Linux Foundation offers training courses for both the Applications and Services exams. The training courses were authored by David Mark Clements, a principal architect, public speaker, author of the Node Cookbook, and open source creator specializing in Node.js and browser JavaScript.

These exams are evergreen and soon after Node.js updates its LTS version line, the certifications are updated to stay in lockstep with that LTS version. Now that Node.js 14 has moved into maintenance, certifications will be based on Node.js 16.

To see what’s new in Node.js 16, check out the Node.js blog by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee. 

The OpenJS Node.js Certification program was developed over time with community input, and launched two years ago in partnership with NearForm and NodeSource. 

Discounts from 10% – 50% are available for all the OpenJS Node.js trainings and certifications for members of the OpenJS Foundation and supporters of its JavaScriptLandia program. Corporate subscriptions are also available for full access to the Linux Foundation Training and Certification programs.

New Faces on Our OpenJS Board

By Announcement, Blog, Uncategorized

As of October 2021, we have three new faces on the OpenJS Foundation Board of Directors. They are filling positions on the Platinum level, Gold level, and Community level. We welcome their collective experience and energy!

The Board sets technical policy, including “mission and vision statements, describing the overarching scope of foundation initiatives, technical vision, and direction.”

From our bylaws:

Each Platinum member is entitled to appoint one Director to the board, and the Platinum Directors are eligible to serve as chairperson and vice-chairperson. Gold and Silver members vote among themselves to select their representatives. The board also includes community representation, with up to 3 Community Director positions nominated by the CPC and its chartered committees.

Shayne Boyer

PLATINUM DIRECTOR, MICROSOFT

Shayne is currently a Principal Program Manager, leading the Developer Experiences team focused on cloud developer experiences for VS Code, Visual Studio and Azure. He has been leading teams in developer advocacy, enterprise, open source, web and the cloud for more than 10 years.




Daniel Cousineau

GOLD DIRECTOR, GODADDY

Daniel is a Senior Engineering Manager for GoDaddy’s UX Platform team, helping to deliver Javascript-powered tools and technologies to dozens of product teams ensuring a cohesive design and experience for nearly 19 million customers. He is also a passionate community advocate, helping organize community conferences like EmpireJS and meet-ups like QueensJS. He believes in the value that a healthy, accessible community can bring not only to future developers and leaders, but to the ecosystem as a whole.


Alex Liu

END-USER DIRECTOR, NETFLIX

Alex is the Engineering Manager for the Node.js Platform team at Netflix responsible for curating the Node.js development experience for hundreds of engineers across the company. His team builds on the shoulders of the incredible open source communities that have found a home in the OpenJS Foundation, and advocates for the continued support and sustainability of the vibrant communities that have made today’s ecosystem possible.

OpenJS World 2021 Keynote Recap: Node.js: The New and the Experimental

By Blog, Node.js

Bethany Griggs, Node.js Technical Steering Committee member, and Senior Software Engineer at Red Hat, describes in detail how new and experimental features are added to the Node.js project.

Griggs starts the talk with an introduction to Node.js, a highly decentralized open-source project, with no forward roadmap and a heavy activity flow in multiple directions. New features are added to the project based on the interests and requirements of the contributors. She introduces the Working Groups and Teams focused on different areas of the project and the Strategic Initiatives which help smooth operations of the project.

Next, Griggs discusses the project delivery schedule for Node.js. There are two major releases per year with even number releases being promoted to Long-Term Support (LTS). She mentions that each release has three defined release phases. During the Current phase, the release line picks up the non-major changes that land on the Node.js main branch. The Active phase incorporates only the new features, fixes, and updates that have been audited and approved by the LTS team. Only critical bug fixes are part of the Maintenance phase and new features are rarely added in this phase.

In the second half, Griggs introduces a Stability Index, ranging from 0 to 3, which allows users to decide on features to use in their applications. She discusses each index in detail with examples for each of these APIs.

Griggs explains that Stability Index 0 indicates a Deprecated API which may be removed in the future versions of Node.js. An API is first Documentation Deprecated and then elevated to a Run-time Deprecation. Stability Index 3 is for Legacy APIs, which are discouraged from being used in new applications. She assures users that Legacy APIs will not be removed by the project, so applications using these APIs will not be affected.

Experimental APIs have a Stability Index of 1 and may change even in the long-term support phase. She warns that users must use them cautiously in production workloads. She further explains that experimental APIs are ones that do not have an agreed-upon design and are later modified based on user feedback. Stability Index 2 is reserved for Stable APIs for which Semantic Versioning applies and compatibility is a priority. Experimental features only get promoted to stable when the main contributors have confidence in the API and no major changes are likely. She then introduces some new stable features of the project.

In her concluding remarks, Griggs encourages users to look at and provide feedback on the experimental features of the project, which helps the project in speeding up the process of promoting experimental features to stable features. She also warns against the use of experimental APIs in critical applications.

Full Video Here

Broken down by section:

Panel Introduction 0:00

Overview 0:48

Introduction to OpenJS Foundation 1:09

Node.js 1:42

What’s next? 3:07

Working Groups and Teams 4:10

Strategic Initiatives 5:06

Releases 7:26

Deprecated APIs 12:14

Legacy APIs 15:12

Experimental APIs 16:47

Stable APIs 25:31

Conclusion 28:26

Application Monitoring Specialist Sentry Joins OpenJS Foundation

By Announcement, Blog

Evolution of observability in software development is moving application performance and error monitoring closer together

SAN FRANCISCO – October 21, 2021 – The OpenJS Foundation, providing vendor-neutral support for sustained growth within the open source JavaScript community, is announcing today that Sentry has joined as a new member. 

Sentry offers error tracking and performance monitoring to help developers monitor their application health from frontend to backend. Used by more than 1 million developers and 80,000 organizations worldwide, the company provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games.

“We rely on JavaScript and multiple OpenJS Foundation projects to deliver Sentry services. Key components of Sentry are community-built open source, without corporate money and highly deserving of support. Joining OpenJS is a great way to give back,” said Milin Desai, CEO, Sentry. “We look forward to working closely with OpenJS to support the open source ecosystem and bring even greater value to our customers around the world.”

Sentry is known for their history of financial support to open source projects and is announcing specifics for a new, formalized round of giving. In addition to supporting the overall operations and infrastructure of the OpenJS Foundation through its membership, project-directed funding includes four projects under the OpenJS Foundation umbrella: Ajv, ESLint, Mocha, and webpack.

“Welcome Sentry to our JavaScript community at the OpenJS Foundation,” said Robin Ginn, OpenJS Foundation Executive Director. “Sentry has long been a champion for making developers happy, and we are grateful for their support to lift up the vast JavaScript ecosystem that calls OpenJS home.” 

“It’s great to have Sentry join the industry in supporting open source JavaScript at the OpenJS Foundation,” said Todd Moore, OpenJS Foundation Board President and VP of Open Technology and Developer Advocacy at IBM. “We appreciate the strategic approach Sentry is taking to supporting the critical infrastructure and business dependencies they and many others have for OpenJS projects.”

Sentry is also making a financial contribution to the Linux Foundation to support the broader efforts of the Linux community. 

“Performance and error monitoring are key to good software development, and open source solutions lead the way,” said Jim Zemlin, executive director of the Linux Foundation. “Sentry’s thoughtful support of open source developers through its contribution to the Linux Foundation and OpenJS Foundation will help further sustain critical open source projects today.”

With a mission to help support the sustainable growth of JavaScript by operating as a neutral organization that hosts projects and funds activities, the OpenJS Foundation invites all companies that depend on JavaScript to join as members. Recently announced JavaScriptlandia provides a way for individuals to join as supporters as well. Click here to learn more and join today!

OpenJS Resources

To learn more about how you could be a part of the OpenJS Foundation, click here.

About OpenJS Foundation

The OpenJS Foundation is committed to supporting the healthy growth of the JavaScript ecosystem and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large. The OpenJS Foundation is made up of 35 open source JavaScript projects including Appium, Dojo, jQuery, Node.js, and webpack and is supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft. These members recognize the interconnected nature of the JavaScript ecosystem and the importance of providing a central home for projects which represent significant shared value. 

About Linux Foundation

Founded in 2000, the Linux Foundation is supported by more than 1000 members and is the world’s leading home for collaboration on open source software, open standards, and open hardware. Linux Foundation projects like Linux, Kubernetes, Node.js and more are considered critical to the development of the world’s most important infrastructure. Its development methodology leverages established best practices and addresses the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit their website.

Node.js 17 is here!

By Blog, Node.js

This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee and project collaborators.

We’re excited to announce that Node.js 17 was released today!

Node.js 17 replaces Node.js 16 as our ‘current’ release line, with Node.js 16 being promoted to long-term support (LTS) next week. You can expect new releases of Node.js 17 approximately every two weeks, keeping you up to date with the latest features and changes. As an odd-numbered release line, Node.js 17 will not be promoted to LTS. You can read more about our release policy at https://github.com/nodejs/release.

To download Node.js v17.0.0, visit: https://nodejs.org/en/download/current/. Similarly, you can find the release post at https://nodejs.org/en/blog/release/v17.0.0, which contains the list of commits included in this release.

Some of the new changes and features delivered in Node.js 17 include:

  • Additional promisified APIs
  • Stack traces with Node.js version
  • OpenSSL 3.0 support
  • V8 JavaScript Engine is updated to 9.5

Following our Release Policy, new features that are contributed to the runtime are shipped approximately every two weeks in our ‘current’ release line. This means that the majority of new commits that are included in the initial major release (v17.0.0) are those that involve breaking changes. We care about minimizing the number and disruption of these breaking changes for the stability of the platform and to make version migrations easier for our users.

Additional Promisified APIs

A continuing strategic initiative within the Node.js project is to provide promise-based Node.js core APIs. In recent years, we have added the Timers Promises API and Streams Promises API (both available since Node.js 15).

In Node.js 17, we introduce promise-based APIs for the Readline module. The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time.

The following simple example illustrates the basic use of the readline module:

import * as readline from 'node:readline/promises';

import { stdin as input, stdout as output } from 'process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();

You can read more about the Readline module in the API documentation.

OpenSSL 3.0

Node.js now includes the recently released OpenSSL 3.0, specifically quictls/openssl, upgraded from OpenSSL 1.1.1. OpenSSL 1.1.1 will reach the end of support on 2023-09-11 (from OpenSSL Release Strategy), which is before our proposed End-of-Life date for Node.js 18 (LTS). For this reason, we have decided to include OpenSSL 3.0 in Node.js 17 to provide time for user testing and feedback before the next LTS release.

Among the new features in OpenSSL 3.0 is the introduction of Providers, of which one is a FIPS provider which can be enabled in Node.js. For details about how to build Node.js with FIPS support please see BUILDING.md.

While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes. 

If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A new command-line option, --openssl-legacy-provider, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.

Example usage:

$ ./node --openssl-legacy-provider  -p 'crypto.createHash("md4")'

Hash {
  _options: undefined,
  [Symbol(kHandle)]: Hash {},
  [Symbol(kState)]: { [Symbol(kFinalized)]: false }
}

For more details on the OpenSSL 3.0 release please see the OpenSSL 3.0 release post.

Stack traces with Node.js version

Stack traces are an essential part of diagnosing application errors, helping to provide visibility into what has gone wrong. In Node.js 17, the Node.js version will be included at the end of the stack trace when there is a fatal exception that causes the process to exit.

It’s useful to provide this by default as often when diagnosing reported errors one of the first questions asked will be “What Node.js version are you using?”

Node.js 17 also comes with a command-line option, --no-extra-info-on-fatal-exception, to omit this extra information.

V8 9.5

In Node.js 17.0.0, the V8 JavaScript engine has been updated to V8 9.5. (V8 9.4 is the latest available in Node.js 16).

Along with performance tweaks and improvements, this update comes with additional supported types for Intl.DisplayNames API and Extended timeZoneName options in the Intl.DateTimeFormat API.

You can read more details in the V8 9.5 release post – https://v8.dev/blog/v8-release-95.

Node.js 16 promoted to long-term support

Next week, Node.js 16 will be promoted to long-term support. This is a significant milestone, as many users, particularly those operating production deployments, will opt to only use the long-term supported versions of Node.js. This means for the first time some features will be available in a long-term supported release line.

Node.js 16 and later include Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them. Read more about Corepack in the documentation

In Node.js 16, the V8 JavaScript Engine is V8 9.4. It’s through the V8 JavaScript Engine upgrades that Node.js gains the new JavaScript language features. In Node.js 16, we have gained the following language features:

  • Array.prototype.at (from V8 9.2)
  • ECMAScript RegExp Match Indices (from V8 9.0)
  • Errors with cause (from V8 9.3)
  • Object.hasOwn (from V8 9.3)

Other features new to LTS in Node.js 16 include npm 8 and the Experimental Web Streams API.

Node.js 16 is also the first LTS release where we ship prebuilt binaries for Apple Silicon. We provide separate tarballs for the Intel (darwin-x64) and ARM (darwin-arm64) architectures, with the macOS installer (.pkg) shipped as a fat (multi-architecture) binary.

Other project news

The project is also continuing its Next 10 effort. The goal of this effort is to reflect on what led to success in the first 10 years of Node.js and set the direction for success in the next 10. Initial efforts were focused on defining and documenting the project’s technical values and priorities.

Our next steps on this effort are to host deep-dive sessions on specific topics, with improving documentation and growing our contributions being two of the first topics we plan to discuss.

We welcome you to join our meetings, which can be found on the Node.js Calendar.

Call to Action!

Try out the new Node.js 17 release! We’re always happy to hear your feedback. Testing your applications and modules with Node.js 17 helps to ensure the future compatibility of your project with the latest Node.js changes and features.

Now is also a good time to start planning to upgrade to Node.js 16, which is due to be promoted to long-term support next week. Node.js 16 will continue to be supported until April 30th, 2024.

Also of note is that Node.js 12 will go End of Life in April 2021, so we advise you to start planning to upgrade if you are still using Node.js 12.

For the timeline of Node.js releases, check out the Node.js Release Schedule.

Thank you!We’d like to thank all of the Node.js collaborators and contributors, as this release is a sum of all their efforts.

Specifically, thank you to the Node.js Release Working Group for maintaining and producing Node.js releases and the Node.js Build Working Group for keeping the project infrastructure running.

Retiring the Node.js Community Committee

By Blog, Node.js

This blog was originally authored by Tierney Cyren and posted on the nodejs.org blog on October 7, 2021.

tl;dr: we’re going to be retiring the Node.js Community Committee, moving our existing Initiatives to exist under the Node.js Technical Steering Committee (TSC).

From the Community Committee’s side, we’ve seen a convergence of our initiatives’ goals with the goals of the work that is generally under the TSC. Further, we’ve seen a decline in the number of people who can consistently dedicate the necessary amount of time/energy. As such, separation between the TSC and Community Committee has become more of a barrier to accomplishing our collective goals rather than the helpful and necessary construct it once was.

The Past

I want to start with a bit of history as a form of preservation of the context I’ve collected as the Community Committee’s chair for the majority of its existence.

On January 11th, 2017, Tracy Hinds made the first commit to the nodejs/community-committee repository. This commit was the result of in-person discussion with a number of key Node.js community members at the 2016 North America Collaborator Summit in Austin, Texas, though there’d been a rising discourse to push for something like it for some time in various forums including the (now-archived) Inclusivity WG.

The stated goal of the Community Committee has been to be a top-level commitment of and investment in the Node.js project to support community efforts.

At the time, this was particularly important. Node.js as a project was still figuring out its identity as a project independent from a Corporation while existing in a neutral Foundation. The Node.js community was foundational not only in the project’s success – be it in the v0.x era in the early 2010s, during the io.js fork, or post-reunification – and those starting the Committee wanted to be sure that we were effectively representing and enabling that from the project directly.

The Present

Since the creation of the Node.js Community Committee, members have largely spent project and committee time on outward-facing efforts with the goal of continuing to enable and grow the Node.js community. There’ve been multiple facets to this approach, some of which have been relatively successful and others that have been entirely unsuccessful.

The broad trend that I’ve personally witnessed is that the Community Committee’s interest and activity have slowed dramatically since its inception. My perception is that this is due to a couple of different factors:

  • Sponsorship and Investment:
    • A majority of work in Node.js is done by people who can dedicate non-trivial amounts of their paid time to progress the project, sponsored by their employer. Initially, there was already a small number of people who were able to focus their employer-sponsored time on “community” work – work that doesn’t ship features they need – in Node.js, and that number has only gone down over time.
      • do not think that this will be a universal experience in open source. Several other massive-scale projects are relatively successful in approaching this. They also have fundamentally different models and investment than Node.js does, which is likely a contributing factor to their sustainability. The Electron Outreach WG and the Kubernetes Contributor Experience SIG are both good examples of “success” here, in my opinion.
    • In general, JavaScript occupies a relatively unique space. It is ubiquitous, yet very few companies are willing to substantially invest time, energy, and resources into it despite their reliance on it. Lack of investment into community sustainability is one facet of this.
  • Necessity:
    • The Node.js Community Committee was created at a time in which the Node.js project was larger, with louder voices sharing relatively differing opinions on how we should approach the future. The reality is that we’re smaller now than we were then, and there’s generally less conflict around how we should approach community, safety, and governance. As such, the necessity for a distinct “community” focus is not only less but – in my opinion – actively detrimental to progress. It splits the project’s collaborators into different, disconnected groups rather than unifying the project towards the same goal.
    • The Node.js Community Committee was also created at a time when Node.js was relatively alone. Under the Node.js Foundation, we had to do a lot of community organization within the project directly. Under the OpenJS Foundation, we have shifted several initiatives that the Community Committee was charged with under the Node.js foundation up to the OpenJS Foundation Cross-project Council. As such, certain tasks that we initially envisioned being core to the Community Committee are now living in a different home.

The Future

I don’t believe that retiring the Node.js Community Committee means we’ll see a lack of investment in the community from the Node.js project.

Rather, I think it’s an enabling function for Node.js to continue to sustainably invest in the community. This means fewer barriers, more connectedness, and allowing for resilience in the ebb and flow of those who can invest to do so.

I look forward to what we’ll collectively work on next.

A Big, Heartfelt Thanks

Over the years, we’ve seen dozens of people contribute to the Node.js Community Committee and its initiatives, and I’d like to be explicit:

Y’all have been lovely over the past five years. You all care deeply about the Node.js ecosystem, community, and people. It’s been truly a privilege to have the opportunity to work on something like this with each and every one of you.

As we retire the CommComm, I hope that you see this as yet another evolution of the Node.js project’s commitment to the community… just as the CommComm itself was.

jQuery maintainers update and transition jQuery UI as part of overall modernization efforts

By Blog, jQuery, Project Updates

Authors: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team

The jQuery project is actively maintained and widely implemented — it’s used by 73% of 10 million most popular websites. As part of its ongoing effort to modernize the project, jQuery maintainers have taken steps to wind down one of its projects under the jQuery umbrella through a careful transition. 

Today, jQuery UI announced version 1.13 — its first release in 5 years and the project’s final planned release. Perhaps the most important update is that jQuery UI 1.13 now runs on the latest version of jQuery Core, providing a number of browser compatibility and security updates that have been missing from previous releases, in addition to community fixes and improvements. The jQuery UI Download Builder has also been restored and updated so developers can continue to download UI along with their favorite themes. The release is part of an ongoing series of updates across all jQuery projects.

jQuery UI is in maintenance-only mode. Users should not expect any new releases, though patches may be issued to resolve critical security, interoperability, or regression bugs. Trac, the project’s bug-tracking tool, has been put in read-only mode and developers are asked to file any critical issues on the project’s GitHub repository

jQuery UI was first launched in September 2007 as a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery library. It quickly gained popularity because it was one of the best tested and most accessible UI frameworks of its time. The tool helped developers build UI components such as form controls and date pickers using the best practices back then. In its heyday, jQuery UI was adopted by a broad set of enterprises including Pinterest, PayPal, IMDB, Huffington Post, and Netflix. 

Today, jQuery UI continues to be an important testbed for jQuery Core updates, helping the maintainer team spot bugs and interoperability issues that arise as the web platform evolves. 

Celebrating jQuery UI’s History

With the launch of jQuery in 2006, web developers were able to access and manipulate DOM and CSS faster and easier than ever before. Thousands of open source jQuery widgets and plugins were created to handle previously tricky problems, like showing and hiding elements, rotating through image carousels, or picking dates on a calendar. The jQuery ecosystem became a playground full of tools for making new and interesting interactions possible on the web. 

‘New and interesting’ doesn’t always translate to ‘good and useful’ — though there were many good plugins available, it was not always easy to tell which would be the most performant or provide the best user experience. Developers might have to go searching for the right tools or worse, spend significant time swapping through several plugins to figure out which one worked best. Further, there were few examples of best practices in user experience on the web, so visitors to one website could have vastly different (and thus confusing) interactions when they performed a similar task on another website. 

Members of the jQuery Core team wanted to help developers write performant, high-quality, and reusable jQuery components for their sites and applications. After some discussion, the idea for a second library with strict standards for coding, documentation, and theming was born. The project’s vision and goals included: developing a collaborative design process; providing flexible styling and themes; creating elegant visual and interaction design; providing a robust API; and prioritizing progressive enhancement, accessibility, internationalization and localization support.

In September 2007, jQuery UI officially launched as a set of user interface interactions, effects, widgets, and themes built on top of jQuery. Soon after, the team shifted their focus to provide a full set of APIs and methods to allow developers to create flexible, full-featured widgets that met high standards of quality. CSS effects such as easing and animation were added in and helped developers create more modern, enhanced experiences. The team at Filament Group later added a ThemeRoller, allowing developers to get started quickly by providing customizable theme boilerplate. ThemeRoller is still operational today.  

By the end of 2008, jQuery UI had an exploding community of users, developers, and interaction designers regularly providing updates and improvements to the project as best practices and style preferences evolved. Between 2009 and 2016, the community provided a variety of new official and unofficial themes and plugins, interoperability and other bug fixes, robust testing processes, and support for multiple versions of jQuery. 

jQuery UI’s prior official release came in September 2016, nearly a decade after it started. In that timeframe, the jQuery community had helped inspire dozens of other open source projects, pattern and component libraries. But newer CSS frameworks and approaches were taking hold, and slowly the community moved on to other projects. The UI team and jQuery Mobile teams merged, and the group focused more on maintenance and compatibility with jQuery Core.  

jQuery UI became an OpenJS Foundation Emeritus project in 2018, recognizing that it was winding down while noting the significance it had for the JavaScript ecosystem.

Celebrating jQuery UI Maintainers and Contributors

The scope of the project and the inclusiveness of the community was responsible for helping countless web makers develop a love and appreciation for user experience, localization, internationalization, accessibility, and clean, reusable code. Though many hours of work and contribution went into making jQuery UI a successful library, the jQuery UI core team deserves extra recognition for more than a decade of hard work shepherding the work and the community throughout the project’s lifecycle. Alex Schmitz, Jörn Zaefferer, Felix Nagel, Mike Sherov, Rafael Xavier de Souza, and Scott González led a team of many core contributors and more than 300 additional authors.

Additional gratitude is owed to Michał Gołębiowski-Owczarek for preparing the 1.13 release and stewarding the repository for the past year. 

OpenJS Foundation will forever be grateful for the work of these open source developers and the impact they had on the ecosystem through their work. Please join us in celebrating these developers and jQuery UI!

jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile

By Blog, jQuery, Project Updates

Authors: Michał Gołębiowski-Owczarek, Felix Nagel, and the jQuery team

jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its umbrella is fully deprecated as of October 7, 2021. New technologies for mobile app development have evolved since this project was launched in 2010, so we’re encouraging developers to plan for this jQuery Mobile transition.

Please note that:

  • The Download Builder will remain available.
  • Mobile 1.4 is not compatible with the new jQuery Core.
  • Issues will be turned off. Please report critical security bugs via email to security@jquery.com

Celebrating jQuery Mobile’s History

jQuery Mobile was conceived and announced in 2010, three years after the launch of jQuery.  The project was exciting and ambitious. At announcement, jQuery Mobile promised compatibility across multiple platforms, browsers, and versions. Several mobile browser vendors, including Palm and Mozilla, signed on to sponsor the project: 

“The jQuery community has focused on making the Web as productive and fun as possible. When we heard the mission behind jQuery Mobile, we wanted to help. With webOS we have shown that the Web platform is fantastic for developers, so we are excited to help make jQuery Mobile as good as it can be.” -Dion Almaer – Palm

At the time, the mobile web was desperately in need of a framework capable of working across all browsers, allowing developers to build truly mobile web applications. jQuery had already changed the way developers were building on the web, making it easier (and faster) to create secure, compliant applications. 

With jQuery Mobile, the project’s goals were to bring the ease-of-use of jQuery to HTML-capable mobile device browsers and to make it easier for developers to build progressively enhanced web applications. Led by Todd Parker of Filament Group, a development studio known for their work on cross platform and accessibility-first applications, jQuery Mobile launched its alpha release in October 2010. 

Alpha features included several components, layouts and theming tools that simplified the process of building a mobile web application. Progressive enhancement and graceful degradation, which were hot (and tricky) topics in web development at the time, featured heavily: jQuery Mobile promised developers and users the best possible experience their platform could handle. Accessibility was another key feature, with Mobile promising a user experience that could be navigated by touch, keyboard, or screen reader via ARIA compatible components. Additional features such as simplicity, file size, and the ability to deploy jQuery Mobile applications through an app store drove further excitement. 

Over the next year, the jQuery Mobile team continued to add compatible platforms and browsers, new components and themes, and eventually a themeroller tool that allowed developers to configure and download themes without writing any CSS. 

The community response was overwhelming – by the time 1.0 was released in November 2011, jQuery Mobile had gathered over 125 contributors, dozens of articles, tutorials and demos, 8 published books, and a gallery of sites, plugins and extensions to welcome and introduce new developers to the project. 

jQuery Mobile continued to make monthly releases throughout 2012 and 2013, regularly adding and improving components, resolving compatibility issues with mobile browsers, and making performance improvements to speed up page rendering times. The development team also continued to prioritize and highlight the importance of responsive web design and accessibility principles with each new release. 

As the number of components and widgets swelled – both those that were officially supported or widely adopted in the community, performance and compatibility issues with mobile platforms, browsers, and jQuery core were also exacerbated. Though the project did have some automated tests, there were still a number of items that needed to be tested manually, which slowed down the development process. 

In mid 2013, Jasper de Groot became the project lead and announced tighter development collaboration between jQuery UI and jQuery Mobile teams, sharing goals, roadmaps and code in order to ease the workload for both groups. The team continued to provide maintenance releases and support, but progress continued to slow under the burden of testing and supporting such a large community. 

Alex Schmitz took over the lead in July 2014, but by that time the size of the project, combined with the pace and availability of new mobile browser features, made finding a viable path forward for the project increasingly difficult. 

The latest stable version was released October 2014. Alex and team made a big push to update jQuery Mobile again in 2017 with the release of an alpha version of 1.5; this version would see compatibility with jQuery 3.0 and npm support among other things.

jQuery Mobile became an OpenJS Foundation Emeritus project in 2018, signifying that the goals of the project had been achieved.

jQuery modernization initiative

The deprecation of jQuery mobile follows the careful transition of another project under the jQuery project umbrella, jQuery UI.

jQuery Core is still actively maintained and widely implemented. As part of its modernization initiative, the team also has been making a series of updates this year to its infrastructure, including migrating and improving its CDN.

Celebrating jQuery Mobile Maintainers and Contributors

The contributions to jQuery Mobile opened up opportunities for people and organizations around the world, and we are thankful for all the contributions over the years. We would like to give an extra shout out of gratitude to the past maintainers of jQuery Mobile: Alexander Schmitz, Jasper de Groot, and Todd Parker.

OpenJS World 2021 Keynote Recap: Building Great Web Experiences with AMP and TensorFlow

By Blog, OpenJS World

During the OpenJS World Keynote Panel, Jeffrey Jose and Sandeep Gupta spoke on the best practices to follow to create great web experiences and the importance of machine learning to create an interactive and communicative web app.

As user expectations have evolved, web developers have a greater responsibility of evolving with them to create great unique web experiences. 

Jeffrey Jose, Product Manager at Google working on AMP, spoke with Sandeep Gupta, Product Manager on TensorFlow at Google. This keynote session is divided into sections. The first part takes a look at how page experience and AMP work together. Then Gupta explains the use of Tensorflow.js to harness the power of machine learning to build novel experiences for the web.

Jose goes on to explain that a useful way of understanding User Experience is by using the four UX Pillars: Loading, User Annoyance, Security & Privacy, and Accessibility. Additionally, the core of vitals are not just a set of metrics but also a set of threshold guidance that map to user expectations. To further illustrate this, Jose gives the example of how the Chrome team has done a lot of research to come up with guidance to create a metric of performance.

Gupta emphasizes that Machine Learning touches our lives daily as it is spread across multiple fields like healthcare and education. It gives people new ways of interacting. An example of how Machine Learning is improving web experience and communication is how L’oreal uses it for a virtual make-up try on experience.

In their concluding thoughts, they encourage other users to continue following best practices for creating a better web experience. Machine Learning is an important component of this and gives your web application “superpowers.” 

Full video here

Broken down by section:

  • Speaker introduction 0:02
  • The Web 0:28
  • UX Pillars 1:16
  • Page Experience 2:13
  • PX Signals 2:26
  • Thresholds 4:58
  • ML and Web Experience 9:26
  • Does this mean you must learn Python? 12:16
  • An example of text search using the Q & A model 14:46
  • Object Recognition 16:58
  • Train your own custom models 18:03