با سیگنالگو چندین برابر سریعتر و تمیزتر کد بزنید

جمعه 27 مهر 1397

سیگنالگو ابزاری قدرتمند با امکانات فراوان برای توسعه برنامه های تحت شبکه و اینترنت می باشد.با سیگنالگو بعد از ساخت اپلیکیشن سمت سرور میتوانید بدون یک خط کد سمت کلاینت برای Blazor و Angular و Asp.net MVC و Asp.net Core و C# Core مدل ها و سرویس هاتون رو بسازید و شروع به کد نویسی کنید.

سلام.

همیشه با خودم فکر میکردم کاش یه راه راحت تر و بهتری بود که برنامه نویسان مجبور نباشن کد های سمت سرور رو برای سمت کلاینت مجدد تکرار کنن، حتی یک خط کد اضافه روی اعصاب بود.بعد از این سیستم هایی اومد که در واقع باهاش میتونستید یک پروژه ی Share بسازید و بین کلاینت و سرور کدها و مدلهاتون رو Share کنید یا از ابزار هایی استفاده کنید که بنظرم بدی های خودش رو داره، اول اینکه کلاینت درگیر مدل هایی میشه که شاید اصلا نیازی نباشه ببینش، مثلا شما پروژه ی EF Core تون که توش مدل های دیتابیس هست رو با کلاینت شیر میکنید، خوب علاوه بر اینکه Context ها و Config هاتون شیر میشه Dependecy هاش هم شیر میشه، برنامه نویس اندروید یا IOS یا Blazor که سمت وب یا موبایل هست چرا باید Dependency از نوع EF Core داشته باشه در حالی که شاید اصلا نیاز نداشته باشه؟ خوب این خودش به نوعی کثیف کاری میشه، درگیر شدن کلاینت با دیدن خصیصه (Attribute) هایی نظیر Key و ForeignKey و غیره... یا برای سمت کلاینت اگر بخواید سیستم INotifyPropertyChanged رو پیاده سازی کنید جهت استفاده Binding ها مجبور میشید از ابزار های تزریق کد استفاده کنید که بزور به مدل ها زمان کامپایل یه سری تغییرات سمت کلاینت ایجاد کنند.حالا با این حال کسانی که انگولار و Type Script کار میکنن چیکار کنن؟ نمیتونن که از Dependency های سی شارپ استفاده کنن پس مجبور میشن مدل سازی کنن و کلی کد بزنن.اگر شما پروژه ای بزنید که فقط سی شارپ کارا ازش استفاده کنن یا قابل توسعه با زبان های دیگه نباشه در واقع شما نمیتونید یک شرکت بزرگ باشید، چون برنامه نویس های حرفه ای ممکنه هر زبانی بلد باشند و شما با اینکار نمیتونید از همه شون استفاده کنید پس همیشه دنبال برنامه نویس حرفه ای خاصی میگردید و این خودش همیشه از شما زمان خواهد گرفت.

خلاصه به دلایل خیلی زیاد که فقط من کمتر از ده درصدش رو در بالا ذکر کردم پروژه ی سیگنالگو تولید شد.این پروژه به شما اجازه میده علاوه بر اینکه بسیار سریع، دقیق و تمیز سمت سرور کد بزنید، هر چیزی که برای کلاینت لازمه رو بدون هیچ دستکاری و کد زدنی تولید کنه و کلاینت بدون هیچ کد زدنی تمامی سرویس ها، توابع و مدل ها و ... براش تولید میشه. اگر کلاینت سی شارپ کار باشه براش کد سی شارپ تولید میشه و اگر انگولار کار باشه براش کد و سرویس های مخصوص Angular تولید میشه.بنابراین کلاینت فقط درگیر کارای خودش میشه و براحتی میتونه توابع خودش رو صدا بزنه بدون اینکه همیشه درگیر تغییرات جدید سمت سرور باشه، هر بار که سرور تغییرات توی توابع و مدل هاش ایجاد کنه، برای کلاینت مجدد بروزرسانی شده و کدهاش ساخته میشه، پس بازم کلاینت درگیر تغییرات نمیشه.

علاوه بر همه ی اینها برنامه نویس سرور میتونه از ابزار SignalGo test که در بالا عکسش رو میبینید در قالب یک کلاینت کامل توابع و سرویس هاشو صدا بزنه بدون اینکه نیاز به وجود و یا برنامه نویسی یک کلاینت جدید باشه.

سیگنالگو قابلیت های خیلی خیلی زیادی داره که من فقط بخش کوچکی از راحتی کار شما برنامه نویسان رو اینجا آوردم، این پروژه ی بزرگ و متن باز (Open Source) حتی قابل مقایسه با SignalR و WCF نیست.چون علاوه بر اینکه برای همه ی پلتفرم ها قابل استفاده هست، بسیار سریع و قدرتمند با امکانات بی نهایت، به شما این اجازه رو میده براحتی کد بزنید و سریع تر از همیشه خروجی بگیرید و کمتر باگ بزنید. هرچه سریعتر شروع کنید با سیگنالگو کار کنید از برنامه نویسان دیگه جلوتر و سریعترید.من سیگنالگو رو تولید کردم و هر روز در حال توسعه ی اون هستم و هدفم جلوگیری از ایجاد کدهای تکراری و سریعتر شدن برنامه نویسان و ایجاد لایه های برنامه نویسی بسیار دقیق و خوانا و زیبا برای اپلیکیشن های خیلی بزرگ هست.

دسترسی به سورس سیگنالگو:

https://github.com/SignalGo/SignalGo-full-net

ابزار تست سیگنالگو:

https://github.com/SignalGo/SignalGoTest

افزونه ی کد جنرتور سیگنالگو برای ویژوال استادیو:

https://marketplace.visualstudio.com/items?itemName=AliVisualStudio.SignalGoExtension

سمپل ها و مثال ها:

https://github.com/SignalGo/signalgo-samples

aliyousefitelori

نویسنده 2 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 3 تشکر

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید