ABA


"התייעצות בעבודה עם SPA"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20387 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20387
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   19:20   05.12.13   
אל הפורום  
  התייעצות בעבודה עם SPA  
 
   היי

אני כבר כמה חודשים חוקר את עולם ה-AngularJS, וממש מגניב אותי.
היא מאוד נוח לבניית SPA (Single Page App) בדומה ל-GMAIL וכו'.

העניין הוא כזה,

בכל המדריכים ברשת, שמסבירים איך לכתוב SPA, מראים שאת כל קבצי ה-CONTROLLER של Angular טוענים ישירות ב-HTML SHELL (הדף הראשוני שאליו אחרי זה טוענים את העמודים).

זה לא נראה לכם בזבזני מאוד? כלומר יש לי אפליקציה עם 50 עמודים, ולכל עמוד יש controller (ברור לי ש-controller אחד יכול לכסות כמה עמודים, נניח CRUD), אז את כולם אני טוען על ההתחלה אפילו אם לא נכנסתי לחצי מהם?

כמובן שעליי זה לא מקובל, אז חקרתי קצת, וראיתי איך אפשר בעזרת requireJS
לטעון בצורה דינמית דברים on-demand.

הכל יפה!

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

מה אתם אומרים? סתם חפירה?
להתעלם?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  קצת תיקונים:) last_test 06.12.13 00:20 1
     תודה על ההסבר, הבאתי דוגמאות CaTz 06.12.13 10:58 2

       
last_test
חבר מתאריך 20.8.13
328 הודעות
   00:20   06.12.13   
אל הפורום  
  1. קצת תיקונים:)  
בתגובה להודעה מספר 0
 
   CRUD - זאת דרך נחמדה לנהל Rest API של Model ספציפי, הראשי תיבות הם:

Create - יצירה של רשומה חדשה
Read - קריאה של רשומה ספציפית
Update - עדכון של רשומה
Delete - מחיקה של רשומה

אתה לא אמור לכסות עם Controller של Blog גם את כל העמודים שאין להם שום קשר ל-Blog זה לא נכון ולא יעיל.

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

לגבי הטעינה של כל הקוד שלך על ההתחלה, יש לזה המון פתרונות, המוכר ביותר הוא RequireJS שגם יודע לנהל Dependencies בין מודולים, יודע לעשות Cache ל-מודולים שכבר טענת ועוד הרבה דברים אחרים.

פתרון אחר לבעיה שלך הוא לדעת מתי סיימת להשתמש ב-מודול מסויים ולמחוק אותו מה-DOM או מה-context של require:

http://stackoverflow.com/questions/3164049/is-it-possible-to-use-requirejs-when-modules-may-have-to-be-removed-to-conserve


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   10:58   06.12.13   
אל הפורום  
  2. תודה על ההסבר, הבאתי דוגמאות  
בתגובה להודעה מספר 1
 
   ברור שאין קשר בין פונקציונליות של UESRS למשהו אחר, רק ציינתי שcontroller יכול "לטפל" בכמה עמודים לדוגמא crud, נניח של USERS.
אז יש לך כאילו 4 עמודים שונים ש usersController יטפל בהם.


מה שאתה בעצם אומר, שבמידה וסיימתי עבודה עם איזשהו עמוד אני יכול להעיף את כל מה שקשור אליו מה-DOM.

תודה על הלינק. מעניין העניין הזה.


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

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

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



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