אתר חדש ב-5 דקות

מדריך קצר לבניית אתר חדש תוך 5 דקות באמצעות Visual Studio 2012, Microsoft.NET Platform 4.5 ו-ASP.NET MVC 4

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

cc by flickr, Earls73a

האמת היא שלרוב כדאי להיזהר מכותרות מסוג זה. בהרבה מקרים יכולות שמציגים בחמש דקות אינן מייצגות מהימנה את מה שנדרש ממערכות Production אמיתיות. ולמרות זאת, ASP.NET MVC מאפשר לבנות ב-5 דקות אתר בסיסי אותו ניתן להמשיך ולשפר באותו אופן בו עבדנו במהלך 5 הדקות.

יש להכין מראש:

  • Visual Studio 2012
  • Microsoft.NET Platform 4.5
  • ASP.NET MVC 4

שלבים מקדימים:

  • פותחים פרוייקט חדש מסוג ASP.NET MVC 4
  • מגדירים מחלקה בסיסית שמייצגת את האובייקט הלוגי אותו אנו מעוניינים לנהל (נקרא ה-Model)
  • משתמשים ביכולות האוטומטיות של Visual Studio על מנת לייצר תצוגות HTML וכן Controller
  • מריצים, מתקנים וחוזרים חלילה

במה לא צריך להתעסק?

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

אחרי שברברנו מעט ניתן להסתכל על דוגמא אמיתית, תחילה נפתח פרוייקט חדש ב-Visual Studio:

 נבחר תבנית התחלתית מסוג Internet:

הרצה של הפרוייקט הקיים מגלה תמונת מצב נחמדה:

ניתן כמובן לבצע תיקונים ב-HTML  ההתחלתי ולהוריד אלמנטים שאינם נדרשים. או לחילופין, ניתן להתחיל מתבנית Empty של הפרוייקט ולבנות הכל מ-Scracth. בשלב זה ברצוני לשנות את התצוגה הראשית כך שיוצגו רשימות ה-Contacts הקיימות כרגע במערכת, לשם כך עליי להגדיר תחילה מודל חדש מסוג Contact:

public class Contact

{

    public int ID { get; set; }

    public string Name { get; set; }

    public string EMail { get; set; }

}

 ניתן “לעטר” את המחלקה ב-Attributes מתאימים שיוסיפו תמיכה מאחורי הקלעים ב-ולדיציות:

public class Contact

{

    public int ID { get; set; }

    [Required(ErrorMessage=”Please specify non empty name”)]

    public string Name { get; set; }

    [DataType(DataType.EmailAddress)]

    public string EMail { get; set; }

}

בהינתן המודל שהגדרנו מעלה ניתן לבקש מ-Visual Studio לייצר לנו Controller מתאים, תצוגות מתאימות וכן קישור למסד נתונים מתאים:

בשלב זה ניתן להריץ את האתר ולגשת ל-URL  /Contact המייצג את ה-Controller שזה עתה נבנה ע”י Visual Studio:

ה-URL  המבוקש מחזיר תצוגת רשימה של כל ה-Contacts הנמצאים במסד הנתונים. בשלב זה המסד ריק ולכן לא מוצג אף נתון. ניתן ללחוץ על הקישור Create New ולגשת לתצוגת יצירה:

אחת התכונות הנחמדות שקיבלנו בחינם היא עניין הולידציה. ניתן ללחוץ על הכפתור Create מבלי להקליד נתונים ולבחון את יכולות הולדיציה של ASP.NET MV:

להזכירכם הולדיציה הגיעה כתוצאה מכך שהשתמשנו ב-Attribute בשם Required על המודל Contact. נשלים את הפרטים החסרים:

ונלחץ על Create:

Edit /Details /Delete ולבחון שהם פשוט עובדים.

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

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

לסיכום, מאז ומתמיד מיקרוסופוט הצטיינה בלספק לנו חוית פיתוח שאיננה דורשת קידוד מרובה. ברוב המקרים, לעניות דעתי, החויה איננה שלמה ופעמים רבות המתכנת נאלץ לותר על הכלים האוטומטים ולכתוב מ-Scratch. דווקא במקרה שתיארנו מעלה הקוד האוטומטי שנוצר הינו סביר וניתן להשתמש בו כבסיס להמשך פיתוח. בנוסף, הקוד האוטומטי מיישם את התפישות המקובלות בפיתוח תחת ASP.NET MVC כך שאיננו צריכים להתגמש על Design ו-Modeling נכונים בבואנו להשתמש בו.


הפוסט בחסות ג’ון ברייס – מכללת היי-טק


ג’ון ברייס – מכללת היי-טק מקבוצת matrix הינה חברת ההדרכה המובילה בישראל ומהמובילות באירופה בתחום הדרכת המחשוב וטכנולוגיית המידע והאלקטרוניקה ובתחום הדרכת מיומנות הניהול, השירות והמכירות. לחברה ניסיון עשיר בהכשרת מתכנתים לשוק ה-.NET אך מעבר להסבות הרבות מועברים גם קורסים מקצועיים למגזר עסקי ולארגונים גדולים וקטנים. צוות המרצים הינו צוות מיומן ובקיא הן בהכשרות תלמידים והן בפן הטכנולוגי העדכני ביותר בתחום הפיתוח בשפת .NET בתעשייה. ג’ון ברייס מכללת הי-טק מציעה קורסי .NET שתואמים את צרכי שוק העבודה בתחום, כאשר המובילים מבינם הם:

  • Mastering Windows Presentation Foundation – WPF 4/4.5
  • Developing Web/Mobile Applications using ASP.NET MVC 4 and jQuery
  • Programming the .NET Framework 4.0 with C#
  • Extreme .NET 4/4.5 with C#
  • Advanced Windows Presentation Foundation (WPF) 4.0/4.5
  • ASP.NET Using Visual C# 2010

הרשמה בחודשי דצמבר – ינואר לאחד מהקורסים הנבחרים תזכה אותך, גולש ניוזגיק, ב-10% הנחה.

                                                                                     

 

 

כתב אורח

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

הגב

13 Comments on "אתר חדש ב-5 דקות"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
Maor Chasen
Guest

בעידן שבו אנו חיים, עידן הקוד הפתוח, השפה האחרונה שאבחר בה לפיתוח אתר או אפליקציית ווב, היא ASP.

Maor Chasen
Guest

בעידן שבו אנו חיים, עידן הקוד הפתוח, השפה האחרונה שאבחר בה לפיתוח אתר או אפליקציית ווב, היא ASP.

Daniel Chernenkov
Guest

ככה רוב האנשים שאינם מתכנתי .NET אומרים עד שמגיעים לפריימוורק שאיתו עובדים בASP.NET MVC 4. יש רבים כמוך – שלא יודעים באמת מה זה OOP טהור כמו ש#C מקדישה למתכנתים הנלהבים שלה.

PHP היא אחת השפות המתפתחות שעוד לא מכילה את כל מאפייני הOOP בצורה מלאה. כמו כן, גם אינה מכילה כמות נכבדת של פונקצאונליות כמו #C.
טעות לומר כזה דבר וטעות לחשוב ככה.

Maor Chasen
Guest
תודה על התגובה, דניאל. האמת היא שאני מכיר את C#, אמנם לא בצורה מאוד עמוקה, אבל אני מכיר מרקע שונה שלא קשור ל-ASP (התנסיתי בעבר עם פיתוח תוכנה – נייטיב). PHP אמנם לא בשלה לגמרי, אבל התמיכה שלה ב-OOP די עמוקה, והיא מספקת מאוד לרוב המוחץ. אישית אני מעדיף את PHP בגלל הגמישות הרבה שהיא נותנת, והעובדה שהיא "LOOSE", כך שאיני צריך לקבוע לדוגמה כל משתנה מאיזה סוג, ואני יכול לשנות אותם בקלילות. בגדול לא אכפת לי איזו שפה טובה יותר או טובה פחות, מה שאני בא לומר הוא, שהיום יש *המון* אלטרנטיבות ל-ASP, מה שמוריד מהערך שלה, מה גם… Read more »
Eyal Ellenbogen
Guest

בשורה התחתונה, לבנות אתר/אפליקציית ווב יקח פי 3 פחות זמן בדוטנט מאשר ב php. אין מה להשוות את הכלים של מיקרוסופט בתחום. אם זה entity framework , mvc, ויזואל סטודיו או אפילו הכלים שנותנים ב azure. מי שמכיר דוטנט ויודע לנצל אותו בחיים לא יבחר php לפיתוח בגלל נוחות.

Ben Yitzhaki
Guest

זאת העדפה נטו. סביר להניח שמפתח דוט נט לא מכיר את הכלים שיש בPHP, הפריימוורקים ויתר האופציות שמתגלות עם הניסיון. בסופו של דבר הטכנולוגיה צריכה להבחר על פי הנוחות למפתח (אלא אם כן יש דרישות מיוחדות שדורשות טכנולוגיה X על פני Y – דבר שנדיר שקורה באתרים)

Yarin Groiser
Guest

תשלמו לי ואני לא אפתח אתר ב ASP

Yair Eshel Cahansky
Guest

יופי של טכנולוגיה! ברכותי על הגעתכם למקום שבו ROR, Web2py וDjango היו לפני שנתיים ויותר. עכשיו רק צריך שהפיתוח לא יעלה כמו כיליה – והמפתחים יהיו בידיים שלכם.

Michael Arenzon
Guest

לא רק פריימוורקים של פייתון, גם פריימוורקים של PHP עשו את העבודה הזאת מזמן.

Ofer Hopstone Groman
Guest

רק נשאר עכשיו להשלים את העבודה עם Dreamweaver. Done.

Adiel Oz
Guest

ככה יוצרים מתכנתי web גרועים שאין להם מושג אפילו איך ממקמים div כמו שצריך !
הכלים של מיקרוסופט אולי חוסכים זמן לעמודי login וולידציות טיפשיות בjavascript אבל אף מפתח אתרים רציני לא יבחר בטכנולוגיה הכבדה והמסורבלת הזו כדי לבנות אתר אפילו עם מורכבות נמוכה

Eli Farzad
Guest

מה זה div?

Adiel Oz
Guest

div זו חלקת נדל"ןבאינטרנט

wpDiscuz

תגיות לכתבה: