הבהרה – לא מדובר על הודעות מעצבנות של אתרים שעוברות דרך הדפדפן אלא להודעות משולבות במערכת ההפעלה שקופצות עקב תוכנה שרצה על המחשב (לא ווב).
כפי שאתם יודעים – הפרויקט של ספר הג'אווהסקריפט בעברית הצליח באופן פנומנלי וגם מימנו עוד ספרים שיינתנו לכל השותפים בפרויקט ללא עלות. אחד מהם הוא ספר Node.js שמהווה המשך לספר לימוד ג'אווהסקריפט ומלמד על Node.js למי שיודע ג'אווהסקריפט משלב ה-Hello world ועד שלבים מתקדמים ביותר כמו סטרימים, סוקטים, עבודה עם bin\CLI וקריפטוגרפיה. גם בעבודה אני עובד המון עם Node.js.
אחת הבעיות הקשות שיש לי בעבודה הוא שאני נוטה להתרכז בקוד/עזרה למתכנתים אחרים ונוטה להתעלם מהסלאק ובטח ובטח מהמייל המשרדי שכבר עולה על גדותיו. זה משהו שאני נלחם בו ואחת הדרכים היא הקפצת הודעות ותזכורות כשאני עובד – לבדוק את המייל/סלאק. גם לפעמים אני צריך תזכורות קופצות בנוגע לאירועים שונים.
אדם נורמלי משתמש בקלנדר או משהו אחר. אבל אני לא מסתדר עם Google Calendar וחוץ מזה אני צריך הרבה פעמים אינטגרציה כבדה לאפליקציות ב-Node.js על מנת שיקפיצו לי הודעות.
אחד מהמודולים המגניבים שמסייעים לי בהקפצת הודעות הוא מודול node-notifier שהוא ממש ממש פשוט לשימוש ועובד בכל פלטפורמה (גם בחלונות לחובבי הז'אנר). איך משתמשים בו? הכי פשוט שיש.
- ודאו ש-Node.js מותקן במחשב שלכם. קל להתקין אותו על חלונות, לינוקס ומק.
- צרו תיקיה כלשהי במחשב שלכם.
- באותה תיקיה צרו package.json עם npm init.
- צרו קובץ בשם server.js
הכניסו לקובץ את הקוד הזה:
const notifier = require('node-notifier');
notifier.notify({
title: 'My notification',
message: 'Hello, there!'
});
עכשיו הפעילו את התוכנה עם npm start או node ./server.js. מייד תקפוץ לכם התראה!
וזה עובד כמובן בכל מחשב. אני מראה את זה בחלונות כי זו מערכת ההפעלה הכי קשוחה. אבל זה עובד יופי בכל השאר וגם באלקטרון לחובבי הז'אנר.
למה זה טוב? ובכן – יש לי pm2 שמריץ Node.js שבודק את השעה ומקפיץ לי את ההתרעה לפי שעה מסוימת. גם אם כיביתי את ה-Calendar. ואני מכבה אותו כל הזמן.
אם אתם משתמשים בחלונות, ודאו שלא כיוונתם את ההודעות שלכם להשתק – כי אז שום אפליקציה לא יכולה להפעיל התראות.
כמובן שאפשר להתפרע כמה שרוצים. זה שימושי בשבילי באלקטרון ובשביל להקריפ אנשים.
כמובן שיש גם CLI, שהוא יותר שימושי. מתקינים אותו עם:
npm i node-notifier-cli -g
ואז אפשר בקלות עם notify לשגר הודעות. למה זה טוב? יש לי כמה פרויקטים שלוקח להם כמה דקות להריץ את הבדיקות מקומית. וכמובן שבזמן שהבדיקות רצים אני מאבד פוקוס. הוספת השורה הזו ב- posttest ב-package.json מקפיצה מייד הודעה חביבה בסיום הבדיקות.
notify -t "Tests Finished" -m "Move your lazy ass and create the PR" -s
הכי כיף שיש.
אם לא הבנתם אף מילה מהפוסט הזה – מה זה postest, מה לעזאזל זה npm init ומה קשור package.json – ובכן, צריך לחכות לספר ה-Node.js בעברית שיצא מיד לכל התומכים אחרי שהספר לימוד ג'אווהסקריפט בעברית יוצא.