Ք. Ողջու՜յն! Կարո՞ղ եք նշել ձեր անունը, ինչ եք անում և/կամ ինչ է անում ձեր ընկերությունը:

Ա. «open-wc (Open Web Components)» կամավոր մշակողների բաց կոլեկտիվ է, որը հետաքրքրված է վեբ բաղադրիչներով և ընդհանրապես վեբ հարթակով: Անցյալ տարեվերջին մենք համախմբվեցինք գաղափարով՝ հրապարակելու համայնքից ստացված որոշ առաջարկություններ և գործիքներ՝ վեբ բաղադրիչներով հավելվածներ ստեղծելու համար: Մինչ այժմ մենք հրապարակել ենք գեներատորներ, փորձարկման շրջանակ և բազմաթիվ փաստաթղթեր:

Ինչպե՞ս է անցնում ձեր օրը:

@bennyp: Շատ լավ, շնորհակալություն: Ճաշի համար իսկապես հաճելի հումուս ունեի: Դու՞

@dakmor. Զբաղված է, բայց բաց կոդով շարժիչը և համայնքը ինձ մոտիվացված են պահում :)

@lars. LitElement 2.0-ի թողարկմամբ ես չեմ կարծում, որ իմ օրը կարող է ավելի լավը դառնալ :)

@passle: Գերազանց, շնորհակալություն, շատ արդյունավետ օր:

Պատմիր ինձ քո ընկերությունում npm-ի պատմությունը: Կոնկրետ ի՞նչ խնդիր եք լուծել այդ npm-ը

Մեզ անհրաժեշտ էր միջոց՝ մեր բոլոր գործիքները, կոնֆիգուրացիաները և առաջարկությունները հասանելի դարձնելու համար frontend համայնքին, և քանի որ հիմնականում այդ շրջանակում բոլորն արդեն ունեն npm, դա կատարյալ տեղավորվում էր: npm-ի օգտագործումը նաև հնարավորություն է տալիս մեզ հասանելի դարձնել համայնքի կողմից արտադրված հսկայական քանակությամբ նյութեր, որոնք մենք կարող ենք մշակել և կլանել ըստ անհրաժեշտության, և այնպիսի գործիքներ, ինչպիսին է Lerna-ն, որն օգնեց մեզ հեշտությամբ հասնել լիարժեք շարունակական ինտեգրման:

Մարդկանց, ովքեր վստահ չեն, թե ինչի համար կարող են օգտագործել npm. ինչպե՞ս կբացատրեք օգտագործման դեպքը:

Մեզ համար մենք օգտագործում ենք npm երկու բանի համար.

1. Համայնքային փաթեթների ձեռքբերում մեր ներքին գործընթացներում օգտագործելու, ինչպես նաև մեր փաթեթների ներսում վերաբաշխման համար

2. Հրատարակել մեր գործիքները, գրադարանները, կազմաձևերը և գեներատորները, որպեսզի համայնքը կարողանա օգուտ քաղել:

Մենք սիրում ենք #1, բայց մենք հատկապես շնորհակալ ենք #2-ի համար:

Ինչպիսի՞ն է npm-ի օգտագործման ամենօրյա փորձը:

Մենք վերևում նշեցինք որոշ հիանալի բաներ, որոնք npm-ը բերում է սեղանին. այնուամենայնիվ, npm-ի դեպքում մենք նաև բախվում ենք առջևի ծածկագրի հատուկ մարտահրավերներին: Օրինակ, ներկայումս չկա հուսալի միջոց՝ համոզվելու համար, որ որոշակի փաթեթը եզակի է ձեր կախվածության գրաֆիկում, ինչը դժվար պահանջ է ցանկացած մոդուլի համար, որը հենվում է գլոբալ վիճակի վրա. Սա սովորական երևույթ է մեր ամենօրյա աշխատանքային գործընթացում, և մենք ոգևորված ենք, որ շուտով մեր ձեռքերում կլինեն singleton RFC-ի նման լուծումներ:

Այսպիսով, այս պահին դա դեռ կարող է լինել շատ ձեռքի աշխատանք կամ լրացուցիչ պլագիններ մեր կառուցման գործիքների համար: Այնուամենայնիվ, նույնիսկ այս դժվարությունների դեպքում, npm-ի օգտագործումն արժե մեզ համար: Միայն օգտակար գործիքների քանակությունը (օրինակ՝ «lerna», «eslint», «prettier»,…), որ մենք ինքներս ենք օգտագործում, արժե այն, նույնիսկ նախքան մեր սեփական փաթեթները հրապարակելու մասին խոսելը:

Շատ անմիջական մակարդակով մենք նաև օգտագործում ենք «npm» հրամանը *անընդհատ*, երբ աշխատում ենք մեր փաթեթների վրա. սա հիանալի առաջադրանք է թեստերի, CI/CD-ի, linting-ի, commit-validation-ի և ամենատարբեր այլ ամենօրյա աշխատանքների համար: օրվա առաջադրանքներ. Մենք բարձր խորհուրդ ենք տալիս, որ ավելի շատ ծրագրավորողներ սկսեն օգտագործել npm այդ կերպ:

Խորհուրդ կտա՞ք, որ մեկ այլ կազմակերպություն կամ ընկերություն օգտագործի npm և ինչու:

Հատկապես նորաստեղծ ընկերությունների համար, որտեղ թռիչքուղին իսկապես կարևոր է, շատ օգտակար է մուտք ունենալ համայնքի այս հիանալի ծածկագիրը: Մենք վստահ ենք, որ 2019 թվականին npm-ում փաթեթների քանակի մեծ աճ կլինի, որոնք աջակցում են բրաուզերի վրա կենտրոնացած աշխատանքային հոսքերը front-end-ի համար, և մենք իսկապես ոգևորված ենք լինել դրա մի մասը:

«open-wc»-ում մենք բավականաչափ պրագմատիկ ենք՝ առաջարկելու խորհուրդներ և առաջարկություններ, որոնք հիմնված են միայն Node-ի գործիքավորման վրա, բայց մենք դեռ անհամբեր սպասում ենք այն օրվան, երբ բրաուզերն ինքն ավելի լայնորեն ընդունվի որպես զարգացման գործարկման ժամանակ: Մենք կարծում ենք, որ այդ օրը շատ շուտով կգա, և մենք ոգևորված ենք տեսնելով, որ npm գրանցամատյանը զարգանում է այդ ուղղությամբ:

Ձեր ընկերությունը հրապարակայնորեն արել է որևէ հետաքրքիր npm-ի գործ, որը դուք կցանկանայիք գովազդել:

Ստուգեք մեր փաթեթները:

generator-open-wc» — Վեբ բաղադրիչի նախագծի գեներատոր yo:open-wc

@open-wc/testing» — Փորձարկեք օգնականներ ձեր վեբ բաղադրիչի նախագծի համար

owc-dev-server՝ պարզ վեբ սերվեր պարզ վեբ մշակողների համար: Այն կատարում է ժամանակակից վեբ բրաուզերների վրա վեբ մշակման համար պահանջվող նվազագույն աշխատանքը:

…. և կա ավելին :)

Բոլոր առնչվող փաստաթղթերը կարող եք գտնել http://npmjs.com կամ https://open-wc.org/ կայքում: