Convert Figma logo to code with AI

Nickersoft logopush.js

The world's most versatile desktop notifications framework :earth_americas:

8,726
540
8,726
54

Top Related Projects

Web Push library for Node.js

Notify.js - A simple, versatile notification library

Quick Overview

Push.js is a lightweight JavaScript library for creating cross-browser desktop notifications. It simplifies the process of sending notifications to users, handling browser compatibility issues, and managing notification permissions.

Pros

  • Easy to use with a simple API
  • Cross-browser compatibility, including fallbacks for older browsers
  • Supports custom notification icons and click actions
  • Lightweight and has no dependencies

Cons

  • Limited customization options compared to native browser APIs
  • May not work in all environments due to browser security policies
  • Requires user permission, which can be a barrier to usage
  • Not actively maintained (last update was in 2021)

Code Examples

Creating a basic notification:

Push.create("Hello world!", {
    body: "How's it going?",
    icon: "/icon.png",
    timeout: 4000
});

Handling notification clicks:

Push.create("Click me!", {
    body: "This notification has a click event attached",
    onClick: function () {
        window.focus();
        this.close();
    }
});

Requesting permission before sending a notification:

Push.Permission.request(() => {
    Push.create("Permission Granted!", {
        body: "You can now receive notifications"
    });
}, () => {
    console.log("Permission denied");
});

Getting Started

  1. Install Push.js via npm:
npm install push.js
  1. Import and use in your JavaScript file:
import Push from 'push.js';

Push.create("Welcome!", {
    body: "This is your first notification",
    icon: '/path/to/icon.png',
    timeout: 5000
});

Alternatively, you can include it directly in your HTML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/push.js/1.0.12/push.min.js"></script>
<script>
    Push.create("Hello from Push.js!");
</script>

Competitor Comparisons

Web Push library for Node.js

Pros of web-push

  • Provides a complete server-side solution for sending push notifications
  • Supports multiple browsers and platforms (Chrome, Firefox, Edge, etc.)
  • Handles encryption and web push protocol details automatically

Cons of web-push

  • Requires server-side implementation and configuration
  • More complex setup compared to client-side only solutions
  • Limited to web push notifications, not suitable for native mobile apps

Code Comparison

push.js (client-side):

Push.create("Hello World!", {
    body: "This is a notification.",
    icon: "icon.png",
    onClick: function () {
        window.focus();
        this.close();
    }
});

web-push (server-side):

const webpush = require('web-push');

webpush.sendNotification(pushSubscription, 'Your Push Payload Text')
  .then(result => console.log(result))
  .catch(error => console.error(error));

Summary

push.js is a client-side library focused on simplifying the process of creating and displaying browser notifications. It offers a straightforward API for showing notifications across different browsers.

web-push, on the other hand, is a server-side library that handles the complexities of sending web push notifications, including encryption and adherence to the Web Push protocol. It's more suitable for applications requiring server-triggered notifications.

The choice between these libraries depends on your specific use case and whether you need client-side simplicity or server-side control over push notifications.

Notify.js - A simple, versatile notification library

Pros of notifyjs

  • Lightweight and simple to use
  • Supports multiple notification styles and positions
  • Can be used without any dependencies

Cons of notifyjs

  • Less actively maintained (last update in 2017)
  • Limited browser support for desktop notifications
  • Fewer customization options compared to push.js

Code Comparison

push.js:

Push.create("Hello world!", {
    body: "How's it hangin'?",
    icon: '/icon.png',
    timeout: 4000,
    onClick: function () {
        window.focus();
        this.close();
    }
});

notifyjs:

$.notify("Hello world!", {
    position: "top right",
    className: 'success',
    autoHideDelay: 4000,
    clickToHide: true
});

Both libraries offer simple APIs for creating notifications, but push.js provides more options for customization and better support for desktop notifications. notifyjs focuses on in-browser notifications and offers a more concise syntax. push.js is more actively maintained and has better cross-browser compatibility, while notifyjs is lighter and simpler for basic use cases.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README



Build Status Coverage Status Known Vulnerabilities Maintainability

npm version npm Greenkeeper badge

Now a proud user of

Important Notice

Push is currently looking for co-maintainers of the repo. The guy who originally made this library, Tyler Nickerson, while still visiting this repo from time to time, is busy trying to work on his company Linguistic right now. As a result, he may not have time to answer everyone or fix bugs as quickly as they would like him too. If you find it pretty easy to find your way around this code and think you could help some people out, shoot me a message at nickersoft@gmail.com and let's talk.

What is Push?

Push is the fastest way to get up and running with Javascript desktop notifications. A fairly new addition to the official specification, the Notification API allows modern browsers such as Chrome, Safari, Firefox, and IE 9+ to push notifications to a user's desktop. Push acts as a cross-browser solution to this API, falling back to use older implementations if the user's browser does not support the new API.

You can quickly install Push via npm:

npm install push.js --save

Or, if you want something a little more lightweight, you can give Bower a try:

bower install push.js --save

Full Documentation

Full documentation for Push can be found at the project's new homepage https://pushjs.org. See you there!

Development

If you feel like this library is your jam and you want to contribute (or you think I'm an idiot who missed something), check out Push's neat contributing guidelines on how you can make your mark.

Credits

Push is based off the following work:

  1. HTML5-Desktop-Notifications by Tsvetan Tsvetkov
  2. notify.js by Alex Gibson

NPM DownloadsLast 30 Days