חושבים לפתח אפליקציה ב-React Native? הנה כמה נקודות שכדאי להביא בחשבון

הפלטפורמה של פייסבוק יוצרת מהפכה בפיתוח אפליקציות למובייל, אך האם היא מתאימה לכל הסטארטאפים והחברות? קיבצנו את כל הסיבות למה כדאי ולא כדאי לפתח ב-React Native

Justin Sullivan/ Getty Images Israel

צלם/תמונה: Justin Sullivan/ Getty Images Israel

מאת בוריס דינקביץ', ממקימי 500Tech

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

בשוק יש כבר די הרבה אפליקציות שכתובות ב-React Native וכלל לא ניתן להרגיש בהבדל בינן לבין אפליקציה שכתובה בטכנולוגיה מותאמת. פייסבוק ואינסטגרם הן החלוצות (מן הסתם, שכן פייסבוק היא המפתחת של הטכנולוגיה), אבל גם האפליקציות של Wix, Airbnb ו-Uber Eats משתמשות בטכנולוגיה.

מתי כדאי לכתוב את האפליקציה ב-React Native ומתי עדיף להישאר עם Java ,Swift ושאר הטכנולוגיות המותאמות לכל פלטפורמה בנפרד? הנה כמה נקודות למחשבה שיעזרו לכם להחליט.

למה כן React Native?

קוד אחד למערכות הפעלה שונות: במקום להחזיק לפחות שלושה מפתחים עם ידע שונה – מפתח ג'אווה לאנדרואיד, מפתח סוויפט ל-iOS ומפתח JavaScript לווב – בפיתוח ב-React Native אפשר להחזיק אדם אחד עם ידע ב-javascript, או צוות מעורב שמפתח כולו ב-React ו-React Native ויכול לחלוק את הידע.

נראות ויזואלית: לעומת אפליקציות היברידיות, שכבר קיימות בשוק, אפליקציות שפותחו ב-React Native, הן כשמן – Native. מה ההבדל? הנה דוגמה: כשיוצרים כפתור באפליקציה היברידית (Cordova, PhoneGap), למעשה כותבים קוד שפונה לדפדפן ויוצר כפתור דפדפן על מסך הטלפון. לעומת זאת, ב-React Native הקוד פונה למערכת ההפעלה של המכשיר ויוצר כפתור "אמיתי" – כמו שהיה נוצר על ידי Java או Swift. בשיטה זאת לא ניתן להבדיל בין הטכנולוגיות, ועל כל מכשיר האפליקציה נראית כאילו פותחה בשבילו.

עדכונים מיידים: גם אחרי שהאפליקציה באוויר יש צורך תמידי בעדכונים, תיקוני באגים ועוד. ב-React Native אפשר לבצע את התיקון פעם אחת ולעדכן את כל המערכות ביחד (ווב, אנדרואיד ואייפון). יתרון נוסף ומכריע הוא שאין צורך לחכות לאישור של Google Play או של Appstore לכל תיקון וניתן לעשותו מיידית על כל המכשירים שבהם מותקנת האפליקציה.

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

למה לא React Native?

סוג האפליקציות: אמנם ניתן לפתח 90% מהאפליקציות שקיימות היום בשוק ב-React Native, וגם אפליקציות ויזואליות כמו אינסטגרם פותחו בטכנולוגיה הזו, אבל עדיין –  פחות מומלץ לפתח בה אנימציות מורכבת ומשחקים. כלומר, אם קהל היעד שלכם הוא גיימרים, עדיף שתיצמדו לטכנולוגיה אחרת.

"אם זה לא שבור אל תתקן את זה": אם יש לכם כבר אפליקציה טובה ב-iOS או באנדרואיד ואתם מרוצים, אין טעם לעשות את המעבר. לא פשוט לבצע מעבר הדרגתי מאפליקציות נייטיב ל-React Native ולרוב נדרש שכתוב מחדש.

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

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

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

הכתבה בחסות 500Tech

מתעניינים בפיתוח בריאקט נייטיב? רוצים לבדוק האם כדאי לפתח את האפליקציה שלכם בריאקט נייטיב? צרו קשר. נשמח לייעץ.
בוריס דינקביץ' הוא ממקימי חברת 500Tech שמתמחה בייעוץ, ליווי ופיתוח בתחום ה- Frontend. לחברה משרדים בישראל ובארה"ב.

כתב אורח

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

הגב

19 Comments on "חושבים לפתח אפליקציה ב-React Native? הנה כמה נקודות שכדאי להביא בחשבון"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
יורי
Guest

כתבה דלה מאוד

השם שלי קצר מידי
Guest
השם שלי קצר מידי

צודק, הנה משהו בעל יותר בשר שמשווה בין צורות הפיתוח השונות כולל חברות ישראליות בתחום (קודניים וואן) https://www.linkedin.com/pulse/how-pick-right-cross-platform-solution-shai-almog

מתן
Guest

הכתבה שבלינק מאד איכותית.
תודה רבה

מתן בסתר
Guest

נכנסתי ללינק המומלץ. פוסט עוד יותר שטחי – הבנאדם כנראה מתחנף למנכ"ל שלו.

השם שלי קצר מידי
Guest
השם שלי קצר מידי

תגיב לכתבה שם ודבר על איך אפשר לשפר אותה…

Pixel user
Guest

מה זאת אומרת שלא צריך לחכות לAppstore וGoogle play? אני לא צריך לשלוח להם גרסא חדשה אם אני מעדכן משהו?

השם שלי קצר מידי
Guest
השם שלי קצר מידי

כלי ג׳אווה סקריפט בסגנון הזה מכילים את הסקריפט המלא של האפליקציה בפנים. הם לא ״באמת״ נייטיב. זה אומר שאתה יכול לשלוח עידכון (משהוא שלא מוצא חן במיוחד בעיני אפל והמדיניות שלהם קצת עמומה פה) אבל זה גם אומר שיש וקטור התקפה מאד קל להאקר בשביל להשתלט על האפליקציה שלך… גם reverse engineering של הקוד יותר קל במצבים כאלו.
הווידג׳טים שריאקט עובד איתם הם נייטיבים זה אומר שכל קריאה בין הג׳אווה של אנדרויד (שבה הווידגטים ממומשים) ובין ריאקט נייטיב צריכה לעבור דרך הJNI וזו בעיית פרפורמנס אינהרנטית בנוסף לבעיות המובנות בג׳אווה סקריפט.

זיו
Guest

נסחפת קצת עם כל ההפחדות
יש בריאקט נייטיב פתרון מצויין לבעיה שלוקח לאפל לאשר עדכון 14 יום.
יש כל מיני אפשרויות לעדכון אבל אחת הפולאריות היא של מייקרוסופט, מאובטחת בצורה טובה מאד
https://microsoft.github.io/code-push/
ואם אתה עדיין פוחד אל תתקין וככה לא תהיה חשוף.
לגבי ה reverse engineering, חלקית נכון אבל שולי ביותר, ממילא לא מומלץ להחזיק פטנטים בפרונט אלא רק בשרת ולכן כל מה שהם יראו אלו קריואת לשרת.
אין בעיות ביצועים בכלל ואם יש אלו בעיות שיכולות להיות בניייטיב ונובעות ממימוש לא נכון.
בקיצור תתקדם לעתיד

השם שלי קצר מידי
Guest
השם שלי קצר מידי

יש פתרונות הרבה יותר מתקדמים מריאקט אבל אתה שבוי בקונספציה של ג׳אווהסקריפט.
בעיות הביצועים הם אינהרנטיות על אנדרויד ועם אתה לא מבין אותם אתה אולי צריך לקרוא על הJNI bridge…
הקטע שכל הבעיות האלו ורבות אחרות לא קיימות בקודניים וואן אז אולי אתה תתקדם לעתיד.

אדם
Guest

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

זיו
Guest

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

MiniMe
Guest

לא התקרב..

תום לוי
Guest

אין אפשרות לפתח SDK. קריטי.

ידין
Guest

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

yeo4
Guest

א. עכשיו ראיתי בתגובות את האתר: https://www.linkedin.com/pulse/how-pick-right-cross-platform-solution-shai-almog , זה יכול להביא פתרונות גם למפתחי ++JAVA,C, ביחס לפתרון היברידי

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

ג. לגבי האייפון אתה צריך מחשב מאק לחבר את הxamrin איתו

ד. ועוד יש בעיות של תאימות שאין לי כח לפרט עליהם..

ממליץ על זה למי שיש לו קבוצה של מתכנתים שיודעים רק C#

רועי
Guest

כתבה מאוד שטחית, מה שמאפיין לצערי את איכות הכתבות שמפורסמות ב Geektime.

gal
Guest

לאדע.. טוב לי עם ionic:)

כרובי
Guest

שכחתם להתייחס לבעיית הזכויות יוצרים של הטכנולוגיה…

begger
Guest

חברים תתקדמו ל vue.js + nativeScript

wpDiscuz

תגיות לכתבה: