עמוד html רספונסיבי


#1

טוב, אז לאחרונה עבדתי לא מעט עם הקס ובעיקר עם פיתוח משחק בהקספליקסל haxeFlixel וזה מאד מגניב!
אבל עכשיו אני עומד לפני פיתוח של פרויקט קטן ב-HTML5 ושוקל האם כדאי לי להשתמש בהקס או ללכת על פריימוורק אחר כלשהו שמתאים יותר למשימה.
מדובר במערכת הזמנת מוצרים שמציגה באופן ויזואלי מעין אילוסטרציה של מחסן עם מדפים שעליהם תאים וכל תא מייצג מוצר שאפשר להזמין בלחיצה. קצת כמו הזמנת כרטיסים לקולנוע - אפשר לראות אילו תאים פנויים, לבחור כמה שרוצים וללחוץ על כפתור הזמנה. כמו כן, יש טופס הרשמה והתחברות + קצת טקסטים להסבר. ההזמנות רק שולחות מייל לבעל האתר. אין התעסקות עם סליקה וכספים.
כל זה צריך להיות נגיש גם דרך מכשירי מובייל ולכן נדרש כאן HTML.
העמוד הזה אמור להיכנס לתוך אתר קיים, שהוא בנוי רספונסיבי ומתאים את עצמו לגודל המסך.
חשבתי שזו הזדמנות להתנסות קצת בהקס\openFL וליצור עמוד שיהיה אח"כ מוצג כ-iframe בתוך div באתר. מה אתם חושבים על זה? זה משהו שיכול להשתלב טוב? מה לגבי טקסטים באופן כללי? בפלאש היתה בעייתיות עם טקסטים שמתהפכים בעברית ולא תמיד נראו חדים ועוד כל מיני כאלה… איך זה בהקס? כי כשעבדתי עם haxeFlixel למשל ראיתי שהטקסט יוצא מאד מטושטש…
אשמח לשמוע מנסיונכם.
תודה!


טקסט מוצג מטושטש
(מיכאל שלמה) #2

מגניב! נשמח לראות תוצרים אם יש לך ואתה יכול לפרסם :smiley:

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

אני רואה יתרון ברור של הקס על JS משום שהפרוייקט שאתה מתאר הוא מקרה קלאסי של OOP (הגדרת מוצר ויצירת מופעים רבים) וב-JS אתה עלול למצוא את עצמך מנסה למצוא פתרונות יצירתיים (לאחרונה מוצא את עצמי עושה זאת הרבה בעבודה :).

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

כמו כן, אני יודע שאתה עלול להרגיש קצת לא בנוח אבל אתה לא חייב להישאר בחממת ה-Flash, זו נשמעת משימה פשוטה יחסית שכדאי לך לעשות עם Haxe/JS, זה בדיוק היתרון של הקס - התאם את הטכנולוגיה למשימה ולא את המשימה לטכנולוגיה!, כמו כן, כיום רוב הסיפריות ה-JS הגדולות נתמכות בהקס וקהילת הקס הוסיפה עליהם ספריות רבות וטובות - הרבה משתמשים בהקס ל-JS והתמיכה מצויינת.

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

תכנות נעים :smiley:

נ.ב:

בדיוק משפטים כאלה הקס מנסה למחוק מהלקסיקון שלנו :smile:


#3

תודה מיכאל, אולי באמת אבדוק את האפשרות של haxe createJS, שאיתו יש לי נסיון בגירסה הלא-הקסית. אבל מה בעצם היתרון בשימוש בספרית JS כלשהי (חוץ מהאפשרות שאני כבר מכיר אותה ולכן יהיה לי נוח יותר)? לגבי צד-שרת - אני מקבל API ממישהו שעושה את החלק הזה בדוט-נט, כך שאני רק צריך לשלוח מידע לגבי הזמנה ולקבל מידע חזרה לגבי מצב המוצרים (XML או JSON). זה ממש לא מורכב.


(מיכאל שלמה) #4

היתרון של Haxe על פני JS הוא עצום, כמעט מכל אספקט, למען האמת, תחשוב על תיכנות OOP ב-JS (שדרך אגב, כנראה שיכנס באופן חלקי בגירסא הבאה של JS - ES6) הקס כבר היום עושה את זה. מצחיק שלפעמים, הקוד שמקומפל מהקס יותר מהיר מקוד JS שכתב מתכנת (בזכות הקומפיילר). כמו כן, שגיאות בזמן ריצה ועוד, אין טעם להמשיך ולפרט - לדעתי, כל חווית העבודה תהפך לנוחה יותר.
**למה לא להשתמש ב-**openFL ?OpenFL היא סיפרייה מדהימה! וכל הזמן משתפרת ומשתדרגת בצורה מטורפת… העיניין הוא שלא בטוח שכדאי לשלוח ספינת טילים משוכללת בשביל משימה פשוטה. אני לא בטוח (@IAP ׁ- אשמח אם תשפוך אור על הנושא) אבל אני חושב ש-openFL מקמפלת את הקוד ל-c++ ומשם ליעד, בניגוד לקומפיילר של הקס שפשוט מייצא לך JS, אני אוהב לשמור את הקוד שלי כמה שיותר פשוט, פוטנציאל הבעיות פוחת :smiley:

לגבי צד השרת, אני חושב שהקס תצלח את המשימה בקלות, הקס יודעת לעבוד עם JSON ו-XML בצורה מצויינת, דרך אגב, אולי עם הקס תוכל אפילו לדבר עם ה-.net עצמו, אבל לא ניראה לי שתידרשו לזה, כפי שציינת זה לא מורכב ואנחנו אוהבים קוד פשוט :smile:


(Itzik Arzoni) #5

ההבדל בין OpenFl לפיתוח בהקס הוא בתוצר. כאשר אתה מפתח בהקס עבור JS - זה בדיוק מה שאתה מקבל, פיתוח ג’אווהסקריפט עם הייתרון של OOP, והספריות שקיימות בהקס. אם מראש אתה משתמש בספריות של JS, אז להם אתה כבול, ולא תוכל לייצא מאותו הקוד לפלטפורמות אחרות. אבל זה בעצם גם הייתרון. אתה כותב JS שהוא הכי טבעי לדפדפן. אתה יכול להתעסק עם אבני הבניין הבסיסיות ביותר של הדפדפן ולנצל את כל יכולות הדפדפן.
OpenFl נותנת לך שכבת רינדור, שעליה כל התצוגה נעשית. כאשר אתה מייצא לדפדפן, אז שכבת הרנדור הזו מבוטאת באמצעות Canvas (כעת עובדים כדי שזה יהיה WebGl), בפלאש, זה פלאש, ובכל פלטפורמה אחרת, זה מנצל את יכולות הרינדור של אותה הפלטפורמה. והכל בדיוק מאותו הקוד. אז זה ייתרון עצום, אם אתה רוצה לפתח לפלטפורמות מרובות. זה גם ייתרון אם אתה רוצה לפתח רק לJS, אבל לא רוצה להתעסק עם היישום הספציפי.

בכל הנוגע לעמוד רספונסיבי, לשתי הגישות יש ספריות המאפשרות לעשות Liquid Layout .
ב OpenFl יש ספריית Layout כבר מובנית בחבילה. יש פרוייקט דוגמא שבו אתה יכול ליצור את הפריסה בפלאש, ולטעון את הפלאש ועל פיו לשבץ את העצמים שלך. אפילו בJS, שזה כשלעצמו ממש מרשים.
חבר קהילה של OpenFl יצר את הספריה הזו, שנותנת הרבה יותר כוח ליצירה של פריסות.

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


#6

תודה על התשובות המפורטות!