اطلاعیه

Collapse
هیچ اطلاعیه ای هنوز ایجاد نشده است .

نگاهی عمیق تر به بخش App Extensions در iOS 8

Collapse
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
new posts

  • [ بررسی ویژه ] نگاهی عمیق تر به بخش App Extensions در iOS 8

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





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

    با قابلیت App Extensions ٬ اپل به کاربران و البته برنامه نویسان اجازه می دهد که قابلیت های سیستم عامل را به گونه سفارشی کنند٬معنای عملکرد App Extensions باز شدن یک اپلیکیشن موازی در سیستم عامل نیست.٬ در واقع این قابلیت راهی برای طراحی اپلیکیشن ها است که یک عملکرد مشابه یا اضافی در خارج از محیط اپلیکیشن در سیستم عامل را برای اپلیکیشن ها فراهم می کند. به طور مثال اپلیکیشن ترجمه گوگل٬ قابلیت هایی را در محیط خود برنامه به کاربران ارائه می کند٬ اما از آن طرف٬ برنامه نویسان ترجمه گوگل٬ می بایست حالت دیگری را در توسعه اپلیکیشن لحاظ کنند که خارج از محیط برنامه٬ مترجم گوگل بتواند به سرویس دهی خود به کاربران ادامه دهد٬ به طور مثال در محیط سافاری٬ از قابلیت های اپلیکیشن مترجم گوگل نیز بتوان استفاده کرد.



    در طی کنفرانس و بخش های آموزشی بعد از آن٬ اپل جزئیات بیشتری پیرامون App Extensions ارائه کرد و دقیقا مشخص کرد که در iOS 8 و Mac OS X Yosemite ٬ برنامه نویسان تا چه مرز هایی اجازه نفوذ دارند
    • بخش Today (مک و iOS): ایجاد ویجت برای بخش Today در Notification center
    • بخش به اشتراک گذاری ( مک و iOS ) : ارسال محتوا به سرویس های درون وب و به اشتراک گذاری با دیگران
    • عملکرد ها ( مک و iOS ) : دیدن و ویرایش محتوا درون دیگر اپلیکیشن ها
    • ویرایش عکس ها ( iOS ) : مشاهده و ویرایش عکس ها و ویدیو ها در اپلیکیشن پیش فرض iOS توسط اپلیکیشن های برنامه نویسان مستقل
    • همگام سازی فایندر ( مک ): کنترل از راه دور محتوا فایل های درون فایندر
    • تامین فضا ( iOS ): ایجاد فضا برای ذخیره متحوا ها بین اپلیکیشن ها
    • کیبورد های سفارشی ( iOS ): ایجاد کیبورد های جایگزین


    برخلاف گوگل که دسترسی های گاها غیر معقول به برنامه نویسان می دهد که باعث ایجاد نفوذ های تخریبی زیادی در آندروید می شود٬ قابلیت App Extensions با آیین نامه ها و قوانین جدید به برنامه نویسان ارائه می شود٬ به طور مثال تمامی افزونه ها (منظور از افزونه ها٬ همان بخش هایی از اپلیکیشن هاست که خارج از محیط اپلیکیشن عمل می کنند) میبایست درون اپلیکیشن اصلی خود در App store ارائه و ثبت شوند و ثبت تنها افزونه ها در App store مجاز نمی باشد. اپل با تمامی دست و دلبازی هایی که برای برنامه نویسان و کاربران در iOS 8 به خرج داد٬ اما هنوز به طور واضح نمی خواهد که کنترل سیستم عامل خود را از دست بدهد و به صورت کامل در اختیار برنامه نویسان و کاربران قرارش دهد٬ در اینجاست که با بخش extension points آشنا می شویم٬ اپل قوانینی را تحت نام extension points وضع کرده است٬ این قوانین به کاربران و برنامه نویسان اجازه نمی دهد که هر افزونه یا Extension را در هر کجای سیستم عامل که بخواهند اجرا کنند٬ به طور مثال در آندروید٬ کاربران می توانند در هر کجای Home screen که بخواهند ویجت ها را نصب کنند و به حرکت در آورند٬ اما extension points تنها اجازه می دهد که ویجت ها در بخش Today در Notification center نصب شوند٬ یا بخش تامین قضا٬ تنها برای انتقال اسناد ها بین اپلیکیشن ها استفاده خواهد شد.
    در واقع اپل می خواهد که کاربران تسلط کاملا بیشتری بر روی سیستم عامل و اپلیکیشن های نصب شده آن داشته باشند٬ آنها می توانند خود انتخاب کنند که چه ویجت هایی در بخش TODAY وجود داشته باشند و از چه کیبورد هایی استفاده کنند٬ اما آنچه که در میان مهم خواهد بود٬ تلاش اپل برای دادن دسترسی های بیشتر و امکانات سفارشی کردن بیشتر به کاربران تحت یک سری قانون کلی است٬ چه این دسترسی ها٬ دیدن یک ویحت باشد یا ذخیره صفحات وب در سافاری یا استفاده از کیبورد های جدید٬ اما این تلاش اپل به طور مشخص دارای سه نکته کاملا مثبت است٬ نخست تلاش برای خوشحال کردن کاربران با ایجاد دسترسی های بیشتر٬ دوم٬ بالابردن ظرفیت کاربردی اپلیکیشن های مستقل و در نهایت سومین نکته مثبت٬ نگهداری امنیت و ثبات سیستم عامل با همه دسترسی های داده شده.


    در طول کنفرانس و بخش های آموزشی برنامه نویسان٬ هرچند که ویجت های زیادی برای iOS 8 آماده نبود٬ اپل دمو هایی از چگونگی کارکرد آنان پخش کرد که به برنامه نویسان آموزش دهد که چگونه این افزونه ها را در اپلیکیشن های خود ترکیب کنند.
    افزونه هایی که در Notification center ظاهر می شود٬ براساس دیکشنری اپل نیز ویجت نامیده می شود٬ این ویجت ها درون برنامه ها نصب هستند و هر زمانی توسط کاربران می توانند در بخش Today ٬ اضافه یا حذف شوند. در طول کنفرانس نیز Craig Federighi دو ویجت از SportsCenter برای نشان دادن نتیجه تیم های مورد علاقه و Ebay به نمایش گذاشت٬ کریگ نشان داد که بدون باز کردن نسخه های اصلی این اپلیکیشن ها٬ میتوان به محتوای ویجت های آنان در بخش Today دسترسی داشت٬ البته این به تصمیم برنامه نویسان و کاربران بستگی دارد که ویجت ها تنها زمانی به نمایش درآیند که محتویای جدیدی دارند یا اینکه همیشه حضور داشته باشند.



    اپل به برنامه نویسان پیشنهاد می کند که ویجت ها تا حد امکان ساده باشند و بر روی محتوا متمرکز باشند و البته بیش از حد بزرگ نباشند و البته اپل٬ ویجت هایی که رم زیادی را درگیر خود می کند٬ رد خواهد کرد. اما این محدودیت ها هرچه که باشد میتواند در٬ در اختیار قرار دادن قابلیت ها بسیار موثر باشد٬ بصورت مثال سال گذشته شرکت فلیپس٬ اپلیکیشنی برای کنترل نور چراغ های خانگی فیلپیس برای iOS منتشر کرد٬ با این اپلیکیشن می توان نور و رنگ چراغ را تنظیم کرد٬ اما برای چنین کار ساده ای٬ تا پیش از این٬ کاربران می بایست اپلیکیشن را باز کرده و از آن استفاده کنند٬ حال فلیپس می تواند با یک ویجت ساده٬ و تنها با یک کشیدن از بالا به پایین انگشت برای بخش Today ٬ این قابلیت را در دسترس کاربران قرار دهد.

    دسترسی به بخش اشتراک گذاری یکی دیگر از قابلیت باز شده برای برنامه نویسان است. اپل در طی سه سال گذشته٬ سیستم عامل را با سرویس های مانند فیس بوک٬ توییتر٬ فلیکر و Vimeo ادغام کرد٬ اما اگر کمی دقیق تر بنگریم٬ متوجه می شویم که صد ها شبکه اجتماعی و اشتراکی پر طرفدار در دنیای وب وجود دارد و اپل نمی تواند هر سال یک یا دو عدد از آنان را به ساپورت سیستم عامل اضافه کند٬ در iOS 8 ٬ اپل به تمامی سرویس های تحت وب که یک اپلیکیشن اختصاصی برای خود دارند٬ اجازه داده است که افزونه ای برای بخش اشتراک گذاری آماده کنند٬ کاربران نیز می توانند به خواسته خود هر کدام را که بخواهند درون بخش اشتراک گذاری اضافه یا حذف کنند. بنابراین انتظار می رود تا پاییز امسال٬ صد ها افزونه برای بخش اشتراک گذاری توسط شبکه های اجتماعی و اشتراکی ای مانند اینستاگرام٬ paintrest, reddit ٬ گوگل پلاس و ... برای بخش اشتراک گذاری iOS از راه بیایند.


    مورد دیگری پیرامون بخش افزونه های iOS 8 ٬ می توان به بخش عکس ها اشاره کرد. به لطف iOS 8 ٬ برنامه نویسان می توانند افزونه هایی برای اپلیکیشن های ادیت عکس خود متنشر کنند که کاربران بتوانند به طور مستقیم از اپلیکیشن پیشفرض Photos ٬ عکس های خود را ویرایش نمایند. به طور مثال در طی کنفرانس٬ کریگ با استفاده از دو افزونه اپلیکیشن های VSCO Cam و Waterlogue ٫ از افکت هایی بر روی عکس ها در اپلیکیشن پیش فرض photos استفاده کرد. در این بخش حتی برنامه نویسان می توانند رابط کاربری دلخواه خود را در افزونه های اپلیکیشن پیش فرض Photos برای خود لحاظ کنند٬ اما اپل پیشنهاد می دهد که از رابط کاربری پیشفرض استفاده شود و البته امکانات ارائه شده در افزونه ها بسیار پیچیده و گیج کننده نباشند. به طور مثال برنامه نویسان اپلیکیشن فتوشاپ در آیپد٬ می تواند افزونه ای برای اپلیکیشن پیشفرض Photos آماده کنند٬ و البته این انتخاب آنان خواهد بود که افزونه مورد نظر٬ تا چه حد از امکانات اصلی نرم افزار فتوشاپ را در اپلیکیشن photos ارائه کند.
    اینکه مشخص است٬ تا پاییز امسال٬ صد ها اپلیکیشن٬ افزونه های زیادی برای iOS 8 در بخش عکس ها ارائه می کنند٬ می توان پیش بینی کرد که اکثر این افزونه ها پیرامون افکت ها در عکس ها باشند٬ البته به طور حتم٬ قابلیت های ویرایش های حرفه تر نیز در میان افکت ها از راه می رسند.


    به طور مشخص٬ جذاب ترین قسمت قابلیت App Extensions در بخشی که به نام Action معرفی شده ٬ ارایه می گردد٬ در این بخش به کاربران اجازه داده می شوند که به ویرایش یا دیدن محتویان دیگر اپلیکیشن ها٬ از درون یک اپلیکیشن دیگر پرداخت. کریگ برای این بخش٬ دو مثال عملی را در کنفرانس به نمایش گذاشت٬ نخست با استفاده از افزونه اپلیکیشن Bing ٬ به ترجمه یک متن ژاپنی در سافاری پرداخت٬ این ترجمه در حالی انجام شده که هیچ محیط جدیدی متعلق به Bing در سافاری باز نشد و مستقیما متن در سافاری از ژاپنی به انگلیسی تغییر کرد٬ مورد دیگر٬ ارسال یک عکس مستقیما از محیط سافاری به اپلیکیشن Paintrest بود.
    در واقع این قابلیت به کاربران جهت کارکرد بهتر با مجموعه ای از اپلیکیشن ها٬ بدون باز کردن هر یک از آنان به صورت جداگانه کمک می کند.
    مهم تر از آن٬ به نظر می رسد که قابلیت Action در iOS 8 بسیار قوی تر و کاربردی تر از تمامی مورد های مشابه در دیگر پلتفرم ها است٬ در واقع با بخش Action ٬کاربران یک مدل کوچک شده از اپلیکیشن های دیگر را همیشه با خود در هر اپلیکیشنی همراه دارند و هر زمان که بخواهند٬ برای استفاده به آن رجوع می کنند٬ به طور مثال اگر در فکر ارسال یک پست در یک سایت هستیم٬ پس از قرار دادن عکس ها در محیط نوشتاری٬ می توان عکس ها را مستقیما در محیط سافاری٬ با استفاده از توانایی های اپلیکیشن های دیگر به ویرایش پرداخت.
    قابلیت Action به صورت کامل محیط کاری iOS را برای همیشه عوض می کند و شاید بتوان گفت که اصلی ترین و مهمترین تغییر iOS از روز نخست تاکنون است٬ Action یک سیستم جدید چرخش کاری بین اپلیکیشن ها فراهم می کند که در محیط امنیتی اپل در کنار یک دیگر کار می کنند. برای یک لحظه تصور کنید که از پاییز امسال٬ می توانید از قابلیت های اپلیکیشن هایی مانند Evernote ٬ Instapaper یا حتی اپلیکیشن های تبدیل و ویرایش PDF مستقیما در محیط سافاری استفاده کنید. تا امروز٬ برنامه نویسان می بایست اپلیکیشن های مستقلی می نوشتند که توانایی شناسایی همدیگر را نداشتند٬ اما حال با بخش Action قابلیت App Extensions ٬ اپلیکیشن ها می توانند با یکدیگر صحبت کنند و در یک محیط قابلیت های خاص یکدیگر را برای هم به اشتراک گذارند.




    کیبورد های سفارشی٬ شاید بزرگ ترین سوپرایز اپل در WWDC 14 بود٬ شرکتی که همیشه به طراحی کیبورد هایش افتخار می کرد٬ حال در سیستم عاملش را برای هزاران هزار کیبورد جدید با شکل و طرح های مختلف باز کرده است٫ از اپل بعید نیست؟ چه باور کنید یا خیر٬‌ اپل این کار را کرده است. البته در این مورد نیز اپل برخلاف گوگل٬ محدودیت های امنیتی زیادی وضع کرده که حداقل کیبورد های سفارشی و جدید به دزدیدن پسورد ها یا مونیتور کردن محتویات مکالمات کاربران نپردازند. بنابراین کیبورد جدید اجازه تایپ در بخش های خالی امنیتی را نخواهند داشت٬ احتمالا منظور از این بخش ها٬ وارد کردن اطلاعاتی مثل کارت های اعتباری خواهند بود. کیبورد ها نیز به مانند دیگر افزونه ها باید در Apple store بهمراه اپلیکیشن های اختصاصی شان ثبت گردند و حتما باید دکمه ای برای سوئیچ کردن به دیگر کیبورد ها را داشته باشند.
    اپل به برنامه نویسان پیشنهاد کرده است که برای عملکرد و تنوع بیشتر٬ کیبورد هایی برای ساپورت های زبان های بیشتر و البته روش تایپ متفاوت (‌مثل کشیدن انگشت بر روی کلید ها) عرضه کنند٬ دو شرکت معروف که در زمینه عرضه کیبورد های مختلف برای آندروید شهره هستند٬‌نیز افزونه هایی برای iOS 8 آماده خواهند کرد.



    برنامه نویسان چه فکر می کنند؟
    بعد از سفری که در پشت پرده iOS 8 داشتیم٬ حال بهتر است به بازیگران اصلی این داستان برسیم٬ اپل با App Extensions به نوعی توپ را در زمین برنامه نویسان به گردش درآورده است و حال آنان هستند که در حال ساخت ساحتار iOS هستند. در ادامه به انتشار نظر برخی از برنامه نویسان پلتفرم iOS می پردازیم٬ و خواهیم فهمید که آنان پیرامون App Extensions چه حسی دارند؟ آیا مثل ما هیجان زده هستند؟
    Ole Zorn برنامه نویس اپلیکیشن های Pythonista و Editorial اعتقاد دارد که اپل قابلیت ها را به شکلی ساده و مناسب طراحی کرده است که ما می توانیم تا قبل از پاییز خود را به گردونه رقابت افزونه ها برسانیم٬ او می افزاید که اپل بر روی ساختار های ضروری کار کرده است و من کاملا مطئمن هستم که ساختار جدید اپل بسیار قدرتمند است.
    Hon Cheng برنامه نویس اپلیکیشن Dispatch که یک اپلیکیشن در زمینه مدیریت ایمیل است می گوید٬ این قابلیت بسیار قدرتمند است و خیلی خوب است که اپلیکیشن ها لازم نیست از از نصب هر افزونه مربوط به اپلیکیشن های دیگر مطلع شوند. Michael Simmons نیز که یکی از برنامه نویسان اپلیکیشن Fantastical است می گوید که راه حل اپل برای این موضوع٬ بسیار خوب و بی دردسر است٬ و در عین حال Greg Pierce ٬ برنامه نویس اپلیکیشن Draft معتقد است که اپل زیر بنای بسیار مناسبی برای افزونه ها فراهم کرده است. او می افزاید که اپل روش بسیار خوبی برای ساخت افزونه ها در اختیار ما قرار داده٬‌من در کمتر از ۱۵ دقیقه یکی از آنان را ساختم

    سوال هایی نیز پیرامون شکل طراحی افزونه ها وجود دارد٬ منظور از شکل یا راه طراحی همان extension points است٬ چیزی که اپل تایین می کند که کدام افزونه در کجا باید قرار بگیرد. براساس متد ارائه شده٬ اپلیکیشن هایی مانند Dispatch یا Editorial در صفحه مربوط به افزونه های اشتراک گذاری ظاهر خواهند شد٬ و البته کاربران می توانند مشخص کنند که کدام افزونه در اول لیست اشتراکی ها قرار بگیرند.


    Hon Cheng در این زمینه می گوید٬ که برای بسیاری از اپلیکیشن ها٬ این حالت فوق العاده است٬ اما برای برخی از اپلیکیشن ها٬ مثل اپلیکیشن Dispatch ٬ این مسئله کمی مشکل ساز خواهد بود٬ زیرا شاید بهتر باشد جایگاه این افزونه در بخش Action قرار بگیرد٬ Ole Zorn نیز در این زمینه می گوید که محدودیت های زیادی هنوز بر سر راه برنامه نویسان برای آنچه که می خواهند کنند وجود دارد٬ اما این محدودیت ها خود نیز باعث جلوگیری از گیج شدن کاربران می شوند٬‌زیرا آنان همیشه می دانند که هر افزونه٬ براساس جایگاهش٬ به چه شکل توانایی خدمات رسانی دارد.

    در حالی که برنامه نویسان به کمی آزادی بیشتر از آنچه که در iOS 8 است٬ خوش آمد گویی خواهند گفت٬ اما به نظر قوانین اپل برای اجرای بهتر و با نظم تر افزونه ها موثر تر خواهد بود٬ برنامه نویس Greg Pierce نیز معتقد است که این محدودیت ها لزوما بد نیست٬ بدلیل اینکه کاربران عادت کرده اند و انتظار دارند برای انجام عملیات بیشتر وارد بخش اشتراک گذاری شوند٬ در واقع اپل کار هوشمندانه برای کنترل شرایط افزونه ها کرد٬ زیرا اگر افزونه ها تجربه بدی را به کاربران منتقل کنند٬ شاید هرگز مورد استفاده قرار نگیرند.



    وقتی از برنامه نویسان پیرامون وضعیت کیبورد های سفارشی می پرسیم٬ وضعیت به طور کلی با گذشته فرق می کند. Ioannis Verdelis رئیس COO و Fleksy که یکی از اصلی ترین شرکت ها در زمینه ساخت کیبورد های سفارشی در آندروید است٬ پیرامون iOS 8 می گوید: از بعد از کنفرانس WWDC 14 ٬ ما کار خود را برای ساخت کیبورد های جدید تحت پلتفرم iOS شروع کردیم و در کمتر از 48 ساعت به اولین دستاورد خورد رسیدیم. ما واقعا هیجان زده هستیم٬ تیم ما با نفس های حبس شده٬ همیشه تمام کنفرانس های WWDC را دنبال می کردیم٬ اما اینبار همه چیز فرق می کرد و ما با دیدن این قابلیت فریاد زیادی کشیدیم٬ تا حدی که همسایه هایمان را نگران کردیم. با iOS 8 ما می توانیم با تجربیاتی که در چند سال اخیر جمع کردیم٬ کیبورد های بی نظیری برای iOS اماده کنیم٫ کیبورد هایی که تاکنون فقط برای آندروید در دسترس بود. آنچه ما پیرامون وضعیت کیبورد های سفارشی در WWDC 14 دیدیم٬ واقعا یک پیکر بندی قدرتمند دارد و به ما اجازه می دهد که محصولات بی نظیر و هوشمندانه را راهی App store کنیم.



    در نهایت باید گفت که اپل در iOS 8 ٬ بیشتر از آنکه قابلیت های متداول را برای کاربران ارائه کند٬ شروع به قدرتمند تر کردن اکوسیستم و پلتفرمش کرد و به صورت مشخصی توپ را به زمین برنامه نویسان ارسال کرد و با دسترسی هایی که داد٬ آنان را بیش از پیش مسئول پیشرفت سیستم عامل iOS کرد. iOS 8 امسال در سپتامبر٬ همراه با نسل بعدی آیفون منتشر خواهد شد.
    i-phone.ir
    The Best or Nothing



    Twitter : Rouzbeh7000

  • #2
    نظر خود را با ما در میان بگذارید

    http://www.i-phone.ir/forums/thread95637.html
    i-phone.ir
    The Best or Nothing



    Twitter : Rouzbeh7000

    نظر


    • #3
      در نسخه سوم آزمایشی iOS 8 ٬ یکی دیگر از امکاناتی که توسط App Extensions برآورده شده٬ مشاهده شده
      در اپلیکیشن پیش فرض نقشه های ios ٬ یک تب جدید به نام Apps اضافه شده است که به کاربران اجازه می دهد به صورت مستقیم مسیری را که در نقشه های اپل جستجو کرده اند٬ در دیگر اپلیکیشن ها ناوبری٬ از جمله نقشه های گوگل مشاهده کنند٬ و ادامه ناوبری در آنها دنبال کنند.

      i-phone.ir
      The Best or Nothing



      Twitter : Rouzbeh7000

      نظر

      صبر کنید ..
      X