۱۳۹۲ شهریور ۲۵, دوشنبه

چرا آندروید لگ داره؟! چرا کروم سنگینه؟!

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

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

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

اگه یادتون باشه، اون موقعی که اپل آیفون ۴ اینچی رو معرفی کرد، این رو هم اضافه کرد که چون سایز صفحه از ۳٫۵ اینچ به ۴ اینچ افزایش پیدا کرده، بنابراین اپلیکیشن‌ها با سایز صفحه‌ی جدید همخوانی ندارن و باید یه باز نویسی کوچیک توشون انجام بشه.

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

یه لحظه فکر کنید که iOS رو از دل آیفون بیرون بیارید و بخواید روی یه نت بوک اجرا کنید، چه اتفاقی می‌افته؟!
اول از همه سایز صفحه نمایش رو پشتیبانی نمی‌کنه. به علاوه‌ی این که حتی نمی‌تونه رزلوشن رو تشخیص بده.
بماند که این نت بود توانایی چند یوزری بودن رو نداره و حتی خبری از شناسایی موس، کیبورد و کابل شبکه هم نیست. (این لینک از سایت نارنجی تکنولوژی USB on-the-go رو توضیح می‌ده، چیزی که باعث می‌شه گوشی و تبلت شما مثل یه کامپیوتر دسکتاپ عمل کنه).
بد تر از همه این که نت بوک جدید شما نه مولتی تسکینگ درست و حسابی داره و نه می‌تونه می‌تونه چندین اپلیکیشن رو در کنار هم روی صفحه نمایش نشون بده.

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

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

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

نخواستم بگم آندروید بهتره، خواستم بگم بابا جان کاربردها فرق می‌کنه و به خاطر همینه که تفاوت‌ها وجود داره.

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

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