ABA


"|מאמר|שימוש בApplication Frameworks או כתיבה מ-0?"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #15675 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15675
akoka2

   01:01   30.04.10   
אל הפורום  
  |מאמר|שימוש בApplication Frameworks או כתיבה מ-0?  
 
   עבר הרבה זמן מאז שגלשתי ברוטר והשתתפתי בפורום הזה בפרט, החלטתי בשביל החזרה לפנק אותכם במאמר קטן.

אני נתקל בזמן האחרון בהמון מתכנתים שהפסיקו לכתוב אתרים מ-0 והחליטו להשתמש בתשתית יישומים למערכות שהם בונים, בטח כולכם סקרנים, אם כולם עוברים לזה האם זה משתלם מבחינת יעילות? האם זה נוח יותר מאשר לכתוב את המערכות שלכם מ-0, ואיך בכלל לעשות את הבחירה הנכונה?

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

1.Zend Framework - תשתית מבית היוצר של Zend החברה שאחראית על פיתוח של PHP, התשתית בנויה ברמה גבוהה מאוד, תומכת בצורה מלאה בMVC, מעבר לך שלא כמו שאר התשתיות, מאפשרת לכם גם להשתמש ברכיבים שלה ללא צורך להשתמש בתבנית הMVC, החסרון העיקרי שלה הוא חוסר תמיכה מובנה בTemplates Engine כמו Smarty ואז היא באמת הייתה מושלמת, אבל אם זה מספיק חשוב לכם, לא רואה סיבה שלא תצליחו לשלב את Smarty בתוכה.


2.symfony - תשתית שאני אישית פחות מתחבר אליה, לא יצא לי יותר מדי להתעסק איתה, אך מהמעט שיצא לי, ההתקנה שלה היא מהמסורבלות ביותר בתשתיות שיצא לי להגדיר, אבל באתר שלהם מבטיחים שברגע שתגדירו אותה בצורה שהכי מתאימה לכם, לא תדעו משהו אחר חוץ ממנה, תומכת בTemplate Engine משלה, וגם מאפשרת להוריד Plugin של smarty למערכת, יש בה פיצ'ר נחמד שנקרא Admin Generator שעל סמך כול מיני הגדרות שאתם מגדירים לו יודע לייצר ממשק ניהול לאתר שלכם, תומכת בCLI Tool, ובעוד המון פיצ'רים נחמדים, אבל שוב ההתקנה שלה היא לא הכי פשוטה בעולם.

3.Ruby On Rails 0 - או בראשי תיבות ROR, תשתית המבוססת על השפה היחסית חדשה שלא מזמן התחילה להטמע אצלנו בעולם התיכנות Ruby, התחלתי ללמוד אותה לא מזמן, ואני חייב להגיד שהיא פשוט מדהימה, הקלילות שאפשר ליצור בה דברים, פשוט יוצאת דופן משאר התשתיות שנתקלתי בהן, מעבר לזה יש לה IDE מיוחד כדי לעבוד איתה, נקרא Aptana RedRails (בדיוק 2 דקות להגדיר אותו ויש לכם אחלה IDE), התשתית לוקחת ממש קשה שחזור של קוד, ונותנת לכם המון המון כלים כדי שזה לא ייקרה, תומכת בעיקרון הCRUD למי שמכיר או מי שלא אז הראשי תיבות הן:

Create,Read,Update,Delete

מי שרוצה לקרוא לגבי זה קצת (כי אני קטונתי מלהסביר) מוזמן לעשות את זה כאן:
http://www.bofh.org.uk/2007/04/18/rails-crud-rest-and-the-importance-of-adjectives

יש עוד מספר תשתיות שהייתי שמח לדבר עליהן אחת מהן היא כתובה בפייתון (Django) ויש האומרים שהיא המוצלחת ביותר מבין כולן, אבל אי אפשר להספיק הכול.

אז הבנו שתשתיות זה נחמד והכול, אבל מה הן באמת נותנות לנו?

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

עכשיו יש גם כמה חסרונות, כמו למשל:

1.חלק מהתשתיות מכריחות אותך להוריד את כול המודולים שלה, ולעלות את כול התשתית לשרת, כשאתה משתמש בקושי ב10% מהיכולות שלה, מה שתופס המון מקום בשרת, ובחלק מהמערכות גם משפיע על היעילות של הקוד שלכם.

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

3.אני לא יודע מה איתכם, אני אישית פחות אוהב תשתיות שעושות בשבילי כמעט הכול, וכול מה שאני צריך לעשות בCLI זה לכתוב:


create controller blog
create model blog
create view blog index
blablabla
blabla

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

אז מתי עדיף לכם לכתוב את המערכת מ-0 ומתי לא?

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

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

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

בהצלחה!



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אחלה מאמר, טוב שחזרת! men123 30.04.10 17:18 1
  מאמר נחמד. Deuce  02.05.10 23:07 2
  יפה יוחאי, כל הכבוד =] ronen333  07.05.10 10:43 3

       
men123
חבר מתאריך 3.10.05
6269 הודעות
   17:18   30.04.10   
אל הפורום  
  1. אחלה מאמר, טוב שחזרת!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   23:07   02.05.10   
אל הפורום  
  2. מאמר נחמד.  
בתגובה להודעה מספר 0
 






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   10:43   07.05.10   
אל הפורום  
  3. יפה יוחאי, כל הכבוד =]  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net