סטאק (תוכנה)

במחשוב, המונח סטאק (Stack; בתרגום חופשי "מקבץ תוכנות", Software Stack, או "מקבץ פתרונות", Solution Stack) מתייחס לאוסף של רכיבי תוכנה וטכנולוגיות הדרושים על מנת ליצור פלטפורמה שלמה כך שלא נדרשות עבורה תוכנות נוספות על מנת לתמוך ביישומים שבה. לדוגמה, בעת יצירת יישום רשת, אדריכל התוכנה מגדיר את הסטאק של היישום בבחירת שרת האינטרנט שעליו יאוכסן היישום, מסד הנתונים שבו יאוכסנו נתוניו, שפת התכנות בה יפותח היישום ומערכות ההפעלה עליהן ירוצו אותם הרכיבים. בדרך כלל, הרכיבים שמשמשים את הסטאק מפותחים באופן עצמאי על ידי מפתחים שונים ללא קשר ביניהם.

חלק מהרכיבים/תת-מערכות של מערכת סטאק כוללת, נבחרים יחד לעיתים קרובות מספיק כך שאותה קבוצת רכיבים מכונה בשם המייצג את השלם, במקום שמות שונים לכל חלק בסטאק. בדרך כלל, השם של אותו הסטאק מיוצג בראשי תיבות המייצגים את הרכיבים הבודדים המרכיבים את הסטאק. (לדוגמה: MERN - שמו של הסטאק הכולל בתוכו את פלטפורמות MongoDB, ExpressJS, React ו-NodeJS ומורכב מראשי התיבות של הרכיבים שבו)

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

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

 דוגמאות 
 MEAN, MERN ו-MEVN 
 MongoDB (מסד נתונים)
 Express.JS (רכיב צד שרת)
 Angular, React או Vue (רכיב צד לקוח)
 Node.JS (סביבת ריצה עבור JavaScript, ש"עוטפת" את הרכיבים הקודמים)

 NMP 
 Nginx (שרת אינטרנט)
 MySQL או MariaDB (מסד נתונים)
 PHP (שפת תכנות)

 WINS 
 Windows Server (מערכת הפעלה)
 IIS (שרת אינטרנט)
 .NET (מסגרת לפיתוח תוכנה)
 SQL Server (מסד נתונים)

 Xampp 
 חוצה-פלטפורמות (מערכת הפעלה)
 Apache (שרת אינטרנט)
 MySQL או MariaDB (מסד נתונים)
 PHP (שפת תכנות)
 Perl (שפת תכנות)

 ראו גם 
 קצה קדמי וקצה אחורי (פרונט-אנד ובאק-אנד)
 קישורים חיצוניים
 מה זה בכלל מפתח Full Stack?, באתר גיקטיים

הערות שוליים

קטגוריה:ארכיטקטורת תוכנה
קטגוריה:פיתוח יישומי ווב