שלח תשובה

זירת השאלות

2592
צפיות
4
תשובות

רוצה להתחיל לבנות אתר

,‏ 4 באוקטובר, 2013

רוצה להתחיל לבנות אתר וכבר יש לי ידע ב-HTML, CSS ו- JAVASCRIPT.
רציתי שתעזרו לי להחליט באיזה שפות עדיף לי לבנות, האיזה שפת BACK-END להשתמש?
באיזה סביבת בנייה מומלץ להשתמש?

4 תשובות

  1. בעקרון פה אין כל כך מה עדיף…חלק יגידו שעדיף לך JAVA וחלק יגידו C# וחלק דווקא PYTHON ולא תצא מזה.
    עדיף שפה שהיא נפוצה היום ולא שפה ישנה(שפה ישנה זה כמו ASP הרגיל…שפה נורמאלית יכולה להיות java/c#/python/php וכו').
    אם אתה מוצא מדריך מקיף וטוב (יש פה באתר הרבה ויש גם באתרים אחרים) לשפה מסויימת אז אתה יכול להתחיל ללמוד.
    לגבי סביבת בנייה, זה תלוי מאוד איזו שפה תלמד.
    בלי קשר סביר להניח שתצטרך ללמוד מתישהו SQL שזה השפה שעובדת מול בסיסי הנתונים, אבל את זה תשאיר לאחרי השפה צד שרת.
    בהצלחה

  2. איזה שיטת עבודה פופולרית יותר? WISA, LAMP או MEAN ?

  3. idan5x הגיב:

    שיטת העבודה הפופולארית ביותר היום היא LAMP, עקב היותה נגישה, חינמית, וחסרת דרישות (לעומץ WISA) בבסיסה.
    אני עובד רק בשיטת LAMP ואני ממליץ עליה בחום.

    החיסרון (העצום) של WISA הוא הדרישות המוקדמות הרבות, וההשקעה הכספית הכבדה שהיא גוררת:
    שרתים המריצים Windows Server עולים הון, ולא מספקים למפתח תמורה מספקת (אם בכלל), ובנוסף ישנם הכלים הדרושים הנוספים שמגבילים את המפתח והמשתמש ועושים הרבה כאב ראש.
    LAMP עושה שימוש בכלים חינמיים (Linux, Apache, MySQL, PHP/Python) שעושים עבודה מצויינת++ .

    מה גם שב-WISA המבוססת על .net Framework, תוכנות Web-Application שנכתבים בה לא תמיד יעבדו כראוי על מחשבים שלא מריצים Windows, ללא עבודת תאימות שתיקח שעות על גבי שעות. מה גם שאפילו במחשבים שמריצים Windows תיהיה בעיית תאימות עקב גרסאות שונות של הפריים-וורק שלא תומכות בפיצרים חדשים יותר.

    בשיטת MEAN עוד לא יצא לי לעבוד מאחר ואני מתעסק בעיקר ב-PHP בצד שרת, אבל היא נראית אופציה לא רעה בכלל. אם-זאת, LAMP תיהיה מהירה יותר בחישובי צד-שרת.

    שים לב שאתה יכול לשנות את המרכיבים השונים של שיטת הבנייה של האתר/יישום שלך, לדוגמא:
    קיימת שיטת WAMP שמבוססת על LAMP אך רצה על שרתי Windows במקום Linux.

    שני דגשים קטנים:
    * ב-LAMP הבסיסית/נפוצה (השיטה בה עושים שימוש בגוגל, פייסבוק, וויקיפדיה ועוד) שפת הצד-שרת יכולה ליהיות PHP או Python. באיזו שפה להשתמש זו כבר העדפה שלך: PHP איטית יותר אך המבנה שלה נוח בהרבה (לטעמי). בפייסבוק עושים שימוש ב-PHP, אך גוגל לעומת זאת עושה שימוש בפייטון.
    * עבור שפת צד-לקוח אני ממליץ לך להתעניין גם בשפת Dart שגוגל מפתחת – גוגל תיקנו את כל מה ששגוי ב-JS והוסיפו תכונות חדשות וחכמות.

  4. Sahar Rachamim הגיב:

    LAMP הוא הפתרון הפופולארי ביותר ליצירת יישומי רשת, והוא כולל את Linux כמערכת הפעלה, Apache כשרת, MySQL או MariaDB כמסד נתונים ו-Perl, PHP או Python כשפת תכנות. כל המרכיבים הנ"ל הם חינמיים ולכן פיתרון זה הוא הנפוץ ביותר. אם אתה חדש בתחום הפיתוח לרשת ואתה מעוניין ללמוד להתפתח, אז אני ממליץ בחום לבחור הפצה של Linux (וללמוד להשתמש ב-Shell שלו באופן בסיסי), להתקין שרת Apache (וגם רצוי לקרוא בקצרה על HTTP בכללי) ולהתרכז בלימוד של SQL ואחת מהשפות התכנות הנ"ל. בתחילת התפשטותו של האינטרנט בציבור, לאורך שנות ה-90, Perl הייתה השפה הפופולארית ביותר בתחום זה, יחד עם CGI האגדית. עם הזמן PHP תפסה תאוצה והיום היא השפה הפופולארית ביותר, וגם הפשוטה ביותר לתכנות בשרת. עם זאת, בשנים האחרונות Python מקבלת מלא כבוד בקהילה כשפה שמשלבת היטב פשטות ועוצמה. לכל אחת מהשפות הנ"ל יש את יתרונותיה וחסרונותיה, אני אישית ממליץ על Python, היות ולדעתי היא תקנה לך הרגלי תכנות טובים יותר מאשר PHP, גם מחוץ לסביבת אינטרנט.

    WIAS הוא פתרון שכולל את Windows כמערכת הפעלה, IIS כשרת, SQL Server כמסד נתונים ו-ASP.NET כסביבת פיתוח (סביבה חזקה מאוד שבה תוכל לתכנת עם כל שפה כמעט, כשהפופולארית ביותר היא C#). אם שמת לב, זהו פיתרון שמורכב אך ורק משירותים של Microsoft. פיתרון זה הוא יקר, ולמתחילים הוא גם יכול להיות מאוד מורכב (למרות ששער הכניסה שלי של לעולם הרשת היה עם ASP.NET). יצא לי לעבוד עם WISA שנים רבות, ולמרות ש-C# היא שפה מאוד חזקה (ועדיפה על PHP מהבחינה הזו), לא הרגשתי שהמורכבות שבעבודה בסביבת ASP.NET משתלמת לי. יכול להיות שאפשר להגיע לביצועים מאוד מרשימים ב-ASP.NET, אך בשביל להגיע אליהם צריך שליטה מאוד הדוקה בכלים שלה. היום לא אמליץ על עבודה ב-WISA, גם כי מערכת ההפעלה (WIndows) לא ידידותית מספיק לתוכניתנים, גם כי ASP.NET היא סביבת מורכבת ומסובכת יתר על המידה, וגם כי היא יקרה.

    MEAN הוא פתרון חדש יחסית, וגם די שונה מהשאר. ב-MEAN אתה בעצם משתמש בשפה אחת, JavaScript, בשביל לנהל את כל סביבת העבודה שלך בצד לקוח ושרת יחדיו. היא עובדת על כל מערכת הפעלה (למרות שאני ממליץ על Mac או Linux), לא צריכה שרת כלל (אתה הוא זה ש-"כותב" את השרת, ב-JavaScript תחת פלטפורמה שנקראת Node.js וסביבת העבודה הפופלארית ביותר שלה, Express. מסד התונים הוא MongoDB (למרות שיש לו אלטרנטיבות רבות לא פחות טובות, הוא הכי פופולארי). זהו מסד נתונים שונה מ-MySQL ו-SQL Server. בעוד הנ"ל מבוססים על שמירת מידע בטבלאות, MongoDB שומר את המידע במסמכי Json, שהם בעצם אובייקט משפת JavaScript. בצד לקוח אתה משתמש ב-AngularJS, שהוא סביבת עבודה של JavaScrupt, בה אתה יכול לפתח יישומים חזקים ומהירים לדפדפן. AngularJS הוא הצד החזק בפיתרון MEAN, והוא גם הסיבה לוויתור על פתרונות צד-שרת (כמו PHP ו-Pyhton), היות והוא ממזער לכמות מינימלאית את ההתנהגויות בשרת. אני עובד עם MEAN בימים אלה, ואין ספק שכמו לשאר הפתרונות, גם ל-MEAN יש את היתרונות והחסרונות שלה. בכל אופן, עתיד הפיתוח לרשת הולך לכיוון מסויים, ואני מאמין ש-MEAN תתפוס בו הרבה מניות. אם תבחר להשתמש ב-MEAN, עדיין אמליץ לך לבחור שפת High End מסויימת ולשלוט בה, גם לידע כללי, וגם כדי שיהיה לך את הכלים לפתור בעיות שלא תוכל לפתור ב-JavaScript. כל שפה תהיה טובה, למרות שאישית אמליץ על Ruby (כי אני אישית אוהב אותה) או Python (כי אני מעריך שבעתיד הקרוב היא תתפוס תאוצה ותהפוך להיות מאוד דומיננטית).

שלח תשובה