آیا استفاده از چهارچوب های جاوا اسکریپت برای برنامه نویسان خوب هستند؟ برای کاربران چطور؟ طرز فکر های متفاوتی در این زمینه وجود دارد. گوگل اهمیت زیادی به وب موبایل می دهد. گرچه این ابر قدرت در دنیای اینترنت سال ها در سرمایه گذاری در HTML5 شکست خورد، این شرکت در تلاش است که آن را جبران کند. این شرکت همچنین تلاش های زیادی برای بالا بردن عملکرد اینترنت موبایل انجام داده است. با وجود اهمیتی که گوگل به اینترنت موبایل می دهد، آیا باید به آنچه که در مورد چهارچوب های جاوا اسکریپت می گوید اهمیت دهیم؟ چرا که حداقل یکی از کارکنان گوگل، پائول لوییس، که از افراد برنامه نویس کروم است معتقد است که سودهایی که به برنامه نویسان جاوا اسکریپت میرسد بسیار بیشتر از ضرری است که به کاربران میرسد. طبق نظر تام دیل، بنیان گذار Ember.js، مشکل این طرز فکر این است که اشتباه است.
آیا استفاده از چهارچوب های جاوا اسکریپت برای برنامه نویسان خوب هستند؟ برای کاربران چطور؟ طرز فکر های متفاوتی در این زمینه وجود دارد. گوگل اهمیت زیادی به وب موبایل می دهد. گرچه این ابر قدرت در دنیای اینترنت سال ها در سرمایه گذاری در HTML5 شکست خورد، این شرکت در تلاش است که آن را جبران کند. این شرکت همچنین تلاش های زیادی برای بالا بردن عملکرد اینترنت موبایل انجام داده است. با وجود اهمیتی که گوگل به اینترنت موبایل می دهد، آیا باید به آنچه که در مورد چهارچوب های جاوا اسکریپت می گوید اهمیت دهیم؟ چرا که حداقل یکی از کارکنان گوگل، پائول لوییس، که از افراد برنامه نویس کروم است معتقد است که سودهایی که به برنامه نویسان جاوا اسکریپت میرسد بسیار بیشتر از ضرری است که به کاربران میرسد. طبق نظر تام دیل، بنیان گذار Ember.js، مشکل این طرز فکر این است که اشتباه است.
خوشحال کردن برنامه نویسان به خرج کاربران
مشکل اصلی توسعه اپلیکیشن این است که برنامه نویسان باید اپلیکیشن های بومی را در مقابل اپلیکیشن های وب بسازند. دلایل خوبی برای هر دو وجود دارد، و نشانه هایی موجود است که نشان می دهدچیز هایی مانند ( چهارچوب ) React Native آنقدر خوبند که هیچ جای بحثی نمی ماند.
اصل بحث لوییس و دیل تکیه برنامه نویسان روی چهارچوب ، در مقابل ساخت آن در یک پشته اینترنت بدون شبکه امنیتی چهارچوب می باشد.
لوییس، اذعان دارد که مزایای قابل توجهی وجود دارد که ازطریق چهارچوب های جاوا اسکریپت به دست می آید، مانند Ember.js یا Angular.js، که چهارچوب های گوگل محسوب می شوند. این چهارچوب ها به برنامه نویسان کمک می کنند که در بین دیگر دلایل، یک محصول با کمترین دوام را بسیار سریع تر بسازند.
اما مشکل این است که ضربه شدیدی به عملکرد کلی می زنند، به خصوص در محیط هایی با دسترسی پر مشکل به اینترنت و دستگاه هایی که نمی توانند خوب عمل کنند.
اما مشکل اصلی برای کاربر افت عملکرد نیست، گرچه این مساله می تواند مشکل ساز باشد. در تجربه لوییس، چهارچوب ها خوب نیستند چرا که باعث ایجاد تاخیر می شود و روی پهنای باند، مصرف سی پی یو ( مصرف باتری) ، مصرف حافظه و بیشتر می شود.
همچنین برای برنامه نویسان نیز زیاد جالب نیست، چرا که باید چهارچوب را یاد بگیرند، سپس وقتی که تغییر کرد دوباره آن را یاد بگیرند- و یا وقتی که یک چهارچوب جدید روی اینترنت آمد آن را یاد بگیرند.
خوشحال کردن کاربران، چرا که برنامه نویسان خوشحالند
اما دیل با دلایل لوییس موافق نیست.
بحث اول او این است که: " چهارچوب ها به شما اجازه می دهند که پیچیدگی های اپلیکیشن خود را مدیریت کنید ، چرا که هرچه اپلیکیشن بزرگ تر شود تیم سازنده آن نیز بزرگ تر می شود."
چرا که هرچه یک اپلیکیشن بزرگ تر و پیچیده تر می شود، برای یک برنامه نویس سخت تر می شود که با تغییرات به وجود آمده خود را وفق دهد. این مشکل وقتی که برنامه نویس های جدید به پروژه اضافه می شوند بزرگ تر می شود. به گفته او " بسیاری از برنامه نویس ها روی یک پروژه کار کرده اند که پیچیدگی پایه کد آن آنقدر بزرگ شده است که اضافه کردن هر ویژگی جدید به مشکلی بزرگ تبدیل شده است. چهارچوب ها این پیچیدگی ها را حل می کنند."
به گفته دیل، اگر در حال ساخت یک اپلیکیشن برای یک نسخه نمایشی سطح پایین هستید، کد زدن بدون کمک گرفتن از یک چهارچوب بدون مشکل خواهد بود.
اما وقتی که در حال ساخت یک پروژه بزرگ هستید، چهارچوب می تواند بسیار کمک رسان باشد و قطعا می تواند به کاربران نهایی کمک کند. دیل گفت: " هرچه بازدهی برنامه نویسان بهتر باشد، باگ های بیشتری را می توانند رفع کنند و قابلیت های جدید تر می توانند اضافه کنند."
میانه هر دو طرف
نظر دیل با مشکلاتی رو به روست. اما نظر لوییس نیز قطعا صحیح نمی باشد.
جواب صحیح این است که شاید هر دو درست بگویند و شاید اشتباه کنند. مانند همیشه، بستگی به اپلیکیشن و برنامه نویس آن دارد.
استفاده از یک چهارچوب شاید ایده خوبی باشد، اما ایده بهتری برای برنامه نویسان است که اطمینان یابند که می دانند چهارچوب ها چه چیزی را خلاصه می کنند.
ثبت نظر