فریم ورک چه چیزی است و چرا برای برنامه نویسی به آن احتیاج داریم؟ چه تاثیراتی بر اپلیکیشن ما خواهند داشت؟ اگر شما هم مثل من برای شروع برنامه نویسی از دوستتان که دانشجو ی نرم افزار است سوال کرده باشید، یکی از کلمه هایی که آن را زیاد میشنوید framework خواهد بود. برای آشنایی کامل با فریم ورک با برنامه چی همراه باشید. (منبع نوشته: Developer-Interview)
این مقاله دارای قسمت های زیر است:
معنی framework چیست؟
framework به چه دردی میخورد؟
چه معماری هایی برای framework های اندروید وجود دارند؟
MVC
MVP
MVVM
چه تاثیراتی بر روی اپلیکیشن ما دارد؟
معروف ترین framework های اندروید چه چیزهایی هستند؟
معنی فریم ورک چیست؟
معنی دقیق Frame Work به زبان فارسی میشود چهارچوب کاری. فریم ورک ها در همه ی کارها وجود دارند و ما در این مقاله قصد داریم frameworkهای برنامه نویسی، و به خصوص برنامه نویسی اندروید را بررسی کنیم. framework هایی که در علم برنامه نویسی با آنها روبرو میشویم مجموعه ای از قوانین و کتابخانه های مخصوص آن زبان هستند.
برای برنامه نویسی اندروید، معمولا ما از فریم ورک ماشین مجازی جاوا استفاده میکنیم. (آموزش نصب ماشین مجازی جاوا، JVM، را میتوانید در دوره ی رایگان سایت برنامه چی ببینید. برای ثبت نام در این دوره اینجا کلیک کنید).
فریم ورک به چه دردی میخورد؟
فریم ورک یک چهار چوب کلی برای ساخت برنامه در اختیار ما قرار میدهد. به عنوان مثال وقتی برنامه ای را به زبان جاوا یا کاتلین برای اندروید میسازیم، نیاز است که بتوان این برنامه را روی سیستم عامل (یعنی اندروید) اجرا کرد. به همین دلیل اپلیکیشن ما باید از یک سری قوانین و قاعده ها تبعیت کند که مشکلی برای اجرا نداشته باشد.
این قوانین به نام framework شناخته میشوند. به زبان ساده تر framework ها یک واسطه میان برنامه و سیستم عامل به حساب می آیند.
چه معماری هایی برای فریم ورک های اندروید وجود دارند؟
یکی از اولین مراحلی که در ساخت برنامه ها باید انجام دهیم، انتخاب فریم ورک و نوع معماری آنهاست. معماری به این معنی است که یک framework از چه قواعدی برای دسته بندی کد های موجود در برنامه استفاده میکند. معماری های متفاوتی برای برنامه های اندرویدی وجود دارد. سه مورد از پر استفاده ترین آنها، MVC، MVP و MVVP نام دارند.
معماری MVC
MVC مخفف سه کلمه ی Model – View – Controller میباشد. View همه ی کدهای مربوط به نمایش اطلاعات به کاربر را شامل میشود. Controller اطلاعات را از کاربر دریافت کرده و آنها را پردازش میکند. Model همه ی اطلاعات را تایید کرده و آنرا روی دیتابیس ها ذخیره میکند.
معماری MVP
MVP از سه کلمه ی Model – View – Presenter تشکیل شده است. این معماری از MVC الگو برداری شده و در حال رشد و محبوب شدن میباشد. هرچند اطلاعات بسیار کمی از ساختار آن در دسترس است، اما روز به روز افراد بیشتری از آن استفاده میکنند.
معماری MVVM
MVVM مخفف کلمات Model – View – View – Model است. این مدل با الگو گرفتن از دو معماری قبلی، یعنی MVC و MVPساخته شده است. ایده ی اصلی اش این است که اطلاعات مربوط به نمایش را از اطلاعات کاری جدا کند بصورتیکه کاملا بتوان آنها را از یکدیگر تشخیص داد.
استفاده از فریم ورک چه مزایایی دارد؟
- کم شدن زمان برنامه نویسی و اشکال یابی: شما از کدهایی استفاده میکنید که از قبل ساخته شده اند و مورد تست قرار گرفته اند.
- از مزایای به روز و تازه برخوردار میشوید: فریم ورک ها همواره توسط سازندگانشان به روز رسانی میشوند. ویژگی های جدید به آنها اضافه شده و اشکالاتشان رفع میشود. بدون این که شما کاری انجام دهید از این امکانات بهره مند خواهید شد.
- راحت تر میتوانید ارتباط برقرار کنید: اگر دو برنامه نویس از یک framework استفاده کنند، بسیار راحت تر میتوانند با یکدیگر ارتباط برقرار کرده و برنامه را کامل کنند. یعنی میتوانید افرادی را که framework کاری شما را بلدند، به راحتی به تیم خود اضافه کنید.
- نرم افزار را با راحتی بیشتر بسازید: با استفاده از فریم ورک بهتر میتوانید تمرین کنید و همچنین با ساختار برنامه ها آشنا شوید.
استفاده از فریم ورک چه معایبی دارد؟
- زمان زیاد یادگیری: فریم ورک ها معمولا حجم بسیار زیادی دارند. به همین دلیل هم برای یادگیری تمامی قابلیت های framework باید زمان و انرژی بسیار زیادی صرف کنید.
- عدم توانایی شخصی سازی: متاسفانه framework ها این قابلیت را ندارند که بتوانید آنها را شخصی سازی کنید. بنابراین ممکن است حاصل کار شما با دیگرانی که از همان فریم ورک استفاده کرده اند بسیار شبیه به هم باشند.
- انعطاف پذیر نبودن فریم ورک: ممکن است همه ی ویژگی هایی که قصد دارید در برنامه ی خود پیاده سازی کنید در framework وجود نداشته باشد. بنابراین مجبور میشوید از پلاگین ها استفاده کنید. گاهی هم باید پلاگین ها را از صفر، خودتان بنویسید.
معروف ترین فریم ورک های اندروید چه چیزهایی هستند؟
برای برنامه نویسی اندروید هم فریم ورک های متفاوتی وجود دارند. قبل از ساختن برنامه باید با این framework ها آشنایی داشته باشید تا بتوانید با توجه به نیاز خود از آنها استفاده کنید. framework های موجود تا زمان نگارش این مقاله (سال ۲۰۱۷) این موارد هستند:
- Ionic
- PhoneGap
- Onsen UI
- Monaca
- Webkit
- Integrated Performance Primitives
نظر شما چیست؟
با توجه به امنیت و سادگی استفاده از framework و از طرفی محدودیت های خاص آن، آیا استفاده از framework را پیشنهاد میکنید؟ نظر خود را در بخش نظرات با ما در میان بگذارید.
من نمیدونم برای طراحی اپلیکیشن چه sdk هایی لازمه تا دانلود کنم
اولین بارمه میخوام یا بگیرم
بهتره همیشه اندروید ۴ و ۴٫۲ و همچنین دو – سه نسخه های آخر (یعنی جدیدترین ها رو) همیشه داشته باشین. اینا رو داشته باشین میتونین تقریبا همه گوشی ها رو ساپورت کنین.
سلام و خسته نباشید
فایل کم حجم sdk رو پیدا نمیکنم باید از کجا دانلود کنم؟
سلام.
خسته نباشید.
میتونین از توی خود SDK Manager اندروید استودیو، همه اون SDK هایی که کم دارین رو دانلود کنین. خودش توی نسخه های جدید همه کارها رو اتوماتیک انجام میده. باز هم اگر سوالی بود من در خدمتم.
سلام واقعا فوق العاده بود این مقاله آموزشی!!!
دمتون گرم!
سلام دوس عزیز. ممنونم از کامنت خوب شما و خوشحالم که آموزش به دردتون خورده.
مطلب خوبی بود… استفاده کردیم.
خداقوت
ممنون از شما. خواهش میکنم.