اصطلاحات مهم در مصاحبه کاری فرانت اند

دوستان عزیزی که قصد دارند در موقعیت شغلی فرانت اند وارد بازارکار شوند و در مرحله اول نگرانی سوالات و گفتگوهای مصاحبه گر یا مسئول استخدام دارند‌، این مقاله اصطلاحات مهم در مصاحبه کاری فرانت اند را تا انتها مطالعه کنند.

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

در همین ابتدا بایستی بگوییم که مقاله برای فراگیری این مطالب به هیچ عنوان کافی نیست و فقط روزنه‌ای برای آشنایی شما با مفاهیم این تعاریف است و می توانید در آینده با فراگیری هر کدام از این تعاریف به تخصص خود بیفزاید.

مفهوم وب اپلیکیشن

در این مفهوم چندین عنوان مطرح می‌شود که به تعریف مختصر هرکدام می‌پردازیم.

اپلیکیشن بومی نیتیو

همانطور که میدانید دو سیستم عامل معروف و محبوب یعنی اندروید و ios برای کاربران موبایل وجود دارد. اپلیکیشن بومی یا نیتیو ، به اپلیکیشنی گفته می‌شود که به طور مشخص برای یک دستگاه موبایل یا هر دیوایس دیگری که دارای سیستم عامل باشد نوشته و توسعه داده شده است.

به طور مثال اپلیکیشنی که فقط برای یک دستگاه موبایل اندرویدی نوشته شده است یک نیتیو اپلیکیشن محسوب می شود.

وب اپلیکیشن (Web Application)

این دسته معمولاً یک برنامه اپلیکیشن اینترنتی هستند که به سهولت از طریق هر مرورگری قابل دسترسی به اجرا است. در این نوع از اپلیکیشن ها معمولاً ظاهر کاربری یا همان یوزر اینترفیس در وبسایت و اپلیکیشن ظاهر مشابهی دارند.

بارزترین نوع اپلیکیشن‌ها سایت هایی است که شما با کتابخانه های همچون ری اکت یا انگولار می نویسید.

وب اپلیکیشن های پیش رونده یا PWA

PWA مخفف Progressive Web Application ‏یا همان پراگرسیو وب اپلیکیشن به وب اپلیکیشن های پیشرونده گفته می‌شود.

در سال ۲۰۱۵ توسط گوگل معرفی شد اما از زمان تحریم های شرکت اپل بر روی ایران در داخل کشور بسیار بر سر زبان ها افتاد. چون دیگر کاربران ایرانی نمی توانستند اپلیکیشن های ios خود را توسعه و در مارکت های جهانی عرضه کنند.

به همین خاطر بسیاری از وب سایت ها از فناوری pwa فناوری های مدرن و جدید وب به شمار می رود استفاده کردند. اپلیکیشن های تولید ظاهر و کارکرد آن شبیه APP معمولی است که با مرورگرهای چون کروم و فایرفاکس واردش می شویم و درنهایت مانند یک اپلیکیشن با آن رفتار می کنیم .

فایل نصبی ندارد و با گزینه اد تو شورتکات به آن دسترسی خواهیم گرفت.

اما pwa خاصیت ها و ویژگی هایی دارد که از آن دسته می توانیم به موارد زیر اشاره کنیم:

قابلیت استفاده در هر دستگاه و سیستم عاملی فقط کافیست که از یکی از مرورگر های پیشرفته وب پشتیبانی کند

چون در اصل یک وبسایت هستند از طریق موتورهای جستجو قابل سرچ هستند

نکته بسیار مهم این که بدون اتصال به اینترنت قابل استفاده هستند

بدون نیاز به آپدیت، به دلیل استفاده از سرویس ورکر همیشه آپدیت و به روز میباشد و به محض اتصال به اینترنت محتوا جدید انتشار داده میشود

pwa ها در پروتکل https هستند و از نظر مسائل امنیتی بسیار ایمن ریسپانسیو و کاملا منعطف است

انگولار چیست

یک فریم ورک در زبان جاوا اسکریپت که توسط شرکت گوگل ارائه شده است در زبان فارسی به معنای زاویه دار است.

ولی در حقیقت در مورد ساختاری برای وب اپلیکیشن های داینامیک می باشد. این فریم ورک به شما اجازه می‌دهد تا HTML را به عنوان زبان قالب خود انتخاب کنید.

انگولار همه ورژن های HTML را پشتیبانی میکند.

تفاوت آن با ANGULAR.JS در چیست

انگولار دات جی اس در سال ۲۰۰۹ در شرکت گوگل طراحی شد و بعد از گذشت چند سال بعد از از استقبال فراوان از آن، برای برطرف کردن نقاط ضعف و نوشتن هسته قدرتمندتر ، در سال ۲۰۱۶ نسخه دوم انگولار ارایه شد.

تفاوت ماهیتی با نسخه قبلی دارد پس میتوان انگولار .js را نسخه قدیمی و منسوخ شده انگولار دانست .

دلایل استفاده از انگولار موارد زیر است :

پشتیبانی گوگل از پروژه

استفاده از زبان تایپ اسکریپت در آن

استفاده از html جهت تعریف کردن یوآی اپلیکیشن ها

تایپ اسکریپت (TypeScript)

تایپ اسکریپت (به انگلیسی: TypeScript) یک زبان برنامه‌نویسی چندسکویی، متن باز و کامپایلری است که توسط شرکت مایکروسافت توسعه داده شده و پشتیبانی می‌شود.

تایپ اسکریپت یکی از زیر مجموعه‌های زبان جاوا اسکریپت است که به شما کمک می‌کند تا کدهای خود را به روش ساده‌تری نوشته و سپس با کامپایل‌ کردن آن‌ها خروجی استاندارد کد جاوا اسکریپت را به دست آورید.

ممکن است این سوال برای توسعه‌دهندگان پیش آید که چرا با وجود زبان قدرتمندی مانند جاوا اسکریپت، نیاز به زبان دیگری مانند تایپ اسکریپت داریم؟

مزایای استفاده از زبان تایپ اسکریپت زمانی برای ما آشکارتر می‌شود که در پروژه‌های بزرگ ملزم به استفاده از جاوا اسکریپت باشیم.

TypeScript به عنوان Superset زبان جاوا اسکریپت ارائه شده و هدف آن کدنویسی آسان با کم‌ترین میزان خطا و استفاده از ویژگی‌های پیشرفته‌ی زبان‌های شی‌گرا، جهت نوشتن برنامه‌های سمت سرور و سمت کاربر است.

Babel is a JavaScript compiler

ببل چیست؟ babel یک کامپایلر جاوا اسکریپت است.

این تعریف رسمی سایت جاوا اسکریپت در اصل یک کامپایلر است و تبدیل کننده کد به کد ساده و شفاف برای اجرا شدن در تمام مرورگر ها.

هدف این است که از ویژگی های جدید اکما اسکریپت یا مثلاً JSX وقتی در کد های خود استفاده می کنید، آنها را تبدیل کند به کدهای اکما اسکریپت۵ که قابلیت اجرا و استفاده در کد تمام مرورگر ها را داشته باشد .

در جی اس وقتی شما از ببل استفاده می کنید، ممکن است بعد از کمپایل کردن کد تان و تبدیل آن به کدهای ساده و شفاف ، آن را به صورت ناشناس برای خود بیابید.

کار به روش های مختلف می تواند باشد. مثلا اگر معادل قابلیتی که ما استفاده کردیم ، در نسخه های قبلی وجود داشته باشد، کد ما را جایگزین می کند و یا اینکه آن قابلیت را خودش به کدمان اضافه میکند.

اصطلاحات مهم در مصاحبه کاری فرانت اند
اصطلاحات مهم در مصاحبه کاری فرانت اند

webpack

در هنگام طراحی یک وب سایت با استفاده از زبان جاوا اسکریپت، مشکلی که اکثر توسعه دهندگان با آن مواجه هستند، این است تعداد زیادی از فایل‌ها و assetهای این زبان که شامل فایل‌های تصاویر، فونت‌ها، استایل‌ها و غیره هستند، باید به صفحات وب ما لینک شوند تا ما بتوانیم کارهای مورد نظر خود را در یک صفحه وب انجام دهیم.

در حالت معمول، اگر تعداد فایل‌ها کم باشد، مشکلی بروز نمی‌کند اما اگر تعداد این فایل‌ها بسیار زیاد باشد، در این صورت، مشکل جدی‌تر شده و مدیریت تمام این فایل‌ها کار راحتی نخواهد بود.

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

مشکل دیگری که در اینجا وجود دارد، این است که ممکن است فایل‌ها و ماژول‌ها در زبان جاوا اسکریپت به یکدیگر وابستگی داشته باشند، در صورتی که در اضافه کردن یک ماژول به وابستگی‌های آن و همچنین ترتیب قرارگیری آن‌ها نسبت به هم دقت کافی نداشته باشیم، این امر ممکن است باعث بروز خطا در برنامه ما شود.

با استفاده از یک باندلر قدرتمند می‌توانیم وابستگی‌های هر ماژول را تعریف کنیم تا شاهد مشکلاتی از این دست نباشیم. ما نیاز به یک ابزار کامل داریم که این مشکلات را از سر راه ما بردارد. وب پک (webpack) یک module bundler قدرتمند برای اپلیکیشن‌های تحت وبی است که با زبان جاوا اسکریپت ساخته می‌شوند.

webpack یک ابزار بسیار کارآمد برای توسعه دهنده‌های بخش کاربری یا فرانت اند با زبان جاوا اسکریپت است که با استفاده از آن توسعه اپلیکیشن‌های وب سریع‌تر، کارآمدتر و انعطاف پذیرتر خواهد بود.

version control systems چیست

Version Control System که به اختصار VCS نامیده می‌شوند، سیستمی است که به برنامه نویسان و توسعه دهندگان اجازه می‌دهد که بدون اینکه هیچگونه نگرانی داشته باشند، تا دلشان می‌خواهد اشتباه کنند! زیرا آن‌ها خیالشان از این بابت راحت است که با استفاده از VCS ها، اشتباهاتشان قابل پیگیری، بررسی و تصحیح هستند. البته این مورد تنها یکی از کاربردهای بی نظیر سیستم‌های کنترل نسخه است.معروفترین این نسخه ها git میباشد.

WebSocket

WebSocket را می‌توان گامی بزرگ در بهبود عملکرد اپلیکیشن‌های وب که نیاز به تبادل real time اطلاعات دارند به‌شمار آورد؛ هم‌چون بازی‌های آنلاین چندکاربره، اپلیکیشن‌های chat و …
WebSocket پروتکلی برای ایجاد ارتباطی دوطرفه و سریع میان مرورگر و سرور است. هدف از معرفی این پروتکل، غلبه‌بر تاخیر فراوان حاصل از ارتباطات درخواست/پاسخ (request/response) در HTTP است.
سرورهای توزیع‌شده‌ی ابر آروان در سراسر دنیا با پشتیبانی از WebSocket تضمین‌کننده‌ی دسترسی به محتوا به‌شکل real time و با کم‌ترین تاخیر به کاربران نهایی هستند.

Gulp چیست ؟

Gulp ابزاری متن باز و رایگان بوده که توسط آقای Eric Schoffstall به زبان جاوا اسکریپت نوشته شده است. گالپ یک Build System یا Task Manager برای محیط Node.Js و پکیج منیجر npm می‌باشد. از Gulp در برنامه نویسی و توسعه فرانت اند استفاده می‌شود. به کمک Gulp می‌توان یک سری کارهای تکراری و زمان‌بر را به صورت خودکار انجام داد. به این ترتیب کار برنامه نویس کمی سبک‌تر شده و سرعت اجرای پروژه تا حد زیادی بالا می‌رود.
فایل‌ها را به راحتی جا به جا کنید (مثلا از پوشه Project به پوشه Web)
فایل‌ها را به راحتی با هم ادغام کنید
نوع فایل‌ها را تغییر دهید (مثلا تبدیل فایل Sass به CSS)
فایل‌ها را بهینه کنید ( شامل فایل‌های CSS، جاوا اسکریپت، تصاویر و غیره )
و …

MERN Stack چیست؟

Mern Stack در واقع یک Stack ترکیبی از فناوری‌هایی است که به منظور ایجاد یک Web Application مورد استفاده قرار می‌گیرد. هر Web Application نیز با استفاده از چندین فناوری (چهارجوب‌ها، کتابخانه‌ها، پایگاه داده و غیره) ساخته می‌شود. 

MERN یک Stack جاوااسکرپیت است که به منظور ساده‌تر کردن روند توسعه طراحی شده است. این Stack شامل چهار مولفه Open Source است: MongoDB، Express، React وNODE.JS این مولفه‌ها یک چهارچوب end-to-end را برای توسعه‌دهندگان فراهم می‌کنند. اما بیایید دقیق‌تر به این مولفه‌ها نگاه کنیم.

ابزار graphql

GraphQL یکی از مدرن ترین روش های ساخت و پرس و جو API است، به بیانی دیگر یک روش برای گرفتن و ثبت اطلاعات از یک API است که یک زبان Query محسوب میشود و با استفاده از آن میتوانیم api های قابل توسعه تر و قدرتمندتری را نسبت به گذشته به وجود آوریم . درواقع همان کاری را که توسطREST  انجام میشود به صورت کامل تر و بهتر انجام میدهد. در کل به این صورت است که کلاینت دقیقا آن چیزی را که نیاز دارد از سرور درخواست میکند و از طرفی سرور در پاسخ به query کلاینت پاسخ مناسب را به صورت JSON ارسال می کند.

در ادامه مطالبی که باید بدانید، پیشنهاد میکنیم از طریق لینک های زیر به مطالب مرتبتی که از قبل در وبسایت پرنیان موجود بوده است، ارجاع کنید.

جامع ترین لیست سوالات استخدامی جاوا اسکریپت

اخلاق حرفه ای در محیط کار

بهینه سازی کدهای جاوااسکریپت

مفهوم کامل و کاربردی RESTFUL API

مفهوم و قواعد jsx در javascript

مفهوم Core Web Vitals یکی از مهمترین عوامل سئو در سال ۲۰۲۲

ویژگی های جدید بوت استرپ۵ | bootstrap5

آموزش نصب و معرفی کامل Material Design3

آموزش مدل bem در css

اسکیما چیست و چه کاربردی دارد

معرفی کامل ant design ، کتابخانه زیبای چینی

آموزش توابع ریاضی calc و max و min در Css

نکات مهم در ایجاد یک رزومه حرفه ای

مفهوم تابع در sass

نکات مهم در نوشتن قرارداد (فری لنسرها)

جزوه کمکی جاوا اسکریپت

چند قاعده ی مهم UX/UI

مجموعه لغات لازم و ضروری برای ترجمه متون تخصصی زبان برنامه نویسی سایت

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

نشانی ایمیل شما منتشر نخواهد شد.