گفتگوی گروهی از متخصصان صنعت نرم افزار در کانادا: صائب پناهی فر، طلیعه دوانی، شریف یزدیان، محمد نادی، مهدی شکوهی، آرش گودرزی و محمد امین فرد
طلیعه دوانی: فریم ورک ها چارچوب و ساختارهای کد نویسی هستند که به صورت مجموعه ای از کد ها وابزار هایی ارائه شده اند که تنها یک هدف دارند برنامه نویسی را برای برنامه نویسان راحت تر و سریعتر کنند
فریمورک ها کمک می کنند که ما کد نویسی سریعتر، بهتر، منظم تر و با تمرکز بیشتری داشته باشیم
یکی از مهمترین نکات درباره کاربرد فریمورک ها این هست که کمک می کنه چرخ را از اول اختراع نکنیم
امکانات بسیار زیادی از قبل تهیه و برنامه ریزی شده که باعث میشه ما کارهای روتین و ابتدایی یک پروژه را گذر کنیم مستقیم سراغ کارهای اصلی پروه بریم و روی خود پروژه تمرکز کنیم
در این اپیزود به مبانی، مزایا و معایب چارچوب های نرم افزاری می پردازیم
مهدی شکوهی: در فریمورک ها بخش های تکرار شونده را در اپلیکیشن ها استفاده می کنیم
مثال ساخت sign up و sign in
الان Django محبوب ترین فریمورک زبان پایتون هست
جنگو یک فول استک فریمورک هست که هم Backend و هم frontend هست
حتی پنل مدیریت ادمین هم وجود دارد، دیتابیس را می سازد و پنل ادمین میدهد
پلاگین های مختلف هم داره
نمونه ای از فریمورک های جاوا اسکریپت مثل Sencha
– فریم ورکی هست به اسم flask که یک ماکروفریمورک هست برای توسعه API ها استفاده می شود و داکیونت براش زیاد هست
اگر چه میشه باهاش یک وب اپلیکیشن درست کرد مثل FastAPI که بسیار سریع هست Asynchronized
صائب:
چرا چارچوب بوجود آمدند؟
هر چارچوبی برای هدفی ساخته شده
چارچوب هایی ساخته می شود سریعتر به هدفش برسه
کپسوله سازی انجام میده
جلوگیری از تکرار کد می کند
entity framework
xamarin, react native
چارچوب ها باید ساده یاشند
برای فریم ورک به پلتفرم سیستم عامل وابسته نباشد
Cross platform
integirity: این فریمورک به په فریمورک های دیگری می تواند یکپارچه شود
native script یک فریمورکی هست که زبان اصلیش جاوا اسکریپت هست که می تواند با Angular , react vue.js یکپارچه شود
native script angular
native
مثال کار برای شرکت logistic trucks
وقتی که موبایل اپی می نویسیم که با چند فریمورک مختلف بخواهد کار کند نمی تواند بهینه باشد
angular , cordova for android and ios
frame work
asp.net
application framework
بدون اینکه کد ها را تغییر بدیم میتونیم
3layer – cqrs – microservices
دولپر
معایب استفاده از فریم ورک ها
روبوت فریم ورک خیلی ساده به گونه ای keyboard base framework هست
برنامه نویس ها محدود می شوند
ترکیبی شاید بتوان کار کرد
سلنیوم ، ریکویست، فلسک
اگر فریم ورک جدید باشد ، ممکته منابع براش نباشد
وردپرس
لاراول
معایب
وابستگی شاید عیب نباشد
دوتا موضوع در اپلیکیشن ها اتفاق می افتد
توسعه فریم ورک درباره اپلیکیشن ها ممکن است متوقف شود
فریم ورک هایی که مشکل امنیتی داشته باشند آسیب پذیر می شوند
آینده Software development
migration به سمت microservices
آرش گودرزی:
سلنیوم
وقتی با نرم افزار ها کار نکنیم
مثلا در سلنیوم از اسکرپینگ استفاده کنیم
روندی که در فریم ورک ها:
کمپانی های بزرگ فریم ورک های
ef core 6 چند برابر سریعتر از ef core 5 است
dapper را کنار می گذارد
بعضی از فریم ورک ها تست هاشون با خودشون تولید میشه
Jest vs Mocha vs Jasmine
design pattern
از هر فریم ورک انتظاری داریم
performance
test frame work انتظار نداریم که extend کنیم
در asp.net می توانیم extend کنیم