Windows_Developer_Ninjacat_Unicorn-1024x768-Desktop

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

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

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

Windows-Mobile-6.5

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

نرم افزار های یونیورسال

Xbox-One-to-Support-Universal-Windows-Apps-435509-2

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

در حقیقت نرم افزار یونیورسال در مورد یک رابط کاربری صحبت نمی کند. بلکه سیستم عامل ویندوز در همه دستگاه های دارای هسته ی یکسانی شده است. البته که سیستم عامل برای هر دستگاهی با هر سایز، API ها و امکانات متفاوتی ارائه می کند. این نکته بسیار حیاتی است زیرا یک نرم افزار در صفحه نمایش های با ابعاد مختلف به شکل های مناسب همان صفحه اجرا می شود. در واقع Runtime ویندوز تمامی API ها را در خود جای داده و تشخیص می دهد که هم اکنون نرم افزار در چه دستگاهی در حال اجرا شدن است. اما توسعه چنین نرم افزاری چگونه است؟ برای توسعه یک نرم افزار یونیورسال توسعه دهنده باید نرم افزار خود را به دو قسمت تقسیم کند. ابتدا توسعه دهنده بخش کد مشترک (Shared code) را توسعه می دهد که بخش بزرگ کد نویسی نرم افزار است. حالا او باید برای هر دستگاهی که در نظر دارد نرم افزار بر روی آن اجرا شود کد مخصوص هدف (Specific target code) را بنویسد. در نهایت ویژوال استودیو (ابزار مخصوص مایکروسافت جهت توسعه دهندگان) کد مشترک نرم افزار را با تمامی کد های مخصوص هدف ترکیب (Combine) می کندو یک نسخه از نرم افزار جهت هر دستگاه به وجود می آورد. طبیعی است که این ایده ی ناب می تواند توسعه دهندگان را راضی کند تا نرم افزار های خود را به ویندوز بیاورند زیرا دیگر گله ای از بابت تعداد کم کاربران نمی توانند داشته باشند. از طرفی کاربران هم می توانند با اتکا به نرم افزار های یونیورسال با خیال راحت از همه ی دستگاه های ویندوزی استفاده نمایند.

Creating-Windows-universal-apps-win10

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

پشتیبانی از سایر پلتفرم ها

شاید عجیب باشد اگر بدانید مایکروسافت ابزار هایی را ابداع کرده است که با استفاده از آنها می توان برای سایر پلتفرم ها کدنویسی کرد! بیایید فرض کنیم که ما یک توسعه دهنده هستیم و می خواهیم نرم افزاری را توسعه دهیم. آیا پلتفرم کوچک یونیورسال را انتخاب می کنید یا نرم افزار خود را با معماری Win32 توسعه می دهید؟ اگر پلتفرم یونیورسال را انتخاب کنید، نرم افزار شما تنها در ۳۰۰ میلیون دستگاه ویندوزی قابل اجرا خواهد بود اما اگر یک نرم افزار کلاسیک را توسعه دهید، نرم افزار تان در میلیاردها سیستم ویندوزی از جمله ویندوز ۱۰ و پایین تر اجرا می شود. یک لحظه صبر کنید آیا راه دیگری هم وجود دارد؟ بله ! اصلا بیایید نرم افزار مان را برای اندروید و iOS  توسعه دهیم، چرا که نه؟ آنجا هم میلیارد ها دستگاه هستند که می شود محصول مان را به آنها عرضه کنیم، ببینید. در هر صورت پلتفرم یونیورسال بازنده است. اما مایکروسافت یک ایده ناب دیگر دارد. آنها سعی کرده اند با توسعه ی ابزار هایی مانند Xamarin کاری کنند که توسعه دهندگان کد های ویندوزی خود را بتوانند به پلتفرم اندروید، iOS و OS X ببرند. حالا دوباره همان داستان یکبار کد نویسی تکرار میشود. توسعه دهنده یکبار نرم افزار را با زبان سی شارپ توسعه داده و سپس آن را برای پلتفرم یونیورسال، اندروید، iOS و OS X منتشر می کنند. با این کار توسعه دهنده مجاب می شود که حتما کاربران زیادی به محصول او دسترسی پیدا خواهند کرد.

 xamarin-logo

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

حرکت به سمت دنیای متن باز

 ساتیا نادلا با گفتن جمله ی “مایکروسافت عاشق لینوکس است” این پیام را به دنیای فناوری اطلاعات داد: ((اکنون یک کلانتر جدید در شهر است)).

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

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

  • سرویس ابری مایکروسافت، یا اژور اکنون به صورت رسمی یک سرویس چند پلتفرمی است. در واقع حالا ۲۵ درصد ماشین مجازی اژور، لینوکسی است! علاوه بر این اژور از پنج سرور متفاوت لینوکسی به عنوان ماشین مجازی، پشتیبانی می کند: CoreOS, CentOS, Oracle Linux, SUSE ,Ubuntu.
  • مایکروسافت پارسال کد منبع فریم وورک NET. را باز کرد.
  • مایکروسافت هنوز به انجمن لینوکس نپیوسته ولی به بسیاری از انجمن های متن باز گرویده است. (مانند IoT یا اینترنت اشیا)

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

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

ما می خواهیم مایکروسافت را تبدیل به شرکتی کنیم که مردم عاشق آن بشوند

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

نظر شما در مورد این مقاله چیست؟

منبع : وینفون
306 پست
حسین محمدزاده
لیسانس مدیریت. (تکنولوژی دوست داشتنی ترین چیز در دنیا است)
مطالب مرتبط
دیدگاه کاربران
Shayan
💔 8 پاسخ دهید یکشنبه 9 خرداد 1395

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

HaMeD
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

بسیار عالی❤

farhad delavar
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

احسنت…’
بسیار زیبا بود…

sadegh
💔 2 پاسخ دهید یکشنبه 9 خرداد 1395

فقط اگه یشه از Xamarin پورت win32 گرفت و اپ های یونیورسال رو برای ویندوز های قدیمی تر از ۱۰ هم ارائه کرد، دیگه مشکل توسعه دهنده هایی مثل اسلک هم برطرف میشه و حاضر میشن UWP بسازن (چون فعلا سهم ویندوز ۷ خیلی زیاده و توسعه دهنده ها شاید این سهم بزرگ رو ترجیح بدن به ۱۰)
البته این بهانه هم حداکثر تا دوسال دیگه به طور کامل از بین میره، ولی شاید با این کار به سرعت رشد استور کمک بشه…

    حسین محمدزاده
    💔 2 پاسخ دهید یکشنبه 9 خرداد 1395

    دوست گرامی، دقیقا برعکس گفتید، قرار بر اینه که چون تعداد نرم افزارهای win32، .Net و COM زیاد هست، اونها رو به یونیورسال پورت کنند. راهکار هم پروژه Centennial هست که مایکروسافت در اختیار توسعه دهنده ها قرار داده.

      sadegh
      💔 0 پاسخ دهید جمعه 18 تیر 1395

      شما حرف بنده رو متوجه نشدید
      مایکروسافت برا چی زامارین رو خرید؟ که برای هر پلتفرمی که برنامه مینویسی بنویس فقط توی پلتفرم من بنویس… تا طرف وقتی داره برای iOS برنامه مینویسی بگه حالا که زامارین هست ویندوز و اندرویدش هم بنویسم دیگه (فقط رابط کاربری کار داره تقریبا)
      حالا اگه بشه برنامه های یونیورسال رو روی ویندوز ۷ نصب کرد، طرف جای اینکه بره برنامه win32 رو پورت کنه برای استور ویندوز۱۰، میره یونیورسال مینویسه و میدونه که روی ویندوز ۷ که ۴۵ درصد جامعه ازش استفاده میکنن هم نصب میشه…
      دیگه اینجوری هم یونیورسال ها خیلی خیلی محبوب تر میشن و هم اینکه از تولید شدن برنامه های مشابه جلوگیری میشه… مثلا دوتا اسکایپ میشه یدونه یونی، اسلک یونی میده بیرون (بخاطر کوچک بودن بازار ویندوز ۱۰ برنامش رو یونیورسال نداد)، اسپاتیفای، فوتوشاپ و…

عباس تکثیری
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

بسیار زیبا

amiragha
💔 1 پاسخ دهید یکشنبه 9 خرداد 1395

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

کیارش
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

همیشه منتقد نوشته های شما بودم ، اما امروز واقعا متن به درستی واقعیت ها رو بیان کرده بود ، از جمله :
“… [ویندوز موبایل ] از فقر شدید کمّی [اپلیکیشن ] در مقابل پلتفرم های رقیب خود رنج می برد … ”
” … ایده ی نرم افزار های یونیورسال بسیار هوشمندانه است اما خالی از مشکل نیست … ”
تقریبا همون قدر که شنیدن دوست داشتن لینوکس از زبان مایکروسافت بعید بود ، شنیدن این جمله ها هم زبان وینفون بعید بود.

drjackool
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

چرا حرفی از دولوپر لایسنس گفته نشده؟ مصیبت اصلی اونه!

hamidayr
💔 0 پاسخ دهید یکشنبه 9 خرداد 1395

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

برای نوشتن دیدگاه می توانید به حساب کاربری خود وارد شوید ورود ارسال نظر به صورت مهمان
برچسب ها: , , , , , , ,