סטאק (תוכנה)

במחשוב, המונח סטאק (Stack; בתרגום חופשי "מקבץ תוכנות", Software Stack, או "מקבץ פתרונות", Solution Stack) מתייחס לאוסף של רכיבי תוכנה וטכנולוגיות הדרושים על מנת ליצור פלטפורמה שלמה כך שלא נדרשות עבורה תוכנות נוספות על מנת לתמוך ביישומים שבה. לדוגמה, בעת יצירת יישום רשת, אדריכל התוכנה מגדיר את הסטאק של היישום בבחירת שרת האינטרנט שעליו יאוכסן היישום, מסד הנתונים שבו יאוכסנו נתוניו, שפת התכנות בה יפותח היישום ומערכות ההפעלה עליהן ירוצו אותם הרכיבים. בדרך כלל, הרכיבים שמשמשים את הסטאק מפותחים באופן עצמאי על ידי מפתחים שונים ללא קשר ביניהם. חלק מהרכיבים/תת-מערכות של מערכת סטאק כוללת, נבחרים יחד לעיתים קרובות מספיק כך שאותה קבוצת רכיבים מכונה בשם המייצג את השלם, במקום שמות שונים לכל חלק בסטאק. בדרך כלל, השם של אותו הסטאק מיוצג בראשי תיבות המייצגים את הרכיבים הבודדים המרכיבים את הסטאק. (לדוגמה: MERN - שמו של הסטאק הכולל בתוכו את פלטפורמות MongoDB, ExpressJS, React ו-NodeJS ומורכב מראשי התיבות של הרכיבים שבו) לפיכך, המונח פול סטאק מתאר את כל רכיבי היישום באשר הם והטכנולוגיות בהן הם פועלים, ומפתח פול סטאק הוא מפתח תוכנה המיומן בפיתוח תוכנה עבור כל אותן שכבות היישום. במובן המצומצם יותר של המונח, ניתן להגדיר מפתח פול סטאק כמפתח תוכנה או מהנדס תוכנה שעובד גם בצד הלקוח וגם בצד השרת של אתר אינטרנט, יישום רשת, יישום מחשב או מובייל. משמעות הדבר היא שהם יכולים להוביל בניית פלטפורמות הכוללות מסדי נתונים, אתרים נגישים למשתמש ועבודה עם לקוחות כבר במהלך שלב התכנון של פרויקטים. מבחינה היסטורית, המונח "סטאק" כלל במקור גם רכיבי חומרה שנועדו להיכלל במסגרת הסופית, תוך שילוב בין החומרה והתוכנה בשכבות תמיכה. MongoDB (מסד נתונים) Express.JS (רכיב צד שרת) Angular, React או Vue (רכיב צד לקוח) Node.JS (סביבת ריצה עבור JavaScript, ש"עוטפת" את הרכיבים הקודמים) Nginx (שרת אינטרנט) MySQL או MariaDB (מסד נתונים) PHP (שפת תכנות) Windows Server (מערכת הפעלה) IIS (שרת אינטרנט) .NET (מסגרת לפיתוח תוכנה) SQL Server (מסד נתונים) חוצה-פלטפורמות (מערכת הפעלה) Apache (שרת אינטרנט) MySQL או MariaDB (מסד נתונים) PHP (שפת תכנות) Perl (שפת תכנות) קצה קדמי וקצה אחורי (פרונט-אנד ובאק-אנד) מה זה בכלל מפתח Full Stack?, באתר גיקטיים Solution stack, TheFreeDictionary.com (באנגלית) Beal, V. (7 בספטמבר 2007). "Acronym Guide to Web Stacks". Webopedia. Quinstreet, Inc. נבדק ב-5 ביולי 2018. {{cite web}}: (עזרה) Amir, Masroor. "Full Stack Developer - Complete Roadmap | Technologies in 2023". The Geeks Bot | A Computer Science Site for geeks (באנגלית). נבדק ב-2023-04-27. Ferguson, R. (2002). Using Microsoft SharePoint Portal Server. Que Publishing. p. 616. ISBN 9780789725707. Anderson, G.W. (2003). SAP Planning: Best Practices in Implementation. Sams. p. 13. ISBN 9780789728753. Frampton, M. (2018). Complete Guide to Open Source Big Data Stack. Apress. p. 7. ISBN 9781484221495. Wilson, E. (2018). "Chapter 1: Introduction to the MERN Stack". MERN Quick Start Guide. Packt Publishing Ltd. pp. 7–13. ISBN 9781787280045. Sharma, A. (2018). "Chapter 1: Introducing MEVN". Full-Stack Web Development with Vue.js and Node. Packt Publishing Ltd. pp. 6–30. ISBN 9781788830775. Luna, F. (2017). Programador Web Full Stack: Desarrollo frontend y backend. RedUSERS. pp. 17–18. Evgen (28 בינואר 2018). "How to Choose Your Technology Stack for Web Development". GBKSOFT Blog. GBKSOFT Dev LLC. נבדק ב-6 ביולי 2018. {{cite web}}: (עזרה) "XAMPP Apache + MariaDB + PHP + Perl". Apache Friends. נבדק ב-6 ביולי 2018. {{cite web}}: (עזרה)