fpWeb סקירה ראשונית

fpWeb הוא framework מעניין לעבודה עם אפליקציות מבוססות web כדוגמת web services (עם תמיכה ב JSON, JSONRPC1, JSNORPC2, XMLRPC ועם תוסף, גם תמיכה ב SOAP) וכן עבודה גמישה שדורשת התממשקות למסדי נתונים ויצירת מידע המבצע תצוגה כממשק web ב HTML.

הסביבה יודעת לספק לנו אפשרות לפתח אפליקציה או כCGI על שלל גווניה (ז"א cgi רגיל ו fast cgi), וכן גם כמודול לאפצ'י. בנוסף הספרייה יודעת להתממשק לLazarus ובכך לספק פיתוח קצת יותר גרפי עבור האפליקציה עם שימוש ב"חלונות" כדוגמת DataModule ו"חלון" מיוחד לצד השרת עצמו (החלון קיים רק בזמן תכנון ולא בזמן ריצה).

הספרייה כוללת יכולות עבודה מרמת ה HTTP הפשוטה ביותר (כולל תמיכה בעוגיות, session, עבודה עם פרמטרים, שליטה ב"ראש" ועוד הרבה אפשרויות אחרות), ועד עבודה מול templates, כאשר העבודה נעשת בגישה של פיתוח מבוסס אירועים, כלומר על בסיס כל אירוע כותבים קוד במקום ליישם הכל ולפרק לבד את העבודה.

כמו כן, המיפוי של נתיבים נעשה באמצעות path info, אבל אם אתם מעוניינים לעבוד בגישה באתר של העסק שלי, אז לצערי שם יש קצת יותר עבודה, היות והוא לא תוכנן לגישה הזו במקור, וחבל. אבל אם השפה היתה בסוף במקום בהתחלה, אז היה קל מאוד בצורה הנוכחית לעשות את זה, כך שגמישות של נתיבים זה נושא שדורש חשיבה מעט שונה מאשר framework כדוגמת סינטרה, Rails ואפילו DJango.

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

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

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

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

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

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

4 מחשבות על “fpWeb סקירה ראשונית

  1. ik_5 מאת

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

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

    שים לב בשביל התחלה, יש לך את הוויקי שאליו קישרתי בפוסט.

  2. פינגבק: fpWeb – שלום עולם « לראות שונה

  3. פינגבק: חלון ל HTML « לראות שונה

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s