טיש פון קאָנטענץ[באַהאַלטן][ווייַזן]
- אַזוי, וואָס איז אַ מאָדולע פעדעריישאַן?
- פארוואס מאָדולע פעדעריישאַן?
- מאָדולע פעדעריישאַן האַרץ קאַמפּאָונאַנץ
מאָדולע פעדעריישאַן האַרץ פֿעיִקייטן+-
- ויסגעצייכנט וועב פאָרשטעלונג
- עפעקטיוו אַנטוויקלונג
- די פיייקייַט צו זיך-היילן און יבעריק
- עפעקטיוו האַנדלינג פון פּראָסט דיפּענדאַנסיז
- אַנשטאָט צו שייַעך-צעוויקלען קאָנסומערס, צעוויקלען פרייַ קאָד.
- ווען פליסנדיק, אַרייַנפיר קאָד פון אנדערע בילדער.
- ימפּרוווד דעוועלאָפּער דערפאַרונג בשעת פּראַזערווינג קליענט דערפאַרונג
- מיקראָ-פראָנטענדס אַרבעטן אין אַ מאַנאַליטיק מאָדע.
- סאָף
דער באַגריף פון מיקראָ פראָנטענדס אַפּלייז מיקראָ באַדינונגס צו פראָנטענד אַנטוויקלונג.
דער געדאַנק איז צו צעברעכן די אַפּלאַקיישאַן אָדער וועבזייטל אין קלענערער, ינדיפּענדאַנטלי דעוועלאָפּעד ברעקלעך וואָס זענען דעמאָלט קאָננעקטעד בעשאַס רונטימע, ווי קעגן צו שאַפֿן זיי ווי אַ איין קאָוכיסיוו מאַנאַליט.
דער אופֿן אַלאַוז איר צו שאַפֿן אנדערע קאַמפּאָונאַנץ פון די אַפּלאַקיישאַן ניצן אנדערע טעקנאַלאַדזשיז און מיט פרייַ טימז.
דער געדאַנק איז צו רעדוצירן די וישאַלט הוצאות שייַכות צו אַ טיפּיש מאַנאַליט דורך סעגמענטינג אַנטוויקלונג אין דעם וועג.
דורך אַלאַוינג זיי צו קאַנסאַנטרייט אויף אַ באַזונדער געגנט פון אַ אַפּלאַקיישאַן ווי אַ קאָוכיראַנט מאַנשאַפֿט, עס אויך מאכט נייַע פארמען פון קוואַפּעריישאַן צווישן באַקענד און פראָנטענד דעווז מעגלעך.
פֿאַר בייַשפּיל, איר קען האָבן אַ מאַנשאַפֿט וואָס איז בלויז פאַראַנטוואָרטלעך פֿאַר די זוכן פיייקייט אָדער אן אנדער אַספּעקט פון אַ שליסל פּראָדוקט וואָס איז קריטיש פֿאַר אַ געשעפט.
דאַנק צו די מאָדולע פעדעריישאַן, איר האָבן גענוג פאַנגקשאַנאַליטי צו שעפּן די וואָרקפלאָוו אַז די מיקראָ פראָנטענד צוגאַנג מאַנדייץ.
דעם פּאָסטן וועט נעמען אַ טיף קוק אין די אַרקאַטעקטשער פון די מאָדולע פעדעריישאַן, ווי געזונט ווי די הויפּט פֿעיִקייטן און אַפּלאַקיישאַן פּאַטערנז.
אַזוי, וואָס איז אַ מאָדולע פעדעריישאַן?
Javascript ס מאָדולע פעדעריישאַן פּלאַן ניצט ריוזד פּאַרץ אין פילע אַפּלאַקיישאַנז.
עס איז גאַנץ יקערדיק זשאַרגאָן, אָבער איך נאָר פשוט געמאכט עס ווי אַזוי צו זיין וויזי.
ווי מיר זענען אַלע באַקאַנט מיט ייַנטיילונג קאַמפּאָונאַנץ אין אַ רעאַקט אַפּלאַקיישאַן, מאָדולע פעדעריישאַן יפעקטיוולי אַקאַמפּלישיז דער זעלביקער ציל אין פיר, מיט די ויסנעם אַז עס דינאַמיקאַללי יקספּאָוזיז אַפּלאַקיישאַן מאַדזשולז פֿאַר קאַנסאַמשאַן דורך אנדערע אַפּלאַקיישאַנז.
מאָדולע פעדעריישאַן זוכט צו באַקומען די פּראָבלעם פון מאָדולע ייַנטיילונג אין אַ פונאנדערגעטיילט סיסטעם דורך דעליווערינג די שליסל שערד עלעמענטן ווי מאַקראָו אָדער מיקראָ ווי געוואלט.
דאָס איז דערגרייכט דורך זיי אַוועקגענומען פון דיין אַפּפּס און די בויען וואָרקפלאָוו.
פארוואס מאָדולע פעדעריישאַן?
דאָ זענען עטלעכע סיבות וואָס מאָדולע פעדעריישאַן קענען שעפּן לייכט:
- עקסטערנאַלס און דללס (דינאַמיש לינק ליבראַריעס) זענען אַלע וואָס מיר טייל מאָל האָבן פֿאַר ייַנטיילונג פאַנגקשאַנאַליטי צווישן אַפּפּס. אַלע פון וואָס געמאכט סקיילינג קאָד ייַנטיילונג גאָר טשאַלאַנדזשינג.
- NPM איז פויל.
- ווען צוויי באַזונדער מגילה טיילן קריטיש קאָד, זיי מוזן זיין דינאַמיש און פלעקסאַבאַל.
אין סדר פֿאַר סטאַנדאַלאָנע אַפּפּס צו זיין טאָוטאַלי אין זייער אייגענע ריפּאַזאַטאָרי, צעוויקלען סעפּעראַטלי און אַרבעטן ווי זייער אייגענע פרייַ ספּאַ, מאָדולע פעדעריישאַן איז באשאפן.
מאָדולע פעדעריישאַן האַרץ קאַמפּאָונאַנץ
איידער דייווינג דיפּער, בעקיצער דיסקוטירן עטלעכע נייַע קאַנסעפּס וואָס מאָדולע פעדעריישאַן ברענגט איז וויכטיק.
- האָסט: ווען אַ בלאַט לאָודז, די בויען אָדער מאָדולע יניטיאַלייזד טכילעס איז גערופן אַ באַלעבאָס. א שפּייַזער קענען זיין קאַנסידערד ווי אַ באַלעבאָס.
- ווייַט: א ווייַט איז אַ אַנדערש קאַנסטראַקשאַן וואָס ניצט אַ טייל פון דער באַלעבאָס. זיי זענען אויך ריפערד צו ווי קאַסטאַמערז.
- ביי-דירעקטיאָנאַל באַלעבאָס: אַ וועבפּאַקק בויען וואָס פאַנגקשאַנז ווי אַ ווייַט וואָס אנדערע מחנות פאַרנוצן און אַ באַלעבאָס וואָס קאַנסומז רימאָוטז.
- פאַרקויפער פעדעריישאַן: ינייבאַלז דעקלאַראַטיוולי שערד רונטימע ייַנטיילונג פון npm מאָדולע דיפּענדאַנסיז פֿאַר אַ באַלעבאָס אָדער ווייַט, ראַגאַרדלאַס פון די אָרט פון וואָס זיי זענען לאָודיד. איינער פון די הויפּט פאָרשטעלונג פּראָבלעמס מיט מיקראָ פראָנטענדס איז ריזאַלווד אין דעם וועג.
פּאַטערנז פון פעדערייטיד אַפּפּליקאַטיאָן
עווערגרין פּלאַן סיסטעם
איינער פון די מערסט יקערדיק פארמען פון פעדערייטיד אַפּלאַקיישאַנז איז אַן "עווערגרין ווייַט," וואָס איז אַ שערד ווייַט ווי אַ "פּלאַן סיסטעם" אָדער "קאָמפּאָנענט ביבליאָטעק" וואָס איז ינדיפּענדאַנטלי פונאנדערגעטיילט און דערהייַנטיקט פֿאַר אַלע יוזערז.
אָן יעדער אַפּ מאַנשאַפֿט וואָס דאַרף צו פאַרברענגען צייט אויף ריוויזשאַנז, דאָס קען זיין נוציק צו ענשור אַז אַלע אָנליין זייטלעך אַדכיר צו די לעצטע פֿירמע אידענטיטעט.
אין סדר צו פּלאַן און שטעלן די לימאַץ און פּראָוסידזשערז נייטיק צו גאַראַנטירן זיכער, אָנגאָינג דערהייַנטיקונגען, דאָס קען זיין אַ נוציק אָרט פֿאַר געשעפטן צו אָנהייבן ווען איר באַטראַכטן אַ פעדערייטיד אַפּלאַקיישאַן אַרקאַטעקטשער.
די פאלגענדע זענען עטלעכע נוצן קאַסעס ווו ינדיפּענדאַנטלי דיפּלויד שערד רימאָוטז קען זיין פּאַסיק:
- פּלאַן סיסטעמען
- אַפּפּליקאַטיאָן שעלז
- קאָמפּאָנענט לייברעריז
- קאָנסומערס
- שערד טאָאָלקיץ
- אַלטערנאַטיווע פאַרשפּרייטונג מאָדעלס פֿאַר ווידזשיץ געניצט דורך ינערלעך אָדער פונדרויסנדיק
מולטי-ספּאַ מאָדולע ייַנטיילונג
רייוז שוין יקספּאָרטאַד פֿעיִקייטן, אַזאַ ווי קאַמפּאָונאַנץ, אין פאַרשידענע סטאַנדאַלאָנע איין-בלאַט אַפּפּס. Benefits אַרייַננעמען:
- קאָנסומערס באַקומען אָטאַמייטיד דערהייַנטיקונגען
- פעלד עקספּערטיז בלייבט אויף די מאַנשאַפֿט וואָס איז אין באַשולדיקונג פון עס.
- סטרימליינז די דיפּלוימאַנט פּראָצעדור ווייַל באַזונדער מאָדולע ריליסיז זענען ניט נייטיק.
שאָל געטריבן פעדעריישאַן
די שאָל-געטריבן פעדעריישאַן כולל:
- ווען קריייטינג אַ נייַע פּראָדוקט ווערסיע, די פּראָדוקט מאַנשאַפֿט טוט נישט וואַרטן פֿאַר די ויסשרייַבן מאַנשאַפֿט צו פאַרענדיקן זייער אַרבעט.
- ווען סוויטשינג רימאָוט, עס איז קיין בלאַט רילאָוד.
- אויב נייטיק, שעל אָפפערס פּאַמעלעך ווייַט לאָודינג און (שפּיץ-מדרגה) רוטינג.
- רוטינג אַריבער רימאָוטז איז געמאכט מעגלעך דורך פאַרקויפער פעדעריישאַן, וואָס ינייבאַלז די רייוס פון אָפט געוויינט npm פּאַקאַדזשאַז.
- שעל אָפפערס די פריימווערק און אנדערע פּראָסט דיפּענדאַנסיז וואָס זענען ריוזד דורך די פויל לאָודיד רימאָוטז.
מולטי-שעל פעדעריישאַן
ענלעך צו די שאָל-געטריבן פעדעריישאַן דיסקרייבד אויבן, אָבער געוויינט פאַרשידענע שעלז.
עס כּולל:
- אַ נומער פון שעלז
- ווייַס-לייבלינג
- ניט אַלע רימאָוטז זענען פארלאנגט דורך Shell B אָדער האָבן פרייַ ימפּלאַמאַנץ.
מאָדולע פעדעריישאַן האַרץ פֿעיִקייטן
ויסגעצייכנט וועב פאָרשטעלונג
די פּראָבלעם מיט דער נאָרמאַל NPM מאָדולע זאַץ איז אַז ווי די נומער פון אָפענגען ריסעס, די גרייס פון די אַפּלאַקיישאַן בכלל וואקסט.
אין סדר צו ויסמיידן לאָודינג באַנדאַלז ווען דיין אַפּלאַקיישאַן לאָודז און בלויז לאָדן זיי ווען נייטיק, מאָדולע פעדעריישאַן אָפפערס איר די פיייקייט צו פויל לאָדן באַנדאַלז.
דאָס פּריווענץ די נויט צו אָפּלאָדירן מאַדזשולז איידער זיי זענען אַקשלי פארלאנגט, וואָס ימפּרוווז די גיכקייַט פון די פּלאַץ.
עפעקטיוו אַנטוויקלונג
יעדער פּרויעקט קענען זיין געשאפן און איבערגעגעבן אין אפגעזונדערטקייט און קענען זיין דורכגעקאָכט דורך פאַרשידן טימז ווייַל מאָדולע פעדעריישאַן ינקעראַדזשאַז איר צו אָרגאַניזירן דיין אַפּלאַקיישאַן אין דיסקרעטע פּראַדזשעקס אַזוי אַז איר קענען בויען און צעוויקלען זיי סעפּעראַטלי (און דערפאר אין פּאַראַלעל).
די פיייקייַט צו זיך-היילן און יבעריק
שערד דיפּענדאַנסיז לאָזן מאָדולע פעדעריישאַן צו האַלטן שפּור פון אַלע דיין פּראָגראַם ס דיפּענדאַנסיז אויף איין אָרט.
דעם וועג, אפילו ווען אַ אַפּלאַקיישאַן טוט נישט דערקלערן אַ אָפענגיקייַט אָדער ווען עס זענען נעץ פּראָבלעמס, עס נאָך ווייסט וואָס עס דאַרף און קענען שעפּן דאַונלאָודינג עס ווי דארף.
עפעקטיוו האַנדלינג פון פּראָסט דיפּענדאַנסיז
אַדדיטיאָנאַללי, מאָדולע פעדעריישאַן אָפפערס העכער דעפּענדענסי פאַרוואַלטונג, יפעקטיוולי ריזאַלווינג פאַרקויפער און דריט-פּאַרטיי רעקווירעמענץ אַזוי אַז דיין אַפּלאַקיישאַן וועט קיינמאָל לאָדן מער ווי איין ווערסיע פון אַ ביבליאָטעק.
אַנשטאָט צו שייַעך-צעוויקלען קאָנסומערס, צעוויקלען פרייַ קאָד.
דער דעוועלאָפּער איז זייער אינטערעסירט אין עווערגרין פאַנגקשאַנאַליטי. אַמאָל יקספּאָוזד אָפענגיק פאַנגקשאַנאַליטי האט געביטן, עס וועט ניט זיין נייטיק צו ריינסטאַל די קאָנסומערס ענימאָר.
איך מוזן אַרייַנלאָזן אַז דאָס איז אַ העכסט שטאַרק שטריך אין און פון זיך, איינער וואָס וועט דאַרפֿן אַ אָפּגעהיט דורכקוק צו פאַרמייַדן אומגעריכט אַוטקאַמז.
ווען פליסנדיק, אַרייַנפיר קאָד פון אנדערע בילדער.
ווען איר אַדאַפּט די NPM פּעקל מאָדעל, מיר קען באַטראַכטן אַפּפּס וואָס נוצן מאָדולע פעדעריישאַן ענלעך צו APIs אלא ווי צו טיילן קאָד און טראַכטן וועגן "ביבליאָטעק."
אין דער זעלביקער שטייגער ווי זיי קענען אויך באַקומען פאַנגקשאַנאַליטי פון אנדערע אַפּפּס, וועב אַפּלאַקיישאַנז קענען איצט צושטעלן די פאַנגקשאַנאַליטי צו אנדערע אַפּלאַקיישאַנז.
ימפּרוווד דעוועלאָפּער דערפאַרונג בשעת פּראַזערווינג קליענט דערפאַרונג
קיין דזשאַוואַסקריפּט דעוועלאָפּער וועט זיין גאַנץ באַקוועם מיט מאָדולע פעדעריישאַן ווייַל עס איז אַ וועבפּאַקק פּלוגין וואָס איז צוטריטלעך פֿון וועבפּאַקק ווערסיע 5.
דאָס איז פאקטיש גאַנץ שטאַרק און ינטריגינג אויב מיר געבן עס עטלעכע געדאַנק.
דורך ניצן דריט-פּאַרטיי וועבפּאַקק לאָודערז, באַטראַכטן אַלע די קאַמפּאָונאַנץ וועבפּאַקק באַנדאַלז, אַרייַנגערעכנט סקריפּס, אַסעץ, סטיילז, בילדער, מאַרקדאַונז און מער.
דורך ניצן מאָדולע פעדעריישאַן, אַלע די קענען זיין שערד און פעדערייטיד.
מיקראָ-פראָנטענדס אַרבעטן אין אַ מאַנאַליטיק מאָדע.
עס איז גאַנץ גרינג צו לייגן שערד פאַנגקשאַנאַליטי צו דיין אַפּלאַקיישאַן; נאָר אַרייַנפיר דעם פּעקל ווי נאָרמאַל אָדער נוצן סינטשראָנאָוס לאָודינג.
אַלטערנאַטיוועלי, ייסינגקראַנאַס לאָודינג קענען זיין גענוצט בלויז צו מאַסע דיפּענדאַנסיז ווען נייטיק דורך ניצן פויל לאָודינג.
סאָף
אין דעם פּאָסטן, מיר האָבן דיסקאַסט מאָדולע פעדעריישאַן ווי אַ פאַנטאַסטיש ברירה פֿאַר דעוועלאָפּינג דיין מיקראָ-פראָנטענד אַפּלאַקיישאַן.
לאָזן אַפּפּס וועקסל און פאַרנוצן פאַנגקשאַנאַליטי אין רונטימע ינקעראַדזשאַז סקאַלאַביליטי דורך געבן פאַרשידן טימז צו אַרבעטן אויף פרייַ אַפּלאַקיישאַנז.
ווען די געוויינטלעך פאַנגקשאַנאַליטי ענדערונגען, איר וועט ניט דאַרפֿן צו פּלאַן און צעוויקלען דיין קאָנסומערס ווייַל עס שטיצט עווערגרין פאַנגקשאַנאַליטי.
דיין פּראָגראַם וועט פונקציאָנירן ווי אַ מאָנאָליט נאָך עס איז סעטאַפּ, וואָס איז פאַנטאַסטיש.
שאַרעאַבלע דיפּענדאַנסיז זענען געניצט צו רעדוצירן די גרייס פון אַפּפּס. זינט פילע דעוועלאָפּערס זענען שוין באַקאַנט מיט די וועבפּאַקק סוויווע, די דעוועלאָפּער דערפאַרונג איז ויסגעצייכנט.
לאָזן אַ ענטפֿערן