اولین تجربه با NancyFx

شنبه, 27 مرداد 1397
ASP.NET NancyFX

چند وقت بود که در مورد فریم ورک Nancy شنیده بودم ولی باهاش کار نکرده بودم.

Nancy یک فریم ورک وب متن باز برای میحط .Net هست که بجای ASP.NET MVC میشه ازش استفاده کرد. به قول خودشون سبکه و از فریم ورک سیناترا روبی الهام گرفتند. البته من با روبی کار نکردم تا حالا ولی سبک routing شبیه ExpressJS هست و حتی من رو یاد Flask در پایتون اداخت انداخت.

به هر حال فرصتی شد که توی یک پروژه ازش استفاده کنم. این پروژه در حقیقت یک ابزار ساده شخصی هست و کارش دانلود دانلود عکسها و ویدیوها از اینستاگرامه.

می تونید url پست مورد نظر رو بهش بدید و برنامه صفحه مخورد نظر رو میخونه و فایلهای عکس و فیلم رو از داخل HTML مربوطه بیرون میکشه و برای دانلود بهتون نشون میده.

اگر پست مروبطه private باشه طبیعیه که برنامه نمینوته مستقیم صفحه مورد نظتون رو بخونه (چون لاگین نمی کنه) بینابراین می تونید در مرورگر وبتون لاگین کنید و سورس کد HTML پست مورد نظر رو توی این ابزار بزارید و بعدش دیگه مثل حالت قبلیه.

اسمش رو هم گذاشتم Instractor که مخفف Instagram Extractor هست :) و می تونید از آدرس instractor.farzanhajian.com بهش دسترسی داشته باشید.

در کل تجریه جالبی بود و از Nancy خوشم اومد. کلا یک module تعریف کردم و سه تا view به اضافه چند تا partial view و یک master view. روش routing از خود ASP.NET ساده تره به نظرم. یک view engine هم خودش داره به نام SuperSimpleViewEngine یا SSVE که ساده تر از Razor هست ولی چیزهای اساسی رو داره و تنها محدودیتی که من بهش برخوردم عدم پیشتیبانی از nested block که مثلا نمیتونید if block داخلی foreach block داشته باشید مثل این چیزها.

برای دور زدن این محدودیت باید از partial view استفاده کنید به این صورت که بلاک داخلی رو داخل یک partial view بزارید و بلاک بیرونی فقط یک partial view رو ببینه.

البته اگه بخواهید میتونید از Razor هم توی پروژه های nancy استفاده کنید و کلا این داستانها رو بیخیال بشید.

در آخر این که بد نیست حواستون باشه یک همچین ابزاری هم هست که میتونید در پروژه های آینده استفاده کنید. آدرس پروژه هم اینجا هست.

Top