وب اپلیکیشن

من یک مهندس فناوری اطلاعات هستم که علاقه زیادی به دنیای فناوری اطلاعات، برنامه نویسی، امنیت و شبکه دارم.

جاوا اسکریپت را فراموش کنید! eBay چگونه با تغییر زبان برنامه نویسی وب اپلیکیشن خود را 50 بار سریع تر کرد؟

۵۳۱ بازديد
eBay آنلاین بازار نشان داده است که چگونه با استفاده از WebAssembly عملکرد یک برنامه وب خواستار 50 برابر شده است.

سرعت "شگفت آور" پس از تعویض از یک مبتنی بر جاوا اسکریپت به یک برنامه وب مبتنی بر WebAssembly عمدتا توسط تیم مهندسی eBay مشخص شد که بیانگر آن است که افزایش کارایی باعث ساخت اسکنر بارکد بسیار دقیق به عنوان وب شد برنامه

با جمع آوری کد به WebAssembly، توسعه دهندگان می توانند برنامه هایی را ایجاد کنند که در مرورگر وب به طور مرتب با کارایی بالا کار می کنند، شبیه آنچه که توسط برنامه های بومی ارائه شده است.


eBay علاقه مند به بهره برداری از این عملکرد برای یک نسخه وب از اسکنر بارکد خود، یک ویژگی است که در برنامه های آندروید و iOS خود را ارائه می دهد اجازه می دهد تا فروشندگان اسکن موارد آنها حراج.

"WebAssembly متفاوت بود. این پتانسیل فوق العاده ای داشت، ما فقط مورد استفاده درست را نداشتیم. خوب، که اخیرا تغییر کرد،" تیم مهندسی نرم افزار eBay را بنویسید.

یکی از مزایای WebAssembly (Wasm) این است که قابلیت حمل کد را برای انواع زبان ارائه می دهد، به توسعه دهندگان اجازه می دهد کد خود را برای دیگر سیستم عامل ها و کامپایل شدن به WebAssembly به طوری که می تواند در مرورگرهای وب بزرگ اجرا شود.

در نتیجه، eBay توانست نسخه فعلی اسکنر بارکد خود را که در C ++ نوشته شده بود را در اختیار بگیرد و آن را به Wasm با استفاده از Emscripten بسپارد، و روش Docker و Node.js را که در اینجا معرفی شده است، در اختیار دارد.

پس از چند مشکل جزئی، تیم eBay قادر به اجرای اسکنر بارکد در مرورگر، با استفاده از یک thread Worker و کد چسباندن جاوااسکریپت بود.

اسکنر مبتنی بر Wasm قادر به پردازش تصاویر بارکد در 50 فریم در ثانیه (FPS) بود، در مقایسه با حدود 1FPS در یک اسکنر مبتنی بر جاوا اسکریپت قدیمی که eBay آزمایش کرده بود، سرعت بخشیدن به تیم را "شگفت آور" توصیف کرد.

مشکل اسکنر مبتنی بر Wasm هنوز در 40٪ موارد قادر به شناسایی بارکد نیست.

تیم ابتدا گیج شده بود چرا که همان C ++ کد که در حدود 100٪ از موارد کار می کرد وقتی که کامپایل شده به کد بومی برای آندروید و برنامه های iOS شکست خورد زمانی که وارد Wasm برای اجرا در مرورگر. در نهایت ظهور کرد که این برنامه های بومی قادر به حل مشکلات با کیفیت تصویر با استفاده از API های خاص پلت فرم است که اجازه می دهد برای فوکوس اتوماتیک و سایر ویژگی ها.

راه حل eBay برای اجرای چندین اسکنر بارکد همراه با یکدیگر در مرورگر بود: اسکنر مبتنی بر Wasm خود، اسکنر بارکد ZBar منبع باز منبع و Wasm و اسکنر اصلی مبتنی بر جاوا اسکریپت است.

فقط با اجرای تمام سه طرفه در موضوعات جداگانه وب کارگر و هر تلاش برای خواندن بارکد، برنامه وب اسکنر قادر به مدیریت نزدیک به 100٪ از بارکد ها بود.

"به تعجب ما، با سه موضوع مسابقه با یکدیگر، میزان موفقیت در واقع نزدیک به 100٪ بود. این دوباره کاملا غیر منتظره بود،" تیم را بنویسید.

"جاوا اسکریپت در سناریوهای خاص خیلی خوب عمل کرد، و این عامل به نظر می رسید شکاف را خنثی کند. بنابراین بله، همیشه در جاوا اسکریپت شرط می بندم."

در آزمایش ZBar به 53٪ از اسکنهای موفق کمک کرد، به دنبال اسکنر C ++ سفارشی eBay با 34٪ و در نهایت کتابخانه جاوا اسکریپت با 13٪.

اسکنر بارکد نهایی مبتنی بر وب نیز در طول آزمایش A / B موفق به کسب و کار شد و منجر به افزایش 30 درصدی کاربران eBay شد که لیست پرونده را برای حراج در سایت تکمیل کردند.

"فناوری به سرعت در حال پیشرفت است. هر روز ما می شنویم چیزهای جدیدی که راه اندازی می شود، اما فقط چند مشتری را به یکدیگر متصل می کنند و WebAssembly یکی از آنهاست" تیم را بنویسید.

فریم ورک .NET در حال نابودی است، سراغ .NET5 بروید

۵۳۲ بازديد
ممکن است مایکروسافتآن را با صدای بلند اعلام نکرده، اما در طول چند سال گذشته، دات نت فریم ورک پیشرفته تر شده است. با توجه به غول نرم افزاری که بیشتر توجه خود را به ساخت دات نت هسته سریع تر و با کیفیت تر انجام می دهد، سلف دیرپای آن به آرامی نادیده گرفته شده است و تنها در حال حاضر تغییرات کوچکتری را دریافت می کند.

در حالی که برخی معتقدند که دات نت چارچوب مرده نیست و تنها چارچوب در خانواده مایکروسافت در دات نت برای پشتیبانی از برنامه های دسکتاپ، تنها زمانی بود که برادر کوچکترش آماده بود آن را جایگزین کند. و به نظر می رسد که این اتفاق می افتد (در نهایت) این تابستان، هنگامی که. NET Core 3.0 راه اندازی می شود. بنابراین، در حال حاضر، مایکروسافت توسعهدهنده ها را برای اجتناب ناپذیر ترجیح می دهد. - دات نت چارچوب در واقع برای پرورش داده خواهد شد.
با انتشار هسته 3.0 .NET در سپتامبر 2019، ما فکر می کنیم که همه برنامه های کاربردی * .NET * جدید باید بر پایه هسته .NET باشد. انواع اولیه برنامه از .NET Framework پشتیبانی می شوند و جایی که ما چیزی را روی آن پورت نمی کنیم مایکروسافت می گوید: سرمایه گذاری های آینده در دات نت در دات نت هست. ".NET Framework 4.8 آخرین نسخه اصلی دات نت فریم ورک خواهد بود."

در حالت معمولی مایکروسافت، در حقیقت به خوبی از بین نخواهد رفت، زیرا غول نرم افزاری برای چندین سال به پشتیبانی از دات نت فریم ورک ادامه خواهد داد. چارچوب ستون فقرات بسیاری از برنامه های کاربردی مهم، به ویژه در بازار سازمانی است. این همچنین پایه گذاری ویژوال استودیو، IDE که مایکروسافت به توسعه دهندگان .NET Framework و .NET Core ارائه می دهد و "بسیاری از ویندوز" - و آخرین بخش این است که چرا آن را ادامه خواهد داد تا در برخی از زمان ها در پس زمینه زندگی می کنند - حداقل تا زمانی که مایکروسافت بتواند از آن دور شود.

آنچه که اتفاق می افتد پیش می رود بسیار جالب است، زیرا بعد از اینکه دات نت هسته 3.0 نمی شود، دات نت هسته 4.0، بلکه دات نت 5. بله، مایکروسافت یک تغییر دیگر در اکوسیستم ایجاد می کند و روشن می کند که فقط وجود خواهد داشت یک چارچوب دات نت برای همه در برنامه های آینده استفاده کنید. و اگر شما بدانید که چرا آن را به نام دات نت 4 نیست، خوب است، به همین دلیل است که آن را خیلی مشابه با دات نت فریم ورک 4 نام، که در حدود چند سال است که در اطراف وجود دارد.

مایکروسافت اعلام کرده است که انتشار آن در اواخر سال 2020 میلادی خواهد بود و با تغییرات فراوانی روبرو خواهد شد. به عنوان تکامل هسته دات نت، دات نت 5 به طور متقابل پلتفرمی خواهد بود و آنچه را که از دات نت هسته 3.0 ارائه می دهد، ارائه می دهد، بلکه بهتر برای اینترنت اشیاء و توسعه پلتفرم های موبایل مناسب است.

مایکروسافت به یک چرخه انتشار سالانه حرکت خواهد کرد، تا کارها برای برنامه نویسان قابل پیش بینی باشد. در صورت لزوم، نسخه های کوچکتر به احتمال زیاد در صورت نیاز عرضه خواهند شد و نسخه های بزرگ عجیب LTS (پشتیبانی طولانی مدت) درمان خواهند شد. در حال حاضر انتشار LTS در خانواده هسته Core نسخه 2.1 است. هسته بعدی 3.1 هست که قرار است در ماه نوامبر عرضه شود. یکی پس از آن خواهد شد. دات نت هسته 6، انتظار می رود که دو سال پس از آن، در نوامبر 2021 می رسد.

هنوز در این مرحله هنوز مشخص نیست که چگونه همه چیز برای توسعه دهندگان دات نت تغییر خواهد کرد، اما زمان زیادی برای مایکروسافت وجود دارد که چیزها را روشن کند، بازخورد را در مورد تغییرات زیادی که در نظر دارد معرفی کند و بهترین راه ها را بدست آورند ادامه دادند برای یک، به نظر می رسد یک حرکت طولانی مدت است. بله، ممکن است برخی از پرها را خراب کند، اما مزایایی که مایکروسافت وعده داده و امکاناتی که دات نت 5 باید ارائه دهد، باید آن را انتخاب خوبی برای توسعه دهندگان کند.