بسم الله الرحمن الرحیم
قسمت قبلی تحت عنوان : FrontEnd برای شروع اومدیم فرق بین frontEnd و BackEnd رو گفتیم و اینکه توسعه دهندگانشون قراره چه کارهایی بکنن.
در این قسمت ی مقدار بیشتر وارد FrontEnd میشیم.
یک توسعه دهنده FrontEnd با استفاده از تکنولوژی های وب مثل HTML ، CSS و JS میان وب سایت یا اپلیکیشن هایی تحت وب یا ترکیب وب با Native رو ایجاد میکنن. (برای تو ضیحات بیشتر در مورد NativeApp ها مطلب " انواع تکنولوژی اپلیکیشن ها " را مطالع بفرمایید)
به عنوان یک توسعه دهنده FrontEnd که با HTML، CSS و JS کار میکنید باید بدونید که برای خیلی از دستگا ها مثل کامپیوتر های شخصی ، لپ تاپ ها تلفن های همراه و امروزه برای تلویزیون و ساعت های هوشمند می تونید کد نویسی کنید در آینده نزدیک شاید حتی برای انواع یخچال!!!
و اینکه در انتخاب سیستم عامل هم مشکلی ندارین و بروی ویندوز ، مک ، لینوکس، اندروید و آی او اس هم می تونید کار کنید و کد ها تون رو اجرا کنید.
در واقع کد های ما در موارد زیر اجرا میشن :
1- web Browsers
2- Web View
3- HeadLess Browsers
4- کد های تلفیقی برای ساخت Native Apps (اسم این ها رو خودمم نمی دوننم چی هست کسی میدونه بگه ک منم یاد بگیرم )
در ادامه در مورد این چهار حالت بحث می کنیم
1- Web Browsers
ٌWeb Browsers یا همون مرورگر های وب نرم افزار هایی هستن که همه باهاشون آشنایی داریم به خاطر همین توضیح خاصی در موردشون نمیدم ، از مرورگر ها برای جستجو و گذشتن در وب و نمایش خیلی چیز ها ازشون استفاده مکنیم. مرورگر های وب تقریبا روی همه دستگاه ها وجود دارن و این یعنی شما می تونید کد های نوشته شده خودتون رو توی اون دستگاه ها به نمایش بذارین و برای اون دستگاه ها کد نویسی کنید.
انواع مختلفی از مرور گر ها داریم که تصویر زیر چند مثال هستش:
2- Web View
فعلا معادل فارسی مناسبی برای WebView ندیدم و به خاطر همین من هم ترجمه ش نکردم . WebView ها در سیستم عامل ها برای طراحی اپلیکیشن های Native بکار میرن که باهاش یک صفحه وب رو نشون بدن . این که WebView چی هستش باید بگم که مثل یک تک صفحه از مرورگر می مونه که شما وسط اپلیکیشن خودتون ازش استفاده می کنید. داخل سیستم عامل های ios ، Windows و Android می تونید ازش استفاده کنید مثال خوب هم بزنم مثل تبلیغات داخل برنامه KMP :)
با استفاده از همین WebView می تونید WebApp های خوبی درست کنید و هیچ احتیاجی هم به یاد گرفتن زبان های برنامه نویسی مثل JAVA یا #C و... ندارین و فقط و فقط با همون HTML ، JS و CSS می تونید برنامه های خودتون برای هر سیستم عاملی درست کنید.
سه وب سایت زیر ابزار های خوبی رو در اختیارتون میذارن که بتونید اپلیکیشن های خودتون رو درست کنید.
از محصولات شرکت بزرگ Adobe هستش و به صورت متن-باز ارائه شده و قبلا به اسم PhoneGap میشناختنش با ابزار هایی که در اختیارتون میذاره می تونید برای خیلی از سیستم عامل ها (تا زمان نوشتن این مطلب 8تا هستن) اپلیکیشن تو لید کنید.
این وب سایت هم ابزار های خوبی برای طراحی اپلیکیشن برای دسکتاپ ها فراهم میکنه
با این فریم ورک هم میتونید اپلیکیشن هایی برای دسکتاپ بنویسید
خب مشخصا هر چقدر دانش بیشتری در مورد HTML ، Css و JS داشته باشین وب اپ های بهتری می تونید بنویسید ولی نباید انتظار این رو هم داشته باشن که به خوبی اپ های Native بشن (برای تو ضیحات بیشتر در مورد انواع اپلیکیشن ها مطلب " انواع تکنولوژی اپلیکیشن ها " را مطالعه بفرمایید)
3- HeadLess Browsers
مروگر های HeadLess مثل مرورگ های عادی نیستن که یک رابط گرافیکی وجود داشته باشه و دستورات رو باید از طریق خط فرمان بهش داد و میشه باهاش یکسری اطلاعات از صفحه وب مورد نظر استخراج کرد. شاید به عنوان یک ابزار برای درست کردن اپلیکیشن های شما نباشه و بیشتر به درد FullStack ها بخوره ولی بالاخره باید اپ های خودتون رو تست کنید.
این مرورگر ها چون قرار نیست چیزی رو مثل مرورگ های عادی بارگذاری کنن به خاطر همین سرعت خیلی خوبی دارن و استفاده زیادی میشه ازشون کرد ؛ البته استفاده های بد و مخرب هم توسط این HeadLess ها انجام میشه مثل حملات DDOS که به سرورها و گروهی انجام میشه و تاثیر گذاشتن روی بازدید یک وب سایت و یا مشاهده تبلیغات!!!
چند تا از معروف ترین این مرورگر ها هم براتون لیست کردم:
توی هر کردوم دستورات ی مقدار با هم فرق دارن و اینکه امکاناتی هم که در اختیارتون میذارن هم یک مقدار متفاوته
4- کد های تلفیقی برای ساخت Native Apps
برای برنامه نویسای Native شاید این یک آرزو باشه که بتونن وسط برنامه ها و اپ های خودشون از کد های JS یا Html استفاده کنن و یک یک اپ Native به تمام معنا درست کنن. الان خیلی از اپ های معروف مثل ایستاگرام ، فیس بوک و SoundCloud از این مدل برنامه نویسی استفاده میکنن
دو تا از محیط های خیلی خوب رو پیدا کردم شاید بهتر از این ها هم باشه ولی همون سه تا اپلیکیشنی که مثال زدم از این دوتا استفاده میکنن.
در قسمت های آینده بیشتر در مورد انواع مهارت های برای یک FrontEndDeveloper می نویسم (: