Tagهای دارند؟

موبایل های منعطف جذاب هستند، اما آیا واقعاً کاربردی هم دارند؟

موبایل های منعطف جذاب هستند، اما آیا واقعاً کاربردی هم دارند؟

اولین بار، لنوو بود که از یک طرح مفهومی به نام CPlus در جریان برگزاری مراسمی که به دو تلفن همراه Moto X و Phab 2 Pro اختصاص داشت رونمایی کرد. این طرح البته نه یک تصویر و عکس، بلکه نمونه ای واقعی و کارآمد بود که در سالن مراسم حضور داشت و خبرنگاران می توانستند آن را خودشان تست کنند.

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

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

چرا ما نیازمند تلفن های تاشو و خمیده خواهیم شد؟

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

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

موبایل های امروزی ما به همان اندازه که قدرتمند و قوی شده اند، به همان اندازه هم در قالب مستطیلی خودشان اسیر مانده اند

مضاف بر این، چنین فناوری آینده نگرانه ای را می توان همانند کاغذ روزنامه تولید کرد. شاید روزی بیاید که دیگر نیازی نباشید درخت ها را برای تولید کاغذ قطع کنیم و بتوان هر روز صبح این نمایشگرها را نگاه کرد و جدیدترین اخبار روزنامه ها را در آن خواند. رول ورتگال، مدیر Human Media Lab دانشگاه کویین کانادا که روی نمونه آزمایشی این فناوری کار می کند دقیقا همین نظر را دارد.

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

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

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

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

لنوو هم که دیده اید؛ چینی ها مشغول ساخت موبایلی هستند که با تا خوردن، کوچک تر می شود تا فضای کمتری را اشغال کند و این دستگاه دقیقا همزمان با CPlus به نمایش درآمد.

سامسونگ در حال کار روی موبایلی است که باز می شود و مثل یک تبلت عمل می کند.

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

برای مثال، Galaxy Round سامسونگ را در نظر بگیرید. این دستگاه هیچگاه از کره جنوبی خارج نشد چون با موفقیتی همراه نبود اما نکات مثبتی که در طراحی اش وجود داشت وارد سری گلکسی اس شد و همین حالا در S7 Edge نتیجه آن را می توان دید.

یا تلفن تقریبا بدون حاشیه نمایشگر Mi Mix. این دستگاه الهام بخش موبایل های بسیاری شده و خواهد شد. در آینده خیلی نزدیک، موبایل هایی به دست خواهید گرفت که حاشیه چند میلی متری نمایشگرهایشان کاملا حذف شده اند.

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

هدف این است که موبایل ها در یک بازار هدف مورد بررسی قرار بگیرند و کاربران بتوانند مشکلات آن را گزارش دهند و شرکت متوجه شود که حالا چه باید تولید کند.

موبایل هایی به دست خواهید گرفت که حاشیه چند میلی متری نمایشگرهایشان کاملا حذف شده اند.

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

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

مسیری طولانی تا ظهور اولین ها

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

همه شرکت ها دوست دارند اولین شرکتی باشند که یک نوآوری را ارائه می دهند و شکی نیست، تنها شرکتی می تواند در این زمینه موفق ظاهر شود که به اندازه کافی هزینه کرده و تجربه به دست آورده باشد.

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

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

The post appeared first on .

موبایل های منعطف جذاب هستند، اما آیا واقعاً کاربردی هم دارند؟

شبکه های عصبی، یادگیری ماشینی و هوش مصنوعی چه تفاوتی با یکدیگر دارند؟

شبکه های عصبی، یادگیری ماشینی و هوش مصنوعی چه تفاوتی با یکدیگر دارند؟

زمانی که در توضیحات یک اپلیکیشن ساده می خوانیم «مجهز به هوش مصنوعی» به نظر می رسد به آینده قدم گذاشته ایم. اما این عبارت دقیقاً به چه معناست؟ کلمات پرطمطراقی همچون AI، یادگیری ماشینی، شبکه های عصبی و غیره چه مفهومی داشته و چگونه به بهبود کارآیی اپلیکیشن ها کمک می کنند؟

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

وب سایت Any.do ادعا می کند بات هوشمند آنها قادر است برخی از کارهای کاربر را خودش انجام دهد. جالب اینکه تمامی نمونه های فوق صرفاً طی هفته گذشته اعلام شدند. البته برخی از آنها ترفند های تبلیغاتی به نظر می رسند که با هدف جذاب تر نشان دادن قابلیت های اپلیکیشن بیان می گردند.

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

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

شبکه های عصبی با شبیه سازی مغز انسان به آنالیز داده های پیچیده می پردازند

شبکه های عصبی مصنوعی (ANN) که به اختصار شبکه های عصبی نیز گفته می شوند، نوع خاصی از مدل یادگیری هستند که روش کارکرد سیناپس ها در مغز انسان را تقلید می کنند.

در روش های محاسباتی سنتی، از یک سری عبارات منطقی برای اجرای یک عمل استفاده می شود؛ اما در مقابل، شبکه های عصبی از مجموعه نودها (به عنوان نرون) و یال ها (در نقش سیناپس) برای پردازش داده بهره می گیرند. در این سیستم، ورودی ها در شبکه به جریان افتاده و یک سری خروجی تولید می گردد.

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

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

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

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

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

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

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

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

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

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

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

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

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

nn-ai-ml-6

در چنین مواردی، اگر دائماً از قابلیت مورد بحث استفاده نکنید، شاید به مزایای کامل آن دست نیابید. به عنوان مثال اولین باری که اپلیکیشن موزیک گوگل را باز کنید، احتمالاً با پیشنهاداتی عجیب و غریب و تصادفی روبرو خواهید شد. اما هرچه بیشتر از آن بهره گیرید، پیشنهادات بهتری را نیز دریافت خواهید نمود.

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

به هر حال «یادگیری ماشینی» به عنوان یک عبارت پر کاربرد، ابهام بیشتری در مقایسه با شبکه های عصبی دارد، اما نشان می دهد نرم افزار پیش رویتان با دریافت بازخوردهای متوالی از سوی شما، دائماً ارتقاء می یابد.

هوش مصنوعی، هر چیز هوشمند را در بر می گیرد

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

ex-machina-movie-artificial-intelligence-robot-w700

اگرچه شاید برخی ها فضای دیوانه وار فیلم های علمی-تخیلی را متصور شوند، اما در حقیقت هم اکنون به پیشرفت هایی در این زمینه دست یافته ایم که در سال های نه چندان دور، دست نیافتنی می نمودند.

یکی از این موارد، تشخیص نویسه نوری یا OCR است، عملی که برای یک کامپیوتر بسیار دشوار به نظر می رسید، اما اکنون می بینیم موبایل های ساده هم قادرند سندی را اسکن نموده و آن را به متن بدل نمایند. دلیل اینکه چنین کار ساده ای در حوزه هوش مصنوعی قرار می گیرد، این است که در واقع دو رده کلی برای AI وجود دارد.

nn-ai-ml-8

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

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

در سوی دیگر با هوش مصنوعی قوی روبرو هستیم که به آن «هوش مصنوعی عمومی» یا AGI می گویند. این سیستم ها می توانند هر فعالیتی را همچون انسان به اجرا درآورند، و البته واضح است که چنین چیزی هنوز ساخته نشده. بنابراین بهتر است به این زودی ها منتظر ربات هوشمندی نباشید که تمامی کارهای روزانه تان را انجام دهد.

nn-ai-ml-9

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

جمع بندی

با اینکه اصطلاحات مورد بحث کمی مبهم و متداخل هستند، اما تحقیقات کاربردی در حوزه AI به سطحی از سودمندی رسیده که احتمالاً همه ما در زندگی روزمره از آنها بهره می گیریم.

مثلاً هر بار که موبایلتان به صورت خودکار محل پارک خودرو را به شما یادآوری می کند، چهره ها را در بین تصاویر تشخیص داده یا هنگام جستجو به شما موارد مشابه را پیشنهاد می دهد، یا اینکه تصاویر مربوط به سفر اخیرتان را یکجا دسته بندی می نماید، به صورت مستقیم یا غیرمستقیم از تحقیقات AI استفاده می کنید.

nn-ai-ml-10

تا حدودی می توان گفت AI به معنای هوشمندتر شدن اپلیکیشن هاست، چیزی که همه ما انتظار آن را داریم، ضمن اینکه یادگیری ماشینی و شبکه های عصبی بهترین روش ها برای اجرای برخی عملیات محسوب می گردند. اما اینکه در توضیح یک برنامه کاربردی نوشته شود «مجهز به هوش مصنوعی» لزوماً هیچ مفهوم خاصی نخواهد داشت.

باید به این نکته نیز اشاره کرد که شبکه های عصبی و یادگیری ماشینی نیز از نظر شفافیت در یک سطح قرار ندارند. مثلاً اگر بگوییم این اپلیکیشن به خاطر بهره گیری از یادگیری ماشینی عملکرد بهتری دارد، شبیه به این استدلال است که یک مدل دوربین به خاطر «دیجیتال» بودن، عکس های بهتری می گیرد.

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

nn-ai-ml-11

در زمینه هوش مصنوعی برخی شرکت ها توانسته اند شبکه های عصبی قدرتمندی را توسعه دهند که فعالیت های پیچیده را به خوبی سامان داده و زندگی را ساده تر می سازند. برخی دیگر نیز صرفاً برچسب «یادگیری ماشینی» را روی محصولاتشان نصب می کنند، در حالی که فعالیت آنها با گذشته تفاوتی نکرده.

در مجموع می توان گفت یادگیری ماشینی و شبکه های عصبی، فناوری های هیجان انگیزی هستند. با این حال اگر در تبلیغ یک برنامه با عبارات فوق مواجه شدید، تصور کنید «این برنامه شاید کمی هوشمندتر از بقیه باشد» ولی همچون همیشه، آن را صرفاً بر اساس عملکرد و سودمندی اش قضاوت نمایید.

The post appeared first on .

شبکه های عصبی، یادگیری ماشینی و هوش مصنوعی چه تفاوتی با یکدیگر دارند؟

چرا اپلیکیشن های iOS بر اپلیکیشن های اندروید برتری دارند؟

چرا اپلیکیشن های iOS بر اپلیکیشن های اندروید برتری دارند؟

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

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

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

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

هزینه و زمان مورد نیاز برای توسعه اپ ها

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

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

جدول پایین از سایت شرکت [1]Infinium گرد آوری شده، شرکتی مستقل که به شکل آزمایشی برای هر دو سیستم عامل اپ های مختلفی طراحی کرده و در نتیجه تجربه کافی به منظور توسعه اپ برای اندروید و آی او اس را دارد. مقایسه به این شکل انجام گرفته که برنامه نویسان اینفینیوم اپ هایی یکسان را روی هر دو سیستم عامل با شروط زیر توسعه داده اند:

  • ساختار اپ برای هر دو سیستم عامل به یک شکل باشد.
  • از هیچ کد[2] از پیش آماده ای برای تسهیل فرآیند توسعه این اپ ها استفاده نشده باشد.

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

همان طور که می بینید، تعداد خطوط کد اپ ها روی اندروید نسبت به iOS حداقل 4 درصد و حداکثر 128 درصد در این آزمایش بیشتر است.

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

Screen-Shot-2016-01-31-at-3.57.06-PM-640x438

در این مقایسه هم تفاوت مشهود است. ساخت اپ ها روی اندروید، به طور میانگین 28 درصد زمان بیشتری می طلبد.

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

یکپارچه نبودن بازار اندروید

an

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

آماری که در تصویر پایین مشاهده می کنید در 4 ژانویه سال 2016 توسط خود گوگل[4] ارائه شده. همان طور که مشاهده می کنید تنها 10.1 درصد از کاربران اندروید از آخرین نسخه این سیستم عامل استفاده می کنند و روی گجت های یک سوم مخاطبین این سیستم عامل، هنوز ورژنی از آن نصب شده که قریب به سه سال از عرضه اش می گذرد.

مسلما برای همه برنامه نویسان، توسعه اپلیکیشن روی پلتفرمی با چندین و چند نسخه و ویرایش مختلف کاری بس سخت و دشوار است. حال خودتان را بگذارید جای برنامه نویس اندرویدی که قرار است اپلیکیشنی توسعه بدهد که هم باید روی سیستم عامل 4 یا 5 سال پیش اجرا شود و هم روی نسخه ای از این سیستم عامل که همین چند ماه پیش عرضه شده!

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

برای مقایسه، بد نیست که به نمودار توزیع نسخه های مختلف iOS میان کاربران آی دیوایس ها نگاهی داشته باشید[5].

خطر از دست رفتن مخاطبین

به عنوان یک توسعه دهنده اندروید، دیگر مسئله ای که ذهن تان را درگیر خود خواهد کرد از دست رفتن کاربران تان و تغییر موضع شان به سمت اپل خواهد بود.

طبق آمار های منتشر شده[6]، حدود 26 درصد از خریداران آیفون های 6s و 6s Plus در اولین ماه عرضه شان قبلا از کابران دیوایس های اندرویدی بوده اند. این آمار هر ساله با ارقام دیگری تکرار می شود. برای مثال در دورانی که آیفون 5s عرضه شده بوده، حدود 23 درصد از کاربران اندرویدی به اپل مهاجرت کرده بودند. برای آیفون 6، حدود 12 درصد از خریداران آن پیش تر مالک یک اسمارت فون اندرویدی بوده اند. بسیاری از کاربران اندروید به دلایل امنیتی، به خاطر قابلیت هایی که آی او اس برای شان به ارمغان می آورد و صد البته اپلیکیشن های بهتر، ترجیح می دهند که به جبهه اپل بپیوندند.

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

ابزار توسعه اپلیکیشن بهتر

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

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

مشکل توسعه دهندگان با ADS، متدی است که در آن برای توسعه اپ ها استفاده می شود. در این محیط اپلیکیشن ها با تکیه بر طرح ها و قالب های XML طراحی می شوند. در حالی که بسیاری از توسعه دهندگان رویکرد [7]WYSIWYG که در Xcode استفاده می شود را ترجیح می دهند.

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

اگر شما تجربه ای از توسعه اپ روی این سیستم های عامل دارید، در بخش نظرات دیدگاه خود را با ما و سایر کاربران دیجیاتو در میان بگذارید. سیستم عامل بهتر از بعد توسعه اپلیکیشن به همراه دلایل تان را ذکر کنید تا ما و سایر کاربران دیجیاتو بتوانیم این بحث را بیش تر به پیش ببریم.

پانویس

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

The post appeared first on .

چرا اپلیکیشن های iOS بر اپلیکیشن های اندروید برتری دارند؟

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

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

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

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

هزینه و زمان مورد نیاز برای توسعه اپ ها

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

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

جدول پایین از سایت شرکت [1]Infinium گرد آوری شده، شرکتی مستقل که به شکل آزمایشی برای هر دو سیستم عامل اپ های مختلفی طراحی کرده و در نتیجه تجربه کافی به منظور توسعه اپ برای اندروید و آی او اس را دارد. مقایسه به این شکل انجام گرفته که برنامه نویسان اینفینیوم اپ هایی یکسان را روی هر دو سیستم عامل با شروط زیر توسعه داده اند:

  • ساختار اپ برای هر دو سیستم عامل به یک شکل باشد.
  • از هیچ کد[2] از پیش آماده ای برای تسهیل فرآیند توسعه این اپ ها استفاده نشده باشد.

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

همان طور که می بینید، تعداد خطوط کد اپ ها روی اندروید نسبت به iOS حداقل 4 درصد و حداکثر 128 درصد در این آزمایش بیشتر است.

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

(image)

در این مقایسه هم تفاوت مشهود است. ساخت اپ ها روی اندروید، به طور میانگین 28 درصد زمان بیشتری می طلبد.

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

یکپارچه نبودن بازار اندروید

(image)

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

آماری که در تصویر پایین مشاهده می کنید در 4 ژانویه سال 2016 توسط خود گوگل[4] ارائه شده. همان طور که مشاهده می کنید تنها 10.1 درصد از کاربران اندروید از آخرین نسخه این سیستم عامل استفاده می کنند و روی گجت های یک سوم مخاطبین این سیستم عامل، هنوز ورژنی از آن نصب شده که قریب به سه سال از عرضه اش می گذرد.

مسلما برای همه برنامه نویسان، توسعه اپلیکیشن روی پلتفرمی با چندین و چند نسخه و ویرایش مختلف کاری بس سخت و دشوار است. حال خودتان را بگذارید جای برنامه نویس اندرویدی که قرار است اپلیکیشنی توسعه بدهد که هم باید روی سیستم عامل 4 یا 5 سال پیش اجرا شود و هم روی نسخه ای از این سیستم عامل که همین چند ماه پیش عرضه شده!

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

برای مقایسه، بد نیست که به نمودار توزیع نسخه های مختلف iOS میان کاربران آی دیوایس ها نگاهی داشته باشید[5].

خطر از دست رفتن مخاطبین

به عنوان یک توسعه دهنده اندروید، دیگر مسئله ای که ذهن تان را درگیر خود خواهد کرد از دست رفتن کاربران تان و تغییر موضع شان به سمت اپل خواهد بود.

طبق آمار های منتشر شده[6]، حدود 26 درصد از خریداران آیفون های 6s و 6s Plus در اولین ماه عرضه شان قبلا از کابران دیوایس های اندرویدی بوده اند. این آمار هر ساله با ارقام دیگری تکرار می شود. برای مثال در دورانی که آیفون 5s عرضه شده بوده، حدود 23 درصد از کاربران اندرویدی به اپل مهاجرت کرده بودند. برای آیفون 6، حدود 12 درصد از خریداران آن پیش تر مالک یک اسمارت فون اندرویدی بوده اند. بسیاری از کاربران اندروید به دلایل امنیتی، به خاطر قابلیت هایی که آی او اس برای شان به ارمغان می آورد و صد البته اپلیکیشن های بهتر، ترجیح می دهند که به جبهه اپل بپیوندند.

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

ابزار توسعه اپلیکیشن بهتر

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

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

مشکل توسعه دهندگان با ADS، متدی است که در آن برای توسعه اپ ها استفاده می شود. در این محیط اپلیکیشن ها با تکیه بر طرح ها و قالب های XML طراحی می شوند. در حالی که بسیاری از توسعه دهندگان رویکرد [7]WYSIWYG که در Xcode استفاده می شود را ترجیح می دهند.

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

اگر شما تجربه ای از توسعه اپ روی این سیستم های عامل دارید، در بخش نظرات دیدگاه خود را با ما و سایر کاربران دیجیاتو در میان بگذارید. سیستم عامل بهتر از بعد توسعه اپلیکیشن به همراه دلایل تان را ذکر کنید تا ما و سایر کاربران دیجیاتو بتوانیم این بحث را بیش تر به پیش ببریم.

پانویس

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

The post appeared first on .

چرا اپلیکیشن های iOS بر اپلیکیشن های اندروید برتری دارند؟