احتمالا نمیدونین kiwi چیه ... در بهترین حالت به فکر یه میوه ی موکتیه خوشمزه یا یه پرنده که نمیتونه پرواز کنه افتادین ... البته این kiwi ما خیلی بی ربط با پرواز نیست . شرکت kiwi.com یه شرکت فروش بلیط هواپیما هست که دولوپرهاش رو خیلی دوست داره و تا جایی که من فهمیدم عاشق پایتون و ریاکته .
مدت کوتاهیه که این شرکت تصمیم گرفته کامپوننت هایی که ازش برای ساخت وبسایتش استفاده کرده رو به صورت یه دیزاین سیستم دربیاره و اپن سورس منتشرشون کنه. کارشون چند تا ویژگی داره که من خیلی خوشم اومده ازش .
اول از همه این که از styled-components استفاده میکنن و برای استفاده ازش باید styled-components رو نصب کنیم که خب ما هم داریم از همین استفاده میکنیم .
دوم این که نحوه ی کد نویسیش به نحوی هست که میشه خیلی راحت توسعه ش داد و اگه داخل سورسش بگردین میبینین که کار عجیبی نکرده و همه چی خیلی سر راست و قابل فهمه
سوم این که به اون حالت اتمیک دیزاین ما خیلی نزدیکه و عملا هر کدوم از کامپوننت هاش یه اتم حساب میشه برای ما
چهارم این که شاید بگید کامیونیتی قوی نداره ولی kiwi نیومده تکنولوژی جدیدی معرفی کنه و داره فقط برای styled-component کامپوننت های پایه رو میسازه که خب خود styled-component به قدر کافی کامیونیتی داره که خیالمون راحت باشه و به این هم باید توجه کنیم که این پروژه ی kiwi خیلی جدیده و هنوز به ریلیز 1.0.0 نرسیده . تیم توسعه ش که عملا کارمندای شرکت kiwi هستن دارن هر روز روش کار میکنن و تقریبا هفته ای 3 تا ریلیز جدید میدن . خوبیش اینه که برنامه ی مشخصی برای توسعه دارند که از اینجا میتونین ببینین. طبف این برنامه تا دو ماه دیگه ورژن 1.0.0 ریلیز میشه.
پنجم این که kiwi هم برای React و هم برای React Native در حال توسعه هست . در کل اینجوریه که اینا اول کامپوننت رو توو sketch دیزاین میکنن .بعد نسخه ی React رو میدن و بعد نسخه ی React Native . وضعیت کامپوننت های منتشر شده هم از اینجا قابل مشاهده هست.میشه قسنگ دید هر کامپوننت الان در چه وضعی هست و تا کی باید منتظر بمونیم تا بیاد .میشه گفت دیگه تقریبا همه ی کامپوننت های اصلی آماده شده و کم کم میریم برای ریلیز 1.0.0
ششم این که kiwi رو با flow نوشتن . که خب برای یه عده مزیت محسوب میشه و برای ما که پروژه مون تایپ اسکریپته خیلی خبر خوشحال کننده ای نیست. یه ایشو بهشون زدم و گفتن که توو برنامه شونه که خیلی زود تایپ ها رو هم منتشر کنن .بنابراین خیلی بی تایپ نمیمونیم . البته ما چون حال صبر کردن نداشتیم کل پروژه رو کلون کردیم و بردیمش روی تایپ اسکریپت با این خیال که از اینجا به بعدش رو خودمون توسعه میدیم ...ولی سرعت توسعه ی تیم kiwi اونقدر بالا بود که با خودم گفتم توو این پروژه بیخیال اون کلون بشم و kiwi رو از ریپوی خودش نصب کنیم و امیدوار باشیم تایپ ها زودتر برسه.
هفتم این که همه ی کامپوننت ها تست داره و براشون storybook هم نوشته شده .کلا این پروژه حال میده برای این که کلون کنی و برای خودت یه اتمیک دیزاین شخصی باحال درست کنی ..میتونین استوری بوکش رو از لینک پایین ببینین. اگه خود سایت kiwi.com رو هم دیده باشین میبینین که کاملا همونه
هشتم این که از rtl پشتیبانی میکنه ... شاید بعضی جاها هنوز مشکل داشته باشه ولی چیزی نیست که نشه حلش کرد و در کل داخل تم گزینه ی rtl دیده شده و یه util برای rtl render داره .
نهم این که بعضی از کامپوننت های قدیمیشون هنوز به صورت کلاس نوشته شدن ولی جدید هارو فانکشنال نوشتن . بهشون ایشو زدم و گفتن که کنم کم قدیمیا رو هم فانکشنال مینویسن
یه توکن دیزاین برای تم هم داره که اونم سخت در دست توسعه و بهبود هست .. قابلیت ترجمه هم براش گذاشتن که من نیاز نداشتم و توی کلون خودم پاکش کردم ولی اینجا هست دیگه ...در کل همه چیزش خیلی برام دوست داشتنیه و نکته ی دیگه ای فعلا یادم نمیاد ...بریم که کل اتم های مورد نیاز پروژه مون رو با یه حرکت بسازیم .
یادم رفت صفحه ی اصلی داکیومنتش رو معرفی کنم...اینه
خب برای نصبش اینو میزنیم
npm install @kiwicom/orbit-components
شت ...نصب شد ولی بدون تایپ اسکریپت عملا نمیشه باهاش کار کرد :|
مشکل استفاده نداره ها ولی نمیدونی کدوم کامپوننت چه پراپ هایی میگیره و همش باید تب داکیومنت باز باشه.
مثلا کامپوننت Text رو بخوای استفاده کنی یه همچین چیزی میشه. من از پراپ های element , size, type,weight استفاده کردم
اینا رو چون تایپ نداریم موقع وارد کردن هیچ هینتی بهم نداد ولی توی داکیومنتش همچین چیزی داره
یه راهش اینه که منتظر بمونیم خودشون تایپ بنویسن و تا اون موقع با داکیومنتش بریم جلو ..یه راهم اینه که اون کلون دست و پا شکسته مون رو فعلا بیاریم داخل و بعدن که تایپ ها رسید با این جایگزینش کنیم.هومممم.یا که اصن پروژه مون رو ببریم روو فلو...اصن همزمان میشه فلو و تایپ اسکریپت فعال باشه؟
زودی بر میگردم