הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

התקנת חבילות צד-לקוח באמצעות npm

הפיתוח והבאז סביב node.js הביאו מתכנתים רבים לכתוב קוד צד-שרת וכלי סקריפטים ב JavaScript. אחד מאותם מפתחים, אייזק שלוטר, הבין מהר מאוד שהתקנה ידנית של חבילות זה תהליך די מתסכל ודרוש כלי אוטומטי דרכו כל אחד יוכל לכתוב חבילת קוד ולהפיץ אותה לחברים. אז הוא פיתח כלי כזה וקרא לו npm, שזה קיצור ל node package manager ומהר מאוד כולם באמת התחילו לכתוב ולהפיץ חתיכות קוד JavaScript לחברים.

היום יש במאגר של npm מעל 240 אלף חבילות וקצב גידול של כ 400 חבילות חדשות ביום. לצורך השוואה המאגר המקביל של פייתון כולל כ 75 אלף חבילות וגדל בקצב של 70 חבילות ביום. זה המון קוד לשלב בפרויקטים שלכם.

לא כל הקוד במאגר npm מתאים לריצה בצד הלקוח, אבל הרבה ממנו כן. אם אתם כבר משתמשים ב Webpack תשמחו לשמוע שההמרה מקוד JavaScript שמתאים ל node, לקוד JavaScript עבור דפדפן כבר כלולה בתוך הכלי. נתחיל בדוגמת קוד קצרה ואחריה אפשר לדבר על היתרונות והחסרונות בשימוש ב npm להתקנת חבילות קוד צד-לקוח.

המשך קריאה

השוואת קוד בין אנגולר2 לריאקט

רבים מחבריי מתלבטים בתקופה האחרונה האם לשדרג מערכת אנגולר קיימת לגירסא 2 או לחתוך לכיוון של ריאקט. מהמעט שראיתי על אנגולר2 עד עכשיו ההתלבטות לא כזו משמעותית, מאחר ושתי הסביבות מציעות מבנה קוד די דומה. כך לדוגמא נראית תוכנית פשוטה בשתי הסביבות.

המשך קריאה

המרת קוד אתר ToCode לריאקט ורדוקס

בשבועות האחרונים עבדתי על המרת קוד צד הלקוח של אתר ToCode למבנה של Single Page Application באמצעות הטכנולוגיות React ו Redux. קוד צד השרת היה ונשאר Ruby on Rails. התוצאה היא שיפור ניכר בזמני הטעינה וזמני התגובה של כל האתר וקוד משמעותית יותר נקי וקל לתחזוקה. פוסט זה מסכם את כל הלקחים, הבחירות והטעויות שעשיתי במהלך השכתוב וכמובן טיפים עבור מי ששוקל לבצע שדרוג כזה.

המשך קריאה

לפעמים שתי שורות של socket.io זה כל מה שצריך

עמודי ווב שיתופיים זה מגניב: כולם רואים את מה שהאחרים כותבים בזמן אמת ויכולים לעבוד על אותו התוכן כמו בגוגל דרייב. הספריה socket.io היתה ונשארה דרך מאוד פשוטה להתחיל לפתח יישומים כאלה כמעט בלי לכתוב קוד בצד השרת.

המשך קריאה

3 שאלות חשובות לפני שבוחרים טכנולוגיה לפרויקט הבא

אנגולר או ריאקט? ג׳אווה או .NET ? למי לא קרה שהתחלתם לכתוב קוד בטכנולוגיה מסוימת רק בשביל למצוא את עצמכם שנים (או חודשים) אחרי זורקים הכל לפח ומשכתבים במקרה הטוב, או נשארים עם טכנולוגיה מיושנת ומבזבזים זמן ״שיפוצים״ כשברור לכם שהמודל כולו שבור? בחירות טכנולוגיות והחלטות שאנו עושים בתחילת הדרך יכולות להשפיע על המשך חיי הפרויקט לטוב ולרע.

המשך קריאה

שיתוף קוד בין Stores בארכיטקטורת Flux

כשדן אברמוב הסביר על הסיבות לפיתוח רדוקס, אחת הסיבות שהוא ציין בקצרה היתה הקושי לשתף קוד בין מחסני מידע (Stores) במימוש הקלאסי של פלוקס. במבט ראשון לא כל כך הבנתי על מה הוא מדבר אז הלכתי לכתוב קצת קוד שיעזור להבהיר את הנקודה.

המשך קריאה