معرفی
در این مقاله قصد داریم نحوه پیاده سازی ویژگی های C++/UWP را با استفاده از Visual Studio 2017 بیاموزیم.
معرفی سریع
برنامه Universal Windows بر اساس فناوری Windows Runtime (WinRT) توسعه یافته است. Windows Runtime (که از این به بعد WinRT نامیده می شود) بر اساس COM API اجرا می شود، اما برای استفاده مستقیم طراحی نشده است، در عوض از مفهوم "پیش بینی زبان" برای فراخوانی WinRT API استفاده می کند.
پیشبینیهای زبان اجرای کامل مفهوم COM را در برگرفته است و تجربه برنامهنویسی طبیعیتری را برای فراخوانی APIهای WinRT فراهم میکند. مثال: C# یا اسکریپت جاوا WinRT API را به عنوان فراخوانی تابع عادی فراخوانی می کند. برنامه UWP (WinRT) را می توان در C#، VB، Java script، C++ و زبان های دیگر توسعه داد.
در برنامهنویس C++، نمیتوانید مستقیماً از WinRT API استفاده کنید، باید از پسوندهای زبان C++/CX استفاده کنید (یعنی این بدان معناست که نمیتوانید مستقیماً از UWP (WinRT) در زبان C++ استفاده کنید) و کمی پیچیده است. مایکروسافت ویژگیهای UWP را مستقیماً در ++C آورده است و اولین ساخت RTM در Windows 10 Anniversary Update SDK منتشر شده است.
توجه داشته باشید
نسخه فعلی از پروژه قالب پیش فرض و پشتیبانی از طراحی XAML پشتیبانی نمی کند، این مفاهیم در این ویژگی پشتیبانی می شوند.
ما نمیتوانیم مستقیماً از ویژوال استودیو برای توسعه برنامههای C++/UWP استفاده کنیم، برای استفاده از آن باید تغییراتی در تنظیمات ویژوال استودیو انجام دهیم. در این مقاله من عمدتاً بر نحوه توسعه برنامه های C++/UWP با استفاده از Visual Studio 2017 تمرکز خواهم کرد.
«مایکروسافت C++ را بر آینده متمرکز میکند» و توسعه جدید مایکروسافت توصیه کرده است از C++ استفاده شود نه برای C++/CX
پیش نیازها
Visual C++ 2015 with Update 3 یا Visual Studio 2017 با نصب کامپوننت VC ++ و Windows 10 Anniversary update SDK یا نسخه بالاتر.
در این نمونه ما در Visual Studio 2017 توسعه داده ایم (بسته VC ++ UWP نصب شده است) و
ویندوز 10 بیلد 16251 (نسخه پیش نمایش Windows 10 Insider)
فایل های هدر C++ WinRT را دانلود کنید
فایلهای هدر WinRT را در GitHub دانلود کنید (دانلود پوشه Zip، Ref: تصویر زیر) پوشه Zip را استخراج کنید پوشه winrt را در هر درایو کپی کنید (در نمونه برنامهام، پوشه را در درایو C قرار دادهام)