‏نمایش پست‌ها با برچسب WinRT. نمایش همه پست‌ها
‏نمایش پست‌ها با برچسب WinRT. نمایش همه پست‌ها

۱۳۹۰/۱۱/۲۵

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت آخر


زيرنويس‌هاي فارسي قسمت آخر «Building Windows 8 Metro Apps in C# and XAML» را از اينجا مي‌تونيد دريافت كنيد.

اين قسمت براي كساني كه مي‌خواهند مروري بر مفاهيم Binding موجود در WPF و سيلورلايت داشته باشند و همچنين تفاوت‌هاي آن‌را با نمونه موجود در WinRT بررسي كنند، بسيار مفيد است. در كل سيستم Binding موجود در WinRT يك نمونه ساده شده آنچيزي است كه در سيلورلايت موجود است (و البته سيلورلايت هم يك نمونه ساده شده WPF است!).
براي مثال خاصيت UpdateSourceTrigger موجود در عبارات Binding مرتبط با WPF و سيلورلايت فعلا در WinRT وجود ندارد.
تفاوت ديگر اين است كه هرچند اينترفيس INotifyPropertyChanged در WinRT هم وجود دارد اما نمونه مهياي در فضاي نام جديدي به نام windows.ui.xaml.data توسط WinRT شناسايي مي‌شود و اگر كدهاي ساير فناوري‌هاي مشابه را به سيستم مترو تبديل كنيد، كار نخواهند كرد! چون اين اينترفيس پيشتر در فضاي نام System.ComponentModel تعريف شده بود و هنوز هم حضور دارد (فقط در حد يك تغيير سطر تعاريف فضاهاي نام كفايت مي‌كند).
يك تله ديگر هم در WinRT وجود دارد. در اينجا هم كلاسي به نام DependencyObject وجود دارد كه ... معادل نمونه مشابه WPF و Silverlight نيست و XAML امكان تشخيص خودكار تغييرات خواص آن‌را ندارد.
همچنين اينترفيس INotifyCollectionChanged مرتبط با ObservableCollection موجود در WPF و Silverlight در WinRT فعلا وجود خارجي ندارند (هرچند هنوز در خود دات نت فريم ورك وجود دارند، اما كار نمي‌كنند). به نظر قرار است تا قبل از ارائه نهايي ويندوز 8 در اين مورد تصميم گيري شود. اما در اينجا بايد از IObservableVector استفاده كرد! (كلا اين كلمه Vector ابراز وجود زايد طراحان سي++ مترو است! يعني ما هنوز هم زنده‌ايم و سي++ هنوز هم مهم است!)
نحوه گروه بندي اطلاعات نيز تغيير كرده است و بايد منبع داده‌اي، اينترفيس جديد IGroupInfo را پياده سازي كند. به علاوه CollectionViewSource آن نيز فعلا قابليت‌هاي جستجو و مرتب سازي موجود در WPF و سيلورلايت را ارائه نمي‌دهد.

۱۳۹۰/۱۱/۱۴

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت پنجم


زيرنويس‌هاي فارسي قسمت پنجم «Building Windows 8 Metro Apps in C# and XAML» را از اينجا و يا اينجا مي‌تونيد دريافت كنيد.

ليست سرفصل‌هاي قسمت پنجم به شرح زير است:

Application Model  00:59:50 
Metro and WinRT introduce some significant changes to the world in which applications execute. 
This module describes the implications for developers. 
Introduction
Application Lifecycle
Demo: Application Lifecycle
Managing State
Demo: Saving State
Splash Screens
Launching Applications
Application Manifest
Packaging
Summary


اين قسمت به جزئيات نحوه اجراي برنامه‌هاي مترو مي‌پردازد. اگر با IIS كار كرده باشيد، سيكل اجرايي برنامه‌هاي مترو ويندوز 8، همانند سيكل اجرايي برنامه‌هاي ASP.NET شده است! ويندوز مختار است برنامه شما را پس از مدتي بيكاري (البته اين مدت در اينجا فقط 5 ثانيه است!)، معلق كرده يا حتي خاتمه دهد و تمام اين‌ها هم از ديد كاربر نهايي مخفي است. مانند زمانيكه يك برنامه ASP.NET پس از مدتي بيكاري، توسط IIS خاتمه مي‌يابد (از حافظه خارج مي‌شود) و پس از مدتي با رسيدن يك درخواست جديد، يك پروسه جديد براي اجراي آن ايجاد شده و مجددا سايت شروع به كار خواهد كرد؛ اينجا هم در دنياي مترو تقريبا به همين نحو با يك برنامه رفتار مي‌شود.
يك نكته جالب ديگر هم در برنامه‌هاي مترو وجود دارد: ترد اصلي برنامه از ترد رابط كاربري جدا شده است. براي مثال سازنده كلاس App برنامه در يك ترد و رابط كاربري برنامه در ترد مجزاي ديگري اجرا مي‌شوند.
به علاوه روش‌هاي متفاوتي هم براي اجراي برنامه‌هاي مترو درنظر گرفته شده. ديگر فقط حالت كليك بر روي يك برنامه سبب اجراي آن نمي‌شود. مي‌توان بر اساس اتصال يك سخت افزار خاص به سيستم يا حتي يك جستجو هم سبب اجراي برنامه‌اي شد. براي مثال مي‌توانيد برنامه خود را طوري طراحي كنيد كه نتيجه‌ي جستجويي را در سيستم نمايش دهد.
سيستم بسته بندي برنامه‌هاي مترو نيز بسيار شبيه به فايل‌هاي XAP برنامه‌هاي سيلورلايت است كه همه چيز داخل يك فايل قرار داده مي‌شود؛ از فايل‌هاي تنظيمات برنامه تا فايل‌هاي كامپايل شده و منابع مورد نياز. البته در اينجا نامش به appx تغيير يافته است به علاوه يك فايل cer كه حاوي مجوز ديجيتال اجباري توزيع برنامه‌هاي مترو در فروشگاه ويندوز است.

۱۳۹۰/۱۱/۰۶

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت چهارم


زيرنويس‌هاي فارسي قسمت چهارم «Building Windows 8 Metro Apps in C# and XAML» را از اينجا و يا اينجا مي‌تونيد دريافت كنيد.

ليست سرفصل‌هاي قسمت چهارم به شرح زير است:

List Controls  00:31:14 
This module shows the Metro controls available to XAML applications for working with collections of items.
This includes the new GridView and ListView controls, 
which are optimized for handling collections in a touch-based user interface. 

Introduction
Items Controls
Demo: ListBox vs ListView
Demo: GridView
Demo: FlipView 
Common ItemsControl
Semantic Zoom
Demo: JumpViewer
Summary

اين قسمت به بررسي يك سري كنترل ليستي جديد ويندوز 8 اختصاص دارد شامل ListView بازنويسي شده و همچنين GridView به همراه دو كنترل FlipView و JumpViewer كه تمام اين‌ها جهت كار با صفحات لمسي بهينه سازي شده‌اند.

۱۳۹۰/۱۰/۳۰

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت سوم


زيرنويس‌هاي فارسي قسمت سوم «Building Windows 8 Metro Apps in C# and XAML» را از اينجا و يا اينجا مي‌تونيد دريافت كنيد.

ليست سرفصل‌هاي قسمت سوم به شرح زير است:

Controls  00:48:08 
WinRT provides numerous XAML controls, which act as the building blocks of your applications.
Some of these will be familiar, while some are new to Metro. 
Introduction
Command Controls
Demo: Application Bar
Context Menus
Demo: Context Menus
Application Settings
CheckBox, RadioButton, and ToggleSwitch
Progress Controls
Demo: Progress Controls
Displaying Text
Demo: Displaying Text
Text Entry
Sliders
Styling
WebView
UserControl
Summary

مطالبي كه بيشتر در اين سري بر روي آن‌ها تمركز شده، مباحث صفحات لمسي و تغييرات كنترل‌هاي ويندوز 8 جهت سازگاري با اين مساله است. بنابراين در اين سري بيشتر از هرچيزي finger ، tap و touch را خواهيد شنيد. جايي كه چند جا را مي‌شود همزمان لمس كرد و با چندين انگشت همزمان كار كرد كه نكات قابل توجهي را نسبت به دنياي تك بعدي ماوس به همراه دارد.

۱۳۹۰/۱۰/۲۵

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت دوم


زيرنويس‌هاي فارسي قسمت دوم «Building Windows 8 Metro Apps in C# and XAML» را از اينجا و يا اينجا مي‌تونيد دريافت كنيد.

ليست سرفصل‌هاي قسمت دوم به شرح زير است:

Layout 00:46:16 
C# Metro applications have access to numerous XAML layout features. 
This module describes those services, and shows how to use them to support Windows 8 features such as display orientation, and snap. 

Introduction
Layout System
Size Properties
Alignment
Margin
Demo: Margin and Alignment 
Padding 
Panels 
Demo: Canvas 
Demo: Grid and Snap 
Data-Oriented Panels 
ScrollViewer 
Metro Layout Conventions 
Layout Change Events 
Summary

در كل اين قسمت هم آنچنان كاري به برنامه نويسي ندارد و به بررسي و معرفي امكانات طرحبندي XAML مي‌پردازد؛ به علاوه يك سري قراردادهاي خاص مترو و همچنين نحوه‌ي كنار آمدن با حالت snapping ويژه ويندوز 8.


قسمت سوم مروري دارد بر كنترل‌هاي XAML كه حدودا يك هفته ديگر زيرنويس‌هاي آن تمام خواهد شد.
لطفا اگر پس از مشاهده اين سري آماده شده، اصلاحي را انجام داديد، اون رو براي اعمال در اينجا ارسال كنيد. از اين برنامه هم جهت ويرايش فايل‌ها مي‌توان استفاده كرد.

۱۳۹۰/۱۰/۲۳

زير نويس فارسي ويديوهاي ساخت برنامه‌هاي مترو توسط سي شارپ و XAML - قسمت اول


سايت pluralsight ويديوهاي آموزشي بسيار با كيفيتي را در مورد مباحث مختلف دات نت تا بحال تهيه كرده و تقريبا هر موضوع جديدي هم كه اضافه مي‌شود، بلافاصله يك سري جديد را تهيه مي‌كنند. مدرسين انتخابي هم عموما افراد نامدار و باسوادي هستند.
پروژه‌اي رو در سايت كدپلكس شروع كردم جهت تهيه زيرنويس فارسي براي اين ويديوها:


اين كار نسبت به كار تهيه زيرنويس‌هاي فارسي موجود براي فيلم‌هاي انگليسي كار سخت‌تري است به چند دليل:
- اسكريپت آماده‌اي وجود ندارد. كار شنيداري است.
- زمانبندي آماده‌اي وجود ندارد.
- مباحث تخصصي است.
- مدرس از ثانيه اول ويديو تا ثانيه آخر آن حرف مي‌زند!

براي مثال جهت تهيه زيرنويس‌هاي فارسي فيلم‌هاي انگليسي عموما به سايت‌هايي مانند subscene.com مراجعه مي‌شود. يك زيرنويس يا به قولي اسكريپت آماده يافت شده و شروع به ترجمه مي‌شود. متن آماده است. زمانبندي آماده است و فقط كار ترجمه باقي مي‌ماند.
اما در مورد ويديوهاي آموزشي انگليسي خير. به همين جهت در اين زمينه كار آنچناني تابحال صورت نگرفته.
كار زمانبري است. فعلا ركورد من براي هر سه دقيقه ويديوي آموزشي كه مدرس از ثانيه اول تا آخر آن حرف مي‌زند، 40 دقيقه كار تهيه زير نويس فارسي زمانبندي شده است.

سري جديدي رو كه شروع كردم تحت عنوان «Building Windows 8 Metro Apps in C# and XAML» در سايت pluralsight ارائه شده.
فعلا قسمت اول آن زيرنويس دار شده و از اينجا قابل دريافت است. براي مشاهده آن‌ها برنامه با كيفيت و رايگان KMPlayer توصيه مي‌شود.

ليست ويديوهاي قسمت اول آن به شرح زير است:

Building Windows 8 Metro Apps in C# and XAML 
Overview  00:50:41 
This modules provides an overview of how to develop Windows 8 Metro style applications in C# and XAML. 

Introduction
XAML and Codebehind
Asynchronous APIs
Demo: Asynchronous APIs
Files and Networking
Demo: Requesting Capabilities
Integrating with Windows 8
WinRT and .NET
Summary

كلمه سي شارپ در اين قسمت كمي غلط انداز است. بيشتر بحث و توضيح است تا كد نويسي. بنابراين براي عموم قابل استفاده است. خصوصا نگاهي دارد به تازه‌هاي ويندوز 8 از ديدگاه برنامه نويس‌ها مانند سطوح دسترسي برنامه‌هاي مترو، معرفي Charms ، نحوه به اشتراك گذاري اطلاعات در بين برنامه‌هاي مترو نصب شده، براي مثال جايي كه ديگر Clipboard سابق وجود ندارد و مواردي از اين دست.

5 قسمت ديگر اين مبحث باقيمانده كه هر زمان تكميل شد، خبرش رو خواهيد شنيد و تقريبا از اين پس اين سايت به همين ترتيب جلو خواهد رفت. فكر مي‌كنم اينطوري مفيدتر باشد. هر از چندگاهي يك مبحث جديد زيرنويس دار شده را مي‌توانيد مشاهده كنيد.

اگر علاقمند بوديد مي‌تونيد در اين پروژه شركت كنيد و يك موضوع جديد و مستقل را براي تهيه زيرنويس شروع كنيد. يا حداقل اگر پس از مشاهده اين سري آماده شده، اصلاحي را انجام داديد، مي‌تونيد اون رو براي اعمال در اينجا ارسال كنيد.

۱۳۹۰/۰۷/۲۹

راهنماي انتخاب فناوري‌هاي مختلف


اگر مطالب مرتبط با WinRT را دنبال كرده باشيد، شركت Telerik فلوچارتي را به عنوان راهنماي انتخاب فناوري‌هاي مختلف جهت توسعه برنامه‌هاي ويندوز با جهت گيري دات نت، منتشر كرده‌‌است كه برگردان فارسي آن به صورت زير است:


همين تصوير با فرمت‌هاي PDF و Visio

۱۳۹۰/۰۷/۰۶

هيتلر و WinRT


يك سري ويديو در يوتيوب هست كه پايه اصلي آن‌ها قسمتي از بحث هيتلر با فرماندهان SS است. حالا اينجا افراد مختلف اومدن براي اين يك تك ويديو، زيرنويس‌هاي مختلفي تهيه و آپلود كرده‌اند. يكي از اين‌ها، به همين بحث داغ WinRT مرتبط است. اين زير نويس رو به فارسي ترجمه كردم كه به همراه اصل ويديو از آدرس‌هاي زير قابل دريافت هستند:



براي ديدن بدون دردسر زير نويس تهيه شده هم مي‌شود از برنامه‌ي عالي و رايگان KMPlayer استفاده كرد.


نمونه‌هاي مشابه ديگر در يوتيوب:

۱۳۹۰/۰۶/۲۹

خلاصه‌اي كوتاه در مورد WinRT


WinRT چيست؟

مايكروسافت جهت سهولت توليد برنامه‌هاي جديد Metro-style ، لمسي (touch-centric) و tablets ويندوز 8 ، اقدام به بازنويسي مجدد Windows-API كرده و نام آن‌را WinRT گذاشته است. بنابراين همانند آنچه كه در مورد API‌ ويندوز از روز اول پيدايش آن مرسوم بوده، اين API جديد، از نوع native (نوشته شده با CPP) مي‌باشد و با كمك دات نت فريم ورك تهيه نشده است. اين API جديد مبتني بر فناوري قديمي COM است، بنابراين مطابق معمول توسط هر نوع برنامه‌ و سيستمي در ويندوز قابل دسترسي است. تفاوتي نمي‌كند كه CPP يا دلفي باشد يا دات نت. به صورت خلاصه ويندوز 8 دو طراحي جديد (WinRT) و قديم (Win32 API) را با هم پشتيباني مي‌كند. اگر آن‌را صحيح‌تر بخواهيم معرفي كنيم، WinRT درحقيقت محصور كننده‌ي (Wrapper) همان Win32 API سابق است (در پشت صحنه همان dll هاي سابق ويندوز را بارگذاري و استفاده مي‌كند) جهت تطابق با نيازهاي دهه اخير و سال‌هاي پيش رو.


سازگاري دات نت فريم ورك با WinRT چگونه است؟

اينبار WinRT برخلاف Win32 API (كه در زمان ارائه آن اصلا دات نتي در كار نبود)، جهت سازگاري با دات نت طراحي شده است. اين طراحي جديد ILDasm metadata را در اختيار برنامه نويس‌هاي دات نت قرار مي‌دهد و به اين ترتيب IntelliSense و قابليت‌هاي Debugging ويژوال استوديو همانند كدهاي مديريت شده‌ي دات نت جهت برنامه نويسي مبتني بر WinRT در اختيار برنامه نويس‌ها خواهد بود (فرمت ارائه شده، ECMA 335 metadata format مي‌باشد). همچنين اشياء COM متعلق به WinRT به خوبي توسط GC (آشغال جمع كن) دات نت جهت مديريت بهتر حافظه، تحت نظر مي‌باشند.
بنابراين از ديدگاه يك برنامه نويس دات نت، كل WinRT به صورت managed assemblies مشاهده مي‌شود، اينترفيس‌هاي آن همان اينترفيس‌هاي دات نتي خواهند بود و كلاس‌هاي آن نيز به همين ترتيب. اين مشكلي بود/هست كه با Win32 API در دات نت وجود دارد و دسترسي به آن به اين سادگي و يكپارچگي ميسر نيست (هر چند تا الان كل اينترفيس آن جهت استفاده در دات نت نيز ترجمه شده است). در اينجا شما ارجاعاتي را به فايل‌هايي با پسوند winmd يا windows metadata، به پروژه‌ي دات نتي خود اضافه مي‌كنيد و سپس CLR قادر خواهد بود تا كليه اطلاعات لازم جهت كار با WinRT را از آن‌ها استخراج كند (اين فايل‌ها در پوشه C:\Program Files (x86)\Windows Kits\8.0\Windows Metadata و C:\Windows\system32\winmetadat ويندوز 8 قابل مشاهده و دسترسي هستند).


تفاوت‌هاي مهم امكانات نمايشي WinRT با Win32 API كدامند؟

تفاوت مهم WinRT با Win32 API از ديدگاه برنامه نويس‌ها، امكان دسترسي بيشتر به آن از طريق زبان‌هاي مختلف مي‌باشد. WinRT همانند Win32 API توسط CPP ، دات نت و ساير روش‌هاي مرسوم ديگر قابل دسترسي و توسعه است. اما اينبار WinRT برخلاف Win32 API ، از طريق HTML و جاوا اسكريپت هم قابل توسعه است. در اين حالت كدهاي شما توسط Chakra JavaScript engine كه از اينترنت اكسپلورر 9 به بعد ارائه شده، اجرا خواهد شد. بنابراين «برفراز» WinRT دو لايه نمايشي (presentation layer) قابل طراحي و دسترسي است. XAML و زبان‌هاي متداول برنامه نويسي موجود مانند سي شارپ و وي بي دات نت و غيره. همچنين HTML/CSS هم مجال ابراز وجود يافته است. البته XAML تنها لايه نمايشي كليه زبان‌هاي قديمي موجود مانند سي شارپ، وي بي دات نت، CPP و غيره خواهد بود. به همين جهت Expression Blend جديد نيز از HTML 5 پشتيباني مي‌كند.
همچنين در WinRT ، قسمت‌هاي GDI و Message loop متداول Win32 API حذف شده است و از DirectX استفاده مي‌كند. براي نمونه كدهاي XAML شما توسط DirectX رندر مي‌شود. البته اين مطلب جديدي نيست و از زمان ارائه WPF شاهد اين مساله بوده‌ايم.


وضعيت توسعه پذيري WinRT  چگونه است؟

علاوه بر اين‌ها، برخلاف Win32 API ، اينبار WinRT قابل توسعه است و Extensions SDK براي آن ارائه شده است.


آيا WinRT شاهد تغييرات امنيتي خاصي هم بوده است؟

نكته‌ي مهمي كه در طراحي WinRT به آن توجه شده است، امنيت مي‌باشد. برنامه‌هاي WinRT شبيه به برنامه‌هاي سيلورلايت در يك Sandbox اجرا مي‌شوند. به اين معنا كه جهت ذخيره سازي اطلاعات خود از يك isolated storage استفاده مي‌كنند. براي كار با file system نياز به تائيد كاربر دارند و خلاصه ديگر به سادگي نمي‌توان از مرزهاي اين نوع برنامه‌ها رد شد و سيستم عاملي را root كرد. براي نمونه برنامه نويس‌هاي دات نت دسترسي به فضاي نام System.IO.FileStream را ديگر نخواهند داشت و تنها قسمتي از دات نت «برفراز» WinRT و مدل امنيتي جديد آن معنا پيدا مي‌كند. همچنين برفراز اين API جديد، توليد مثلا Device drivers هم ديگر معنا پيدا نمي‌كند. اين محدوديت‌هاي امنيتي براي برنامه‌ نويس‌هاي native هم وجود دارد و تفاوتي نمي‌كند. كلا برنامه‌هاي جديد Metro-style در يك قرنطينه‌ي كامل امنيتي اجرا مي‌شوند. براي مثال اگر برنامه‌اي نياز به دسترسي به يك WebCam را داشته باشد، همانند برنامه‌هاي سيلورلايت ابتدا بايد كاربر تائيد كرده و سپس برنامه مجوز امنيتي كار با مثلا يك WebCam را خواهد يافت. همچنين تمام برنامه‌هاي جديد Metro-style بايد جهت ارائه در فروشگاه جديد ويندوز 8، داراي امضاي ديجيتال معتبر نيز باشند.


آيا جهت توسعه‌ي برنامه‌هاي چندريسماني و غيرهمزمان تمهيدات خاصي در WinRT پيش‌بيني شده است؟

در طراحي جديد WinRT به اعمال asynchronous به شدت توجه شده است. هر عملي كه بيش از 50 ميلي ثانيه طول بكشد به صورت خودكار تبديل به يك عمل asynchronous خواهد شد تا برنامه‌ها مرتبا در حين اجراي اعمال زمانبر هنگ نكرده و ترد اصلي برنامه را بلاك نكنند. علاوه بر اين‌ها WinRT از طريق IAsyncOperation interface خود، امكان استفاده از واژه‌هاي جديد كليدي async/await سي شارپ 5 را نيز مهيا مي‌سازد.


آيا WinRT آمده است تا جايگزيني براي دات نت و سيلورلايت و امثال آن باشد؟

خير. WinRT نگارش دوم Win32 API است با هدف توسعه پذيري، استفاده از دايركت ايكس و فناوري‌هاي جديد كه عموما از شتاب دهنده‌هاي سخت افزاري هم بهره‌مند هستند بجاي GDI سابق، استفاده ساده‌تر در زبان‌هاي ديگر به كمك فايل‌هاي استاندارد Windows Meta data آن مي‌باشد. همچنين اين API جديد دسترسي به امكانات ويندوز را هم توسط HTML و جاوا اسكريپت، علاوه بر امكانات مهياي سابق ميسر ساخته است. هم اكنون نگارش 4 و نيم دات نت در ويندوز 8 ارائه شده است و توسط هر دو سيستم سابق و جديد قابل استفاده مي‌باشد. البته بايد در نظر داشت كه جهت استفاده از WinRT به دلايل محدوديت‌هاي امنيتي اعمال شده به آن و همچنين استفاده از XAML به تنها عنوان لايه نمايشي سيستم‌هاي متداول غير HTML ايي، دات نت فريم ورك به امكانات و كلاس‌هاي كمتري نسبت به حالت متداول كار با آن، دسترسي دارد (جهت درك بهتر اين محدوديت‌ها مي‌توان به طراحي سيلورلايت مراجعه كرد). اين را هم بايد اضافه كرد كه ويندوز 8 توانايي اجراي هر دو نوع برنامه‌هاي سبك جديد مترو و متداول دسكتاپ قديمي را دارا است.


جهت آشنايي بيشتر با WinRT مي‌توان به مجموعه‌اي از ويديوهاي مرتبط آن مراجعه كرد:
http://channel9.msdn.com/Events/BUILD/BUILD2011?t=windows%2Bruntime