آموزش breeze

در این بخش می خوانید:

معرفی Breeze.js

Breeze.js یک کتابخانه جاوا اسکریپت سمت کلاینت است که داده های غنی را مدیریت می کند. اگر داده را در پایگاه داده ذخیره می کنید، آن داده را به عنوان گراف های آبجکت کوئری و سیو کرده و این گراف های آبجکت را در سراسر  چندین اسکرین کلاینت جاوااسکریپت به اشتراک می گذارید Breeze بسیار برای شما کارساز خواهد بود.

کاری که Breeze می تواند برای شما انجام دهد

در حال حاضر شما در فکر این هستید که Breeze چه چیزی را به ارمغان می آورد که نمی توانید به تنهایی انجام دهید. در حال حاضر شما در این فکر هستید که چرا باید برای یادگیری فناوری دیگری زحمت بکشید. در حال حاضر شما در این فکر هستید که آیا باید به خواندن این بخش ادامه دهید یا خیر. اگر چنین کنید، پشیمان نخواهید شد. Breeze برای وب اپلیکیشن غنی بسیار ارزشمند است.

ویژگی های BreezeJs

آیا Upshot را به خاطر می آورید؟

ممکن است کتابخانه ای را به یاد بیاورید که تیم ASP.NET مدتی پیش به نام Upshot.js تأسیس کرده بود. Upshot وعده های زیادی برای مدیریت داده های غنی داشت، اما به دلیل منابع حذف شد. این باعث شد که درها به سوی Breeze باز شوند.  Breeze کارهای کاملی انجام می دهد، از جمله قابل مشاهده بودن تمام ویژگی های موجودیت (برای Knockout) ، اما برای این پست اجازه دهید روی ویژگی های زیر تمرکز کنیم زیرا آنها به اندازه کافی اثبات شده اند که باید آن را جدی بگیرید.

  • کش کردن و اشتراک گذاری
  • کوئری های ساده
  • گراف های آبجکت
  • کار با Knockout و Angular
  • پشتیبانی با لایسنس MIT

کش کردن و اشتراک گذاری

فرض کنید شما برنامه ای با داده customer دارید. ممکن است اطلاعات customer را در مورد نماهایی برای لیست مشتریان، جزئیات مشتری، سفارشات، فروش، گزارشات و موارد دیگر نشان دهید. اگر نام مشتری یا اطلاعات دیگر را در یک view تغییر دهید، انتظار دارید در سراسر برنامه اعمال شود. اگر داده customer را در هر viewmodel دریافت کرده و جداگانه ذخیره کنید، مشکل ساز می گردد. مطمئناً می توانید از رویدادها برای برقراری ارتباط با همه آنها استفاده کنید، اما سپس این داده مشتری را در چندین مکان ذخیره می شوند.

Breeze کمک می کند تا داده مشتری را برای اولین بار که دریافت می کنید ذخیره کنید. سپس وقتی به view دیگری می روید که به آن داده ها نیاز دارد، Breeze آن را ارائه می دهد. با قرار دادن همه اینها در datacontext، شما یک مکان برای جستجوی داده های خود دارید. اگر مشتری را به روز کنید، Breeze  یک نسخه از آن را دارد و همه مکان هایی که در آنجا قرار دارند به روز می شوند. به همین راحتی!

کوئری های ساده

یک کتابخانه ارزشمند نیست مگر اینکه بتوانید به راحتی از آن استفاده کنید. چه کسی می خواهد از کتابخانه ای پیچیده استفاده کند؟ کلمات نمی توانند بگویند که کار با Breeze چقدر آسان است.

var query = breeze.EntityQuery

           .from("Customers")

           .where("CompanyName", "startsWith", "A")

           .orderBy("CompanyName");

var promise = manager.executeQuery(query)


.then(querySucceeded)


.fail(queryFailed);

این کد یک کوئری ایجاد می کند که مشتریانی را که نام شرکت آنها با حرف A شروع می شود دریافت می کند و آنها را با نام شرکت مرتب می کند. سپس کوئری در برابر سرویس داده از راه دور اجرا می شود و داده ها از طریق promise باز می گردند.

گراف های آبجکت

برنامه های واقعی از گراف های آبجکت یا object graphs استفاده می کنند. برنامه های واقعی باید بین entities در نمودار شی (هر دو parent-child  و child-parent) ناوبری کنند. برنامه های واقعی می توانند سخت باشند. Breeze می تواند می تواند گراف های آبجکت را بازیابی کرده و ناوبری در روابط آنها را آسان سازد. شما می توانید در صورت تمایل به راحتی از مشتری به سمت یکی از سفارشات وی رفته و جزئیات یک سفارش را ببینید و برگردید.

یک نمودار کامل را در یک فراخوانی بگیرید یا فقط سطح بالا را دریافت کنید. به هر چیزی که نیاز دارید تا بتوانید قسمتی از نمودارها یا کل شیء را در صورت نیاز دریافت کنید.  Breeze به شما امکان می دهد اشیایی را که در فراخوانی های جداگانه بازیابی کرده اید نیز به مشتری متصل کنید. برای مثال ، لیستی از اشیاء فروشندگان (برای مشتریان) تهیه کنید. Breeze می تواند entities افراد فروشنده را کش کند. سپس لیستی از مشتریان و سفارشات آنها را دریافت کنید و Breeze نیز آنها را ذخیره می کند. Breeze همچنین می بیند که اشیاء مشتری یک فروشنده دارد. ما قبلاً افراد فروش را در حافظه پنهان یا کش داریم، بنابراین Breeze می تواند entities را به هم متصل می کند و به شما امکان می دهد بین آنها ناوبری کنید. بنابراین همانطور که داده ها را دریافت می کنید Breeze آنها را در کش آن متصل کنید.

کار با Knockout و  Angular

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

پشتیبانی با لایسنس MIT

آیا می خواهید کسی پشتیبان شما باشد؟ افرادی که Breeze را تولید می کنند دارای مجوز MIT هستند. آنها همچنین خدمات پشتیبانی و مشاوره ای را برای ایجاد SPA با Breeze با استفاده از فناوری هایی مانند Durandal ، Knockout ، Backbone و Angular ارائه می دهند.

نظرتون درباره این نوشته چیه؟ عالیه بد نیست خوب نبود