דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. בניית ופיתוח אפליקציות
  4. עזרה הדדית - בניית ופיתוח אפליקציות
  5. המלצה | זית לאנדרואיד - יתכן!

המלצה | זית לאנדרואיד - יתכן!

מתוזמן נעוץ נעול הועבר עזרה הדדית - בניית ופיתוח אפליקציות
77 פוסטים 21 כותבים 923 צפיות 24 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ס מנותק
    ס מנותק
    סטלה דקדושה
    כתב נערך לאחרונה על ידי
    #60

    חסום בנטפרי
    יש דרך אחרת להעלות?

    תגובה 1 תגובה אחרונה
    0
    • ז מנותק
      ז מנותק
      זמני
      כתב נערך לאחרונה על ידי
      #61

      צריך להוריד לספריה גם את הקובץ הזה:seforim.db.buildstate ?

      תגובה 1 תגובה אחרונה
      0
      • יאיר דניאלי יאיר דניאל

        > @לא-מתייאש כתב:

        הראשון‌​‌‌​‌​​​​​‌ שיישם את המטרה שפרסמתי את הקוד של זית

        ואוו. לא פשוט לקבל מחמאה כזו ממנו - @אפרול תעריך...

        ס מנותק
        ס מנותק
        סטלה דקדושה
        כתב נערך לאחרונה על ידי סטלה דקדושה
        #62

        @יאיר-דניאל כתב:

        ואוו. לא פשוט לקבל מחמאה כזו ממנו - @אפרול תעריך...

        @אפרול בהחלט תעריך
        הוא גם כתב עליך נושא

        תגובה 1 תגובה אחרונה
        1
        • צ צצצצצ

          @אפרול לא עובד על אנדרואיד 11 בוודאות?
          תוכל לשנמך?
          תודה!

          צבי דורש ציוןצ מנותק
          צבי דורש ציוןצ מנותק
          צבי דורש ציון
          כתב נערך לאחרונה על ידי
          #63

          @צצצצצ כתב:

          לא‌​‌‌​‌​​​​​‌ עובד על אנדרואיד 11 בוודאות?

          איפה כתוב שלא עובד על 11?

          י תגובה 1 תגובה אחרונה
          0
          • צבי דורש ציוןצ צבי דורש ציון

            @צצצצצ כתב:

            לא‌​‌‌​‌​​​​​‌ עובד על אנדרואיד 11 בוודאות?

            איפה כתוב שלא עובד על 11?

            י מנותק
            י מנותק
            ישניאור
            כתב נערך לאחרונה על ידי
            #64

            @צבי-דורש-ציון כתב בזמנו שזה מ13 ומעלה.

            תגובה 1 תגובה אחרונה
            0
            • א מנותק
              א מנותק
              אריה 6
              כתב נערך לאחרונה על ידי
              #65

              הספריה יורדת דרך האפליקציה?

              תגובה 1 תגובה אחרונה
              0
              • א אפרול

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

                • כלי מסודר להעתקת הנתונים מזית במחשב למכשיר,
                • תמיכה בכרטיס חיצוני כולל אפשרות לפיצול מסד הנתונים לפחות מ4 גיגה לתמיכה בכרטיסים מסוגים שונים.
                A מנותק
                A מנותק
                avrasha
                כתב נערך לאחרונה על ידי
                #66

                @אפרול כתב:

                וכמובן - שתנסו בעצמכם לקדם את זה הלאה!
                בהמשך -

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

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

                לא-מתייאשל תגובה 1 תגובה אחרונה
                0
                • א מנותק
                  א מנותק
                  אביגדור ברמן
                  כתב נערך לאחרונה על ידי
                  #67

                  יש מצב לקובץ apk?

                  תגובה 1 תגובה אחרונה
                  0
                  • A avrasha

                    @אפרול כתב:

                    וכמובן - שתנסו בעצמכם לקדם את זה הלאה!
                    בהמשך -

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

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

                    לא-מתייאשל מנותק
                    לא-מתייאשל מנותק
                    לא-מתייאש
                    כתב נערך לאחרונה על ידי לא-מתייאש
                    #68

                    @avrasha
                    אנדרואיד 8 זה מאוד מסובך, ואי איפשרי בשיטה שהוא פעל.
                    אחרי שניסיתי את האפליקצייה של @אפרול זה נתן לי מוטיבצייה לתת לlucene (מנוע חיפוש של זית) תמיכה אמיתית לאנדרואיד וios והלכתי עם גישה אחרת לגמרי, קצת יותר כבדה בapk אבל עם ביצועים יותר טובים ועם תמיכה מאנדרואיד 10 וגם תמיכה בios. זה אפשרי עם אותה שיטה גם לתמוך באנדרואיד 8 אבל זה מסובך מידי בשביל הרווח שזה יתן
                    https://github.com/NucleusFramework/NucleusJvmAccess @אפרול אם אתה רוצה להיות הראשון שינסה את זה (כרגע צריך להמתין שgradle יאשרו לי אותו)

                    https://eliegambache.kdroidfilter.com/

                    א A 2 תגובות תגובה אחרונה
                    5
                    • לא-מתייאשל לא-מתייאש

                      @avrasha
                      אנדרואיד 8 זה מאוד מסובך, ואי איפשרי בשיטה שהוא פעל.
                      אחרי שניסיתי את האפליקצייה של @אפרול זה נתן לי מוטיבצייה לתת לlucene (מנוע חיפוש של זית) תמיכה אמיתית לאנדרואיד וios והלכתי עם גישה אחרת לגמרי, קצת יותר כבדה בapk אבל עם ביצועים יותר טובים ועם תמיכה מאנדרואיד 10 וגם תמיכה בios. זה אפשרי עם אותה שיטה גם לתמוך באנדרואיד 8 אבל זה מסובך מידי בשביל הרווח שזה יתן
                      https://github.com/NucleusFramework/NucleusJvmAccess @אפרול אם אתה רוצה להיות הראשון שינסה את זה (כרגע צריך להמתין שgradle יאשרו לי אותו)

                      א מנותק
                      א מנותק
                      אריה 6
                      כתב נערך לאחרונה על ידי אריה 6
                      #69

                      @לא-מתייאש
                      כדאי אולי לחכות לאפליקציה שלך?
                      או להשתמש בנתיים בשלו?

                      לא-מתייאשל תגובה 1 תגובה אחרונה
                      0
                      • מ מנותק
                        מ מנותק
                        מיישה ש
                        כתב נערך לאחרונה על ידי
                        #70

                        יש אפשרו לשלוח קישור להורדה לנטפרי עכשיו?
                        תודה

                        תגובה 1 תגובה אחרונה
                        🙏
                        0
                        • א אריה 6

                          @לא-מתייאש
                          כדאי אולי לחכות לאפליקציה שלך?
                          או להשתמש בנתיים בשלו?

                          לא-מתייאשל מנותק
                          לא-מתייאשל מנותק
                          לא-מתייאש
                          כתב נערך לאחרונה על ידי
                          #71

                          @אריה-6 כתב:

                          @לא-מתייאש
                          כדאי אולי לחכות לאפליקציה שלך?
                          או להשתמש בנתיים בשלו?

                          שלי יכולה לצאת בעוד 3 חודשים - שנים, או שלא תצא בכלל, וודאי שאפשר להשתמש בשלו

                          https://eliegambache.kdroidfilter.com/

                          א תגובה 1 תגובה אחרונה
                          😲 😀
                          0
                          • לא-מתייאשל לא-מתייאש

                            @אריה-6 כתב:

                            @לא-מתייאש
                            כדאי אולי לחכות לאפליקציה שלך?
                            או להשתמש בנתיים בשלו?

                            שלי יכולה לצאת בעוד 3 חודשים - שנים, או שלא תצא בכלל, וודאי שאפשר להשתמש בשלו

                            א מנותק
                            א מנותק
                            אריה 6
                            כתב נערך לאחרונה על ידי אריה 6
                            #72

                            @לא-מתייאש
                            לא רשמת שהוצאת עוד סוג?
                            התכוונתי להשתמש בזה1000061677.jpg

                            לא-מתייאשל תגובה 1 תגובה אחרונה
                            0
                            • לא-מתייאשל לא-מתייאש

                              @avrasha
                              אנדרואיד 8 זה מאוד מסובך, ואי איפשרי בשיטה שהוא פעל.
                              אחרי שניסיתי את האפליקצייה של @אפרול זה נתן לי מוטיבצייה לתת לlucene (מנוע חיפוש של זית) תמיכה אמיתית לאנדרואיד וios והלכתי עם גישה אחרת לגמרי, קצת יותר כבדה בapk אבל עם ביצועים יותר טובים ועם תמיכה מאנדרואיד 10 וגם תמיכה בios. זה אפשרי עם אותה שיטה גם לתמוך באנדרואיד 8 אבל זה מסובך מידי בשביל הרווח שזה יתן
                              https://github.com/NucleusFramework/NucleusJvmAccess @אפרול אם אתה רוצה להיות הראשון שינסה את זה (כרגע צריך להמתין שgradle יאשרו לי אותו)

                              A מנותק
                              A מנותק
                              avrasha
                              כתב נערך לאחרונה על ידי
                              #73

                              @לא-מתייאש כתב:

                              ועם תמיכה מאנדרואיד 10 וגם תמיכה בios. זה אפשרי עם אותה שיטה גם לתמוך באנדרואיד 8 אבל זה מסובך מידי בשביל הרווח שזה יתן

                              החזון שלי שאברך יוכל לשים את זה בנגן/טאבלט קטן שיקנה מעלי. אם כרגע הנגנים והטבלטים שם מאנדרואיד 10 אין הכי נמי. אם זה עדיין אוחז באנדרואיד 9 ומעלה אולי כדאי לשקול לעשות גם לזה. אני יכול להשיג שיאומי חצי טאץ ע"מ לנסות אם אתה צריך נראה לי שזה מאנדרואיד 10 ומעלה. כמובן שהוא מוגבל במקום ואין לו אפשרות להתקן חיצוני.
                              בכל אופן החידוש שזה עכשיו גם לאנדרואיד ושיהיה ניתן להתקין חלק מהספרים לפי בחירה [תלוי בכמות המקום שיש] ושיהיה ניתן להתקין גם על התקן חיצוני מאוד מבורך ולדעתי יכול להרבות תורה.

                              תגובה 1 תגובה אחרונה
                              0
                              • א אריה 6

                                @לא-מתייאש
                                לא רשמת שהוצאת עוד סוג?
                                התכוונתי להשתמש בזה1000061677.jpg

                                לא-מתייאשל מנותק
                                לא-מתייאשל מנותק
                                לא-מתייאש
                                כתב נערך לאחרונה על ידי
                                #74

                                @אריה-6
                                [מתורגם על ידי AI]
                                אוקיי, אני מתחיל מההתחלה. יש שני קשיים גדולים בהעברת זית לאנדרואיד. הראשון הוא מנוע החיפוש לוסין. לוסין הוא מנוע החיפוש הטוב בעולם שזמין לקהל הרחב. הבעיה היא שאף על פי שלוסין היא ספרייה של ג'אווה, זו לא ג'אווה שתואמת לאנדרואיד. כדי להבין את הבעיה: כשגוגל רצתה להציע למפתחים שפה לפיתוח אפליקציות אנדרואיד, היא רצתה שפה שכולם כבר מכירים, אבל לא רצתה לשלם רישיון. לכן היא מימשה מחדש לגמרי מכונה וירטואלית של ג'אווה, כלומר, בגדול, היא העתיקה רק את התחביר של השפה בלי להעתיק את המנוע שמריץ אותה (מה שעלה לה עשר שנים של משפטים מול אורקל). זה מה שנקרא ART. בקיצור, הם נעצרו בג'אווה 11, ולכן אנדרואיד מסוגל להריץ רק תחביר של ג'אווה 11. אחר כך הם פיתחו את ה"דה-שוגרינג" כדי להמיר ג'אווה 17 לג'אווה 11, כך ש-ART יוכל להריץ אותה. בינתיים הגיעה קוטלין, ובנוסף לכך שהיא מודרנית יותר, לא הייתה לה שום בעיית רישוי, ולכן הם החליטו להפסיק כמעט לגמרי את התמיכה בג'אווה באנדרואיד ולהפוך ל"קוטלין תחילה".

                                אבל בינתיים, עולם ג'אווה שנמצא בשימוש בשרתים המשיך להתפתח, ולוסין כמובן מיועד לשרתים, ולוסין 10 (הגרסה הנוכחית) דורש ג'אווה 21. מה שהחבר שלנו עשה זה לכתוב מחדש חלקים מסוימים של לוסין ואז לקמפל אותם מחדש כדי שיעבדו באנדרואיד. גם אני העליתי את האפשרות הזאת בגיטהאב, אבל הבעיה בדרך הזאת היא שהיא תנעל אותנו לתמיד על לוסין 10, כי לוסין 11 ידרוש ג'אווה 25 ושם כבר יהיה בלתי אפשרי לתקן אותו כדי שיעבוד באנדרואיד. ג'אווה עוברת מהפכה בשפה: חוטים וירטואליים, וולהלה שמגיעה בג'אווה 29, ועוד ועוד. ספריות שידרשו גרסה עדכנית של ג'אווה יהיו בלתי אפשריות להרצה באנדרואיד. ומי שמכיר אותי יודע שאני שונא לעשות מחדש עבודה שמישהו כבר עשה (בגלל זה רציתי להשתמש בעולם ג'אווה בשביל זית, כי היו לי כל הספריות בהישג יד), ובעיקר אני שונא לעבוד לחינם. לעבוד כדי להתאים את לוסין 10 כשאני יודע שזה יישבר לי בלוסין 11, זה בלתי נתפס. דבר נוסף: לי ממש לא אכפת להעביר את זית לאנדרואיד. לדעתי טאבלטים של אנדרואיד הם סמארטפונים גדולים. מה שמעניין אותי זה להעביר אותו לאייפד, ולאייפד אין שום תמיכה בג'אווה, ולכן אין שום תיקון אפשרי, והיה צריך לכתוב מחדש את לוסין, וזה חסר כל היגיון. גם אם יש מי שיגידו שהבינה המלאכותית תעשה את זה, כולם יודעים מה דעתי על זה, אין צורך לחזור על זה.

                                בעקבות האפליקציה של החבר שלנו, שהתנהגה מצוין על טאבלט אנדרואיד, התחלתי לחפש פתרון לאייפד, ובאמת אחרי קצת חיפושים מצאתי במאגר הגיטהאב הרשמי של אורקל (החברה שמחזיקה היום בג'אווה) את אופן-ג'י-די-קיי מובייל. בקיצור, מדובר במכונה וירטואלית אמיתית של ג'אווה שמאפשרת להריץ קוד ג'אווה אמיתי באנדרואיד ובאייOS. זה פרויקט שאף אחד לא מכיר, אבל הוא מתוחזק. ה-JDK אפילו לא מקומפל מראש. עשיתי לו פורק רק כדי להגדיר מערכת אינטגרציה שמקמפלת אותו לאייOS ולאנדרואיד: https://github.com/NucleusFramework/openjdk-mobile. הבעיה היא שהמכונה הווירטואלית עובדת על ידי קומפילציה של הקוד תוך כדי ריצה, מה שנקרא JIT (וזה מה שהופך את ג'אווה ליעילה כל כך), אבל פרקטיקה זו נחשבת מסוכנת בעיני אפל ולכן אסורה. אבל אורקל הגדירה את המכונה הווירטואלית לאייOS כך שרק מפרשת את הקוד בלי לקמפל אותו. אז כן, מאבדים הרבה ביצועים, אבל ההימור שלי היה שבחיפוש פשוט, ועם מכשירים חזקים כמו של אפל, לא נרגיש בזה, ואכן מגיעים ל-1.5 שניות לחיפוש, וזה סביר אחרי אופטימיזציה. ואז החלטתי לבצע את המשימה באופן אוטומטי, ואם כבר עושים את זה באייOS, עשיתי את זה גם באנדרואיד במקביל, כי למה לא. וזה הפרויקט ששיתפתי: מודול שמאפשר לשלב מכונה וירטואלית אמיתית של ג'אווה באייOS ובאנדרואיד ולהריץ קוד ג'אווה באופן כמעט שקוף. ואחרי כמה מבחני ביצועים הבנתי שהביצועים של מכונה וירטואלית אמיתית באנדרואיד טובים עד פי 8 מהמכונה הווירטואלית של אנדרואיד (ART).

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

                                https://eliegambache.kdroidfilter.com/

                                פלמנמוניפ תגובה 1 תגובה אחרונה
                                8
                                • לא-מתייאשל לא-מתייאש

                                  @אריה-6
                                  [מתורגם על ידי AI]
                                  אוקיי, אני מתחיל מההתחלה. יש שני קשיים גדולים בהעברת זית לאנדרואיד. הראשון הוא מנוע החיפוש לוסין. לוסין הוא מנוע החיפוש הטוב בעולם שזמין לקהל הרחב. הבעיה היא שאף על פי שלוסין היא ספרייה של ג'אווה, זו לא ג'אווה שתואמת לאנדרואיד. כדי להבין את הבעיה: כשגוגל רצתה להציע למפתחים שפה לפיתוח אפליקציות אנדרואיד, היא רצתה שפה שכולם כבר מכירים, אבל לא רצתה לשלם רישיון. לכן היא מימשה מחדש לגמרי מכונה וירטואלית של ג'אווה, כלומר, בגדול, היא העתיקה רק את התחביר של השפה בלי להעתיק את המנוע שמריץ אותה (מה שעלה לה עשר שנים של משפטים מול אורקל). זה מה שנקרא ART. בקיצור, הם נעצרו בג'אווה 11, ולכן אנדרואיד מסוגל להריץ רק תחביר של ג'אווה 11. אחר כך הם פיתחו את ה"דה-שוגרינג" כדי להמיר ג'אווה 17 לג'אווה 11, כך ש-ART יוכל להריץ אותה. בינתיים הגיעה קוטלין, ובנוסף לכך שהיא מודרנית יותר, לא הייתה לה שום בעיית רישוי, ולכן הם החליטו להפסיק כמעט לגמרי את התמיכה בג'אווה באנדרואיד ולהפוך ל"קוטלין תחילה".

                                  אבל בינתיים, עולם ג'אווה שנמצא בשימוש בשרתים המשיך להתפתח, ולוסין כמובן מיועד לשרתים, ולוסין 10 (הגרסה הנוכחית) דורש ג'אווה 21. מה שהחבר שלנו עשה זה לכתוב מחדש חלקים מסוימים של לוסין ואז לקמפל אותם מחדש כדי שיעבדו באנדרואיד. גם אני העליתי את האפשרות הזאת בגיטהאב, אבל הבעיה בדרך הזאת היא שהיא תנעל אותנו לתמיד על לוסין 10, כי לוסין 11 ידרוש ג'אווה 25 ושם כבר יהיה בלתי אפשרי לתקן אותו כדי שיעבוד באנדרואיד. ג'אווה עוברת מהפכה בשפה: חוטים וירטואליים, וולהלה שמגיעה בג'אווה 29, ועוד ועוד. ספריות שידרשו גרסה עדכנית של ג'אווה יהיו בלתי אפשריות להרצה באנדרואיד. ומי שמכיר אותי יודע שאני שונא לעשות מחדש עבודה שמישהו כבר עשה (בגלל זה רציתי להשתמש בעולם ג'אווה בשביל זית, כי היו לי כל הספריות בהישג יד), ובעיקר אני שונא לעבוד לחינם. לעבוד כדי להתאים את לוסין 10 כשאני יודע שזה יישבר לי בלוסין 11, זה בלתי נתפס. דבר נוסף: לי ממש לא אכפת להעביר את זית לאנדרואיד. לדעתי טאבלטים של אנדרואיד הם סמארטפונים גדולים. מה שמעניין אותי זה להעביר אותו לאייפד, ולאייפד אין שום תמיכה בג'אווה, ולכן אין שום תיקון אפשרי, והיה צריך לכתוב מחדש את לוסין, וזה חסר כל היגיון. גם אם יש מי שיגידו שהבינה המלאכותית תעשה את זה, כולם יודעים מה דעתי על זה, אין צורך לחזור על זה.

                                  בעקבות האפליקציה של החבר שלנו, שהתנהגה מצוין על טאבלט אנדרואיד, התחלתי לחפש פתרון לאייפד, ובאמת אחרי קצת חיפושים מצאתי במאגר הגיטהאב הרשמי של אורקל (החברה שמחזיקה היום בג'אווה) את אופן-ג'י-די-קיי מובייל. בקיצור, מדובר במכונה וירטואלית אמיתית של ג'אווה שמאפשרת להריץ קוד ג'אווה אמיתי באנדרואיד ובאייOS. זה פרויקט שאף אחד לא מכיר, אבל הוא מתוחזק. ה-JDK אפילו לא מקומפל מראש. עשיתי לו פורק רק כדי להגדיר מערכת אינטגרציה שמקמפלת אותו לאייOS ולאנדרואיד: https://github.com/NucleusFramework/openjdk-mobile. הבעיה היא שהמכונה הווירטואלית עובדת על ידי קומפילציה של הקוד תוך כדי ריצה, מה שנקרא JIT (וזה מה שהופך את ג'אווה ליעילה כל כך), אבל פרקטיקה זו נחשבת מסוכנת בעיני אפל ולכן אסורה. אבל אורקל הגדירה את המכונה הווירטואלית לאייOS כך שרק מפרשת את הקוד בלי לקמפל אותו. אז כן, מאבדים הרבה ביצועים, אבל ההימור שלי היה שבחיפוש פשוט, ועם מכשירים חזקים כמו של אפל, לא נרגיש בזה, ואכן מגיעים ל-1.5 שניות לחיפוש, וזה סביר אחרי אופטימיזציה. ואז החלטתי לבצע את המשימה באופן אוטומטי, ואם כבר עושים את זה באייOS, עשיתי את זה גם באנדרואיד במקביל, כי למה לא. וזה הפרויקט ששיתפתי: מודול שמאפשר לשלב מכונה וירטואלית אמיתית של ג'אווה באייOS ובאנדרואיד ולהריץ קוד ג'אווה באופן כמעט שקוף. ואחרי כמה מבחני ביצועים הבנתי שהביצועים של מכונה וירטואלית אמיתית באנדרואיד טובים עד פי 8 מהמכונה הווירטואלית של אנדרואיד (ART).

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

                                  פלמנמוניפ מנותק
                                  פלמנמוניפ מנותק
                                  פלמנמוני
                                  מדריכים עימוד
                                  כתב נערך לאחרונה על ידי
                                  #75

                                  @לא-מתייאש

                                  אם לא היית מתרגם, לפחות היינו חושבים שאם היית מתרגם היינו מבינים...

                                  פלאפון מייל

                                  לא-מתייאשל תגובה 1 תגובה אחרונה
                                  🙄 😂
                                  1
                                  • פלמנמוניפ פלמנמוני

                                    @לא-מתייאש

                                    אם לא היית מתרגם, לפחות היינו חושבים שאם היית מתרגם היינו מבינים...

                                    לא-מתייאשל מנותק
                                    לא-מתייאשל מנותק
                                    לא-מתייאש
                                    כתב נערך לאחרונה על ידי לא-מתייאש
                                    #76

                                    @פלמנמוני כדי לפשט קצת את העניין, גם זית אינה רצה על JVM מסורתית, אלא מהודרת לקוד מכונה באמצעות GraalVM. ההבדל הוא ש-GraalVM הוא פרויקט מקורי של אורקל, וכשעיינתי בקוד המקור שמתי לב שיש בו גם יעד ל-iOS ול-Android, אלא שמערך הבנייה האוטומטי פשוט לא כלל אותו. לכן עשיתי אותו דבר: יצרתי עותק נפרד של המאגר והתאמתי את מערך הבנייה האוטומטי כך שיפרסם את סביבת הריצה. כך הגעתי לביצועים מהירים פי 9 ב-iOS ולגודל חבילה קטן פי 2.5! בנוסף, זה צורך פחות זיכרון עבודה מ-JVM אמיתית. כל זה כדי לומר שבסופו של דבר, זית על iOS אפשרית לגמרי, עם פתרון יציב לטווח ארוך, ובנוסף מהיר מאוד.


                                    Here are all the benchmarks I ran, with Zayit's real index (7M documents). App benchmarks are medians of 3 runs on Android and one run on iOS, with OS caches dropped before each run on Android.

                                    Android (arm64 emulator, Android 15)

                                    Full app: hybrid search (lexical + semantic)

                                    ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                    First search, cold (includes runtime start) 1.41 s 2.11 s 1.51 s
                                    First book lookup, cold 97 ms 108 ms –
                                    5 warm rounds, total 5.82 s 5.27 s 6.01 s
                                    Search, first page 83 ms 75 ms 85 ms
                                    Search, next page 9.5 ms 9.6 ms 9.5 ms
                                    Facets 8.0 ms 8.1 ms 7.8 ms
                                    Highlights (by meaning) 20 ms 21 ms 23 ms
                                    Book suggestions 3.3 ms 4.5 ms 3.0 ms
                                    Peak memory (PSS) 426 MB 559 MB 481 MB

                                    Full app: lexical search

                                    ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                    First search, cold 0.92 s 1.55 s 0.91 s
                                    First book lookup, cold 86 ms 104 ms –
                                    5 warm rounds, total 7.29 s 5.75 s 7.78 s
                                    Search, first page 75 ms 59 ms 79 ms
                                    Search, next page 75 ms 58 ms 76 ms
                                    Facets 8.4 ms 7.9 ms 9.1 ms
                                    Highlights 0.4 ms 0.4 ms 0.4 ms
                                    Book suggestions 4.5 ms 3.6 ms 3.4 ms
                                    Peak memory (PSS) 337 MB 332 MB 329 MB

                                    I didn't extract the first-lookup time from the GraalVM runs.

                                    App size (per arm64 device)

                                    ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                    App installed 42.7 MB ~98 MB 58.1 MB
                                    Added by Lucene ~3 MB (dex) ~58 MB (JVM + Java runtime) ~19 MB (libnja.so)
                                    Download (compressed, estimate) ~1–2 MB not measured ~7 MB

                                    Lucene alone (no app around it), GraalVM

                                    GraalVM, warm
                                    Phrase search 1–3 ms
                                    Facets 1–4 ms
                                    Vector search (KNN), warm disk cache 3–10 ms
                                    Vector search (KNN), cold disk cache 130–500 ms
                                    Memory (RSS) 63 MB

                                    I only ran the Lucene-alone test with GraalVM on Android.

                                    iOS (simulator)

                                    HotSpot isn't possible on iOS (Apple forbids JIT compilers), so the JVM option is Zero, its interpreter. ART is Android-only.

                                    Full app: hybrid search

                                    Zero (NJA, JVM) GraalVM (NJA)
                                    First search, cold (includes runtime start) 4.63 s 0.82 s
                                    First book lookup, cold 240 ms 206 ms
                                    Search, first page 1.18 s 144 ms
                                    Search, next page 50 ms 41 ms
                                    Facets 148 ms 18 ms
                                    Highlights (by meaning) 15 ms 14 ms
                                    Book suggestions 67 ms 48 ms
                                    Memory after warm-up (peak) 386 MB (422) 390 MB (430)

                                    Full app: lexical search

                                    Zero (NJA, JVM) GraalVM (NJA)
                                    First search, cold 4.15 s 0.52 s
                                    First book lookup, cold 243 ms 181 ms
                                    Search, first page 1.11 s 142 ms
                                    Search, next page 1.11 s 127 ms
                                    Facets 146 ms 18 ms
                                    Highlights 3.5 ms 3.5 ms
                                    Book suggestions 68 ms 48 ms
                                    Memory after warm-up (peak) 148 MB (163) 124 MB (155)

                                    App size

                                    Zero (NJA, JVM) GraalVM (NJA)
                                    Added by Lucene ~50 MB (VM + Java runtime bundled) ~20 MB (one object linked into the app)
                                    Download (compressed, estimate) not measured ~7 MB

                                    Lucene alone (no app around it), warm

                                    macOS HotSpot (reference) iOS GraalVM
                                    Phrase search 1–2 ms 1–2 ms
                                    Facets 1–3 ms 1–4 ms
                                    Vector search (KNN), warm disk cache ~2 ms ~1.5 ms
                                    Vector search (KNN), cold disk cache 130–250 ms 130–250 ms
                                    Memory – 61 MB

                                    Correctness

                                    Check Result
                                    NJA test suite, iOS GraalVM 2008 / 2008
                                    NJA test suite, Android GraalVM (x86_64 emulator, CI) passed
                                    NJA test suite, Android ART and Android HotSpot 2008 / 2008 each
                                    Same search results, iOS GraalVM vs desktop JVM byte-identical, hybrid search included

                                    Summary:

                                    • On Android, GraalVM is as fast to start and nearly as light as ART, with the real Lucene. HotSpot is the fastest once warm, but heavier, bigger, and slower to start.
                                    • On iOS, GraalVM is about 8× faster than Zero, starts about 5–8× faster, and adds less than half the size.

                                    https://eliegambache.kdroidfilter.com/

                                    בנימין מחשביםב תגובה 1 תגובה אחרונה
                                    2
                                    • לא-מתייאשל לא-מתייאש

                                      @פלמנמוני כדי לפשט קצת את העניין, גם זית אינה רצה על JVM מסורתית, אלא מהודרת לקוד מכונה באמצעות GraalVM. ההבדל הוא ש-GraalVM הוא פרויקט מקורי של אורקל, וכשעיינתי בקוד המקור שמתי לב שיש בו גם יעד ל-iOS ול-Android, אלא שמערך הבנייה האוטומטי פשוט לא כלל אותו. לכן עשיתי אותו דבר: יצרתי עותק נפרד של המאגר והתאמתי את מערך הבנייה האוטומטי כך שיפרסם את סביבת הריצה. כך הגעתי לביצועים מהירים פי 9 ב-iOS ולגודל חבילה קטן פי 2.5! בנוסף, זה צורך פחות זיכרון עבודה מ-JVM אמיתית. כל זה כדי לומר שבסופו של דבר, זית על iOS אפשרית לגמרי, עם פתרון יציב לטווח ארוך, ובנוסף מהיר מאוד.


                                      Here are all the benchmarks I ran, with Zayit's real index (7M documents). App benchmarks are medians of 3 runs on Android and one run on iOS, with OS caches dropped before each run on Android.

                                      Android (arm64 emulator, Android 15)

                                      Full app: hybrid search (lexical + semantic)

                                      ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                      First search, cold (includes runtime start) 1.41 s 2.11 s 1.51 s
                                      First book lookup, cold 97 ms 108 ms –
                                      5 warm rounds, total 5.82 s 5.27 s 6.01 s
                                      Search, first page 83 ms 75 ms 85 ms
                                      Search, next page 9.5 ms 9.6 ms 9.5 ms
                                      Facets 8.0 ms 8.1 ms 7.8 ms
                                      Highlights (by meaning) 20 ms 21 ms 23 ms
                                      Book suggestions 3.3 ms 4.5 ms 3.0 ms
                                      Peak memory (PSS) 426 MB 559 MB 481 MB

                                      Full app: lexical search

                                      ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                      First search, cold 0.92 s 1.55 s 0.91 s
                                      First book lookup, cold 86 ms 104 ms –
                                      5 warm rounds, total 7.29 s 5.75 s 7.78 s
                                      Search, first page 75 ms 59 ms 79 ms
                                      Search, next page 75 ms 58 ms 76 ms
                                      Facets 8.4 ms 7.9 ms 9.1 ms
                                      Highlights 0.4 ms 0.4 ms 0.4 ms
                                      Book suggestions 4.5 ms 3.6 ms 3.4 ms
                                      Peak memory (PSS) 337 MB 332 MB 329 MB

                                      I didn't extract the first-lookup time from the GraalVM runs.

                                      App size (per arm64 device)

                                      ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                                      App installed 42.7 MB ~98 MB 58.1 MB
                                      Added by Lucene ~3 MB (dex) ~58 MB (JVM + Java runtime) ~19 MB (libnja.so)
                                      Download (compressed, estimate) ~1–2 MB not measured ~7 MB

                                      Lucene alone (no app around it), GraalVM

                                      GraalVM, warm
                                      Phrase search 1–3 ms
                                      Facets 1–4 ms
                                      Vector search (KNN), warm disk cache 3–10 ms
                                      Vector search (KNN), cold disk cache 130–500 ms
                                      Memory (RSS) 63 MB

                                      I only ran the Lucene-alone test with GraalVM on Android.

                                      iOS (simulator)

                                      HotSpot isn't possible on iOS (Apple forbids JIT compilers), so the JVM option is Zero, its interpreter. ART is Android-only.

                                      Full app: hybrid search

                                      Zero (NJA, JVM) GraalVM (NJA)
                                      First search, cold (includes runtime start) 4.63 s 0.82 s
                                      First book lookup, cold 240 ms 206 ms
                                      Search, first page 1.18 s 144 ms
                                      Search, next page 50 ms 41 ms
                                      Facets 148 ms 18 ms
                                      Highlights (by meaning) 15 ms 14 ms
                                      Book suggestions 67 ms 48 ms
                                      Memory after warm-up (peak) 386 MB (422) 390 MB (430)

                                      Full app: lexical search

                                      Zero (NJA, JVM) GraalVM (NJA)
                                      First search, cold 4.15 s 0.52 s
                                      First book lookup, cold 243 ms 181 ms
                                      Search, first page 1.11 s 142 ms
                                      Search, next page 1.11 s 127 ms
                                      Facets 146 ms 18 ms
                                      Highlights 3.5 ms 3.5 ms
                                      Book suggestions 68 ms 48 ms
                                      Memory after warm-up (peak) 148 MB (163) 124 MB (155)

                                      App size

                                      Zero (NJA, JVM) GraalVM (NJA)
                                      Added by Lucene ~50 MB (VM + Java runtime bundled) ~20 MB (one object linked into the app)
                                      Download (compressed, estimate) not measured ~7 MB

                                      Lucene alone (no app around it), warm

                                      macOS HotSpot (reference) iOS GraalVM
                                      Phrase search 1–2 ms 1–2 ms
                                      Facets 1–3 ms 1–4 ms
                                      Vector search (KNN), warm disk cache ~2 ms ~1.5 ms
                                      Vector search (KNN), cold disk cache 130–250 ms 130–250 ms
                                      Memory – 61 MB

                                      Correctness

                                      Check Result
                                      NJA test suite, iOS GraalVM 2008 / 2008
                                      NJA test suite, Android GraalVM (x86_64 emulator, CI) passed
                                      NJA test suite, Android ART and Android HotSpot 2008 / 2008 each
                                      Same search results, iOS GraalVM vs desktop JVM byte-identical, hybrid search included

                                      Summary:

                                      • On Android, GraalVM is as fast to start and nearly as light as ART, with the real Lucene. HotSpot is the fastest once warm, but heavier, bigger, and slower to start.
                                      • On iOS, GraalVM is about 8× faster than Zero, starts about 5–8× faster, and adds less than half the size.

                                      בנימין מחשביםב מנותק
                                      בנימין מחשביםב מנותק
                                      בנימין מחשבים
                                      מדריכים
                                      כתב נערך לאחרונה על ידי
                                      #77

                                      @לא-מתייאש

                                      עכשיו הכל מובן 😄

                                      הדבר היחיד ש(נדמה לי ש)אני הצלחתי להבין זה שלא-מתייאש כמעט התייאש מזית לאנדרואיד/iOS ועכשיו הוא כבר לא-מתייאש 😉 שאפו, באמת!

                                      יש 10 סוגים של אנשים, אלה שמבינים בינארית ואלה שלא

                                      תגובה 1 תגובה אחרונה
                                      😀
                                      1

                                      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                                      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                      הרשמה התחברות

                                      • התחברות

                                      • אין לך חשבון עדיין? הרשמה

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