معرفی به نظر میرسد که مایکروسافت با عرضهی ویندوزفون 8 آغازگر فصل جدیدی از سیستم عاملها بوده است. هم اکنون بسیاری از شرکتهای معتبر جهان بر این باورند که این سیستم عامل تازه اول راه است و در آیندهای نه چندان دور رشد چشمگیری خواهد داشت به همین دلیل سرمایه گذاریهای بسیاری بر روی آن شده است. البته همهی ما میدانیم که 2 شرکت اچتیسی و مایکروسافت در این زمینه کاملاً وابستهی به همکاری با یکدیگر هستند. آیا میتوانید باور کنید که تنها 6 ماه از زمان عرضهی آخرین ویندوزفون پر قدرت اچتیسی یعنیTitan II گذشته است و اکنون این شرکت از 8X رونمایی میکند !؟ 8X میتواند برای شرکت اچتیسی سکوی پرتابی باشد زیرا این اولین تلفن همراهی است که با ویندوز 8 عرضه میشود. حال باید دید که آیا مشخصات سخت افزاری و نرم افزاری آن به اندازهای هست که بتواند در رینگ رقابتهای شدید این روزها دستش را به نشانهی پیروزی بالا ببریم یا خیر ؟
محتویات داخل جعبه: سیم microUSB، شارژر و هدفون استریو
طراحی برخی بر این باورند که اچتیسی در طراحی و مخصوصاً رنگهای 8X از ویندوزفون های نوکیا یا همان سری لومیا تقلید کرده است. شاید از دور این ادعا رنگ واقعیت به خود بگیرد اما با دقت بیشتر متوجه خواهید شد که طراحی 8X فقط به خودش شبیه است. در سری لومیا بالا و پایین گوشی دارای خطوطی صاف و سطحی کاملاً تخت هستند که از رو به رو گوشی را به یک مستطیل شبیه میکند اما در 8X گوشههای بدنه مخروطی بوده و پشت گوشی نیز شیبهایی به سمت بالا و پایین دیده میشوند که از زاویهی کناری این تفاوت میان دو گوشی کاملاً واضح است. به همین دلیل که 8X دارای گوشههایی برآمده و گرد است در دست بهتر جای گرفته و کاربر با آن احساس راحتی بیشتری میکند. علاوه بر آن طراحی یکپارچهی بدنه، وزن کم(130 گرم) و بدنهی نرم آن به زیبایی 8X افزوده است. صادقانه باید گفت که طراحی بدنهی آن بسیار قابل ستایش است زیرا تا کنون همچنین طراحی را از اچتیسی ندیده بودیم. اگرچه رنگهای شادی که قابل سفارش هستند از آن ابهت و شخصیت گوشی میکاهد اما بسیار جلب توجه کرده و مورد پسند جوانان امروزی خواهد بود.
طبق روال همیشگی در پایین صفحه نمایش 3 دکمهی مخصوص ویندوز را میبینیم که برای کاهش خطای احتمالی با فاصله مناسبی از یکدیگر قرار گرفتهاند. دوربین 2 مگاپیکسلی مکالمهی تصویری با زاویهی دید فوقالعادهی 88 درجهای خود در بالا گوشهی سمت چپ واقع شده است. به دلیل ظرافت خاصی که در طراحی بدنه و کلیدها به کار رفته است، پیدا کردن کلید های تنظیم صدا، خاموش/روشن و عکسبرداری کار سختی است. کلید عکسبرداری به منظور فوکوس بهتر دو مرحلهای بوده و با نگه داشتن آن میتوانید مستقیماً به رابط کاربری دوربین بروید. در لبهی بالای گوشی جک 3.5 میلیمتری هدفون، کلید خاموش/روشن و میکروفون کاهش دهندهی نویز قرار گرفته است و در لبهی پایینی پورت microUSB و میکروفون مکالمه دیده میشود. در پشت گوشی دوربین 8 مگاپیکسلی بیش از هر چیز دیگری خودنمایی میکند. این دوربین مجهز به لنزUltraWide با فاصله کانونی 2، سیستم انحصاری اچتیسی یعنی Image Sense، فلاش LED و کیفیت فیلمبرداری p1080 است. در پایین گوشی سوراخهای ریز متعددی را میبینیم که لوگوی آشنای Beats Audioدر بالای آن خبر از راز نهفتهی زیر این سوراخ میدهد.
صفحه نمایش 8X بر خلاف بسیاری از گوشیهای امروزی صفحه نمایشی بسیار بزرگ ندارد و اچتیسی در اندازهی این صفحه نمایش به 4.3 اینچ بسنده کرده است. این صفحه نمایش دارای رزولوشن 1280×720 پیکسل و تراکم پیکسلی معادل ppi342 است. به لطف این اعداد و ارقام ما تصاویری بسیار شفاف، پر از جزئیات، زاویهی دید گسترده و روشنایی خوبی را از آن شاهد بودیم که در زیر نور آفتاب نیز خواناست. لبههای این صفحه نمایش همانند OneX دارای انحنا هستند تا ظرافت طراحی 8X را به نهایت برسانند.
رابط کاربری به ویندوزفون 8 سلام کنید و بگویید که چقدر برای آمدنش انتظار کشیدهاید! 8X را که روشن میکنید پس از لوگوی ویندوز صفحهی Start باز میشود که در آن مربع و مستطیلهایی مشابه ویندوزفون 7 را میبینیم. اما تفاوت این آیکونها در ویندوزفون 8 این است که کاربر میتواند رنگ، اندازه و جایگاه هرکدام از آنها را با سلیقهی شخصی خود تغییر دهد. در کل نسبت به نسخهی قبلی در آن تغییرات زیادی مشاهده نمیشود. در پایین صفحه lockscreen اطلاعاتی نظیر تعداد ایمیلهای دریافتی، رخ دادهای شبکههای اجتماعی، پیامکها و پیامهای صوتی نشان داده میشوند که تا 5 برنامه را میتوان در این مکان قرار داد. البته یادتان نرود در این قسمت فقط تعداد اتفاقات نشان داده میشود و از اطلاعات مربوط به آنها هیچ خبری نیست. تنها 1 برنامه نظیر تقویم را میتوانید انتخاب کنید که توضیح داشته باشد. این ویژگی نسبت به آندروید که در نوار بالا اطلاعات بسیاری را در اختیار کاربر قرار میدهد، نقطه ضعف بزرگی به حساب میآید.
پردازشگر و حافظه یکی از نکات مثبتی که ما از ویندوزفونها دریافتیم این است که گوشی مورد نظر برای اجرای این سیستم عامل به یک سخت افزار پیشرفته و سنگین نیاز ندارد. به جز پشتیبانی از صفحه نمایش 720 پیکسلی دیگر نکتهای که ما را شیفتهی خود کرده است، عملکرد فوقالعادهی آن با پردازشگر 2 هستهای Qualcomm Snapdragon S4 Plus با فرکانس 4.5 گیگاهرتز و 1 گیگابایت رم است. شاید بر روی کاغذ به نظر برسد که 8X با این سخت افزار در بازارهای امروزی با غولهای چهار هستهای حرفی برای گفتن ندارد اما در واقعیت عملکردی فوقالعاده روان و سریعی را از آن شاهد بودیم. وقتی که گوشی را از جعبه خارج میکنید 14.56 گیگابایت حافظه در اختیار شما خواهد گذاشت که برای عموم کاربران به نظر کافی است. اگرچه ویندوزفون 8 از حافظهی جانبی یا microSD پشتیبانی میکند اما در 8X هیچ درگاهی برای آن در نظر گرفته نشده است. اینترنت و ارتباطات به لطف سیستم ارتباطی 4G LTE و اینترنت اکسپلورر10، چرخیدن در اینترنت بسیار لذت بخش بود. صفحات با سرعتی باور نکردنی باز میشدند و اینترنت اکسپلورر 10 هم روانتر از قبل عمل میکرد. یکی از امکانات جدیدی که در آن دیده میشود امکان "به اشتراک گذاشتن" است. با استفاده از گزینه "Share" میتوانید صفحات اینترنتی را به سرعت از طریق ایمیل، پیامک و یا شبکههای اجتماعی به اشتراک بگذارید. خوشبختانه امکان "Find on Page" که برای پیدا کردن لغت در یک صفحه اینترنتی به کار میرود، پس از اینکه در نسخهی ویندوزفون 7.5 یعنی Mango به صورت عجیبی حذف شده بود، دوباره در ویندوزفون 8 قرار داده شده است. در ویندوزفون 8 بسیاری از امکانات ارتباطی که در قبل جایگاهشان خالی بود فراهم شدهاند. امکاناتی نظیرaGPS، بلوتوث 3.1، WiFi همراه با802.11 a/b/g/n ، HotSpot و از همه مهمتر آنتن NFC. به دنبال این امکانات یک ویژگی منحصر به فرد به نام "Tap+Send" به ویندوزفون 8 اضافه شده است. به واسطهی این ویژگی کاربر میتواند با زدن پشت دو گوشی به یکدیگر (جایی که آنتنهای NFC واقع شدهاند) اطلاعات مورد نظر خود را به سرعت انتقال داده و یا دریافت کند. خوشبختانه برای انتقال دادهها از کامپیوتر شخصی به 8X دیگر به نرمافزارZune احتیاجی ندارید و کامپیوتر گوشی را همانند یک حافظه جانبی میشناسد.
باتری انتظار داشتیم باتری 1800 میلیآمپری 8X که درون بدنه قرار گرفته است بتواند مدت زمان زیادی شارژ نگه دارد. اما با استفاده از سیستم ارتباطی HSPA+ و استفادهی معمولی توانست فقط 1 روز شارژ نگه دارد که در میان گوشیهای امروزی زمان مناسبی به حساب نمیآید. جمع بندی طراحی 8X به منزلهی انقلابی در طراحیهای شرکت اچتیسی به حساب میآید که در گذشته ما از طراحیهای این شرکت بسیار انتقاد کرده بودیم. ویندوزفون 8 از جذابیتهای خوبی برخوردار بوده و کار با آن لذت بخش است. اما نسبت به گذشته تفاوت چندانی نکرده و بیشتر از آن انتظار میرفت. در اینکه 8X در بین گوشیهای ویندوزفون پادشاهی خواهد کرد شکی نیست اما به نظر نمیآید بتواند با غولهای آندروبد گلاویز شود. البته ظاهر جذاب و قیمت مقرون به صرفه آن بسیار تحریک کننده هستند. رقیب اصلی 8X نوکیا Lumia 920 با ویندوزفون 8 است. حال باید دید که بین 8X و Lumia 920 کدام یک میتوانند پیروز میدان باشند. مزایا · طراحی بسیار جذاب · صفحه نمایش با کیفیت · قیمت مقرون به صرف معایب · تغییرات جزئی در ویندوزفون 8 · کیفیت پایین عکاسی در نور کم · اسپیکر درونی ضعیف
ابزار های مورد نیاز:
- Visual Studio 2010
- Windows Phone SDK 7.1
- اگر هم آپدیت جدید رو بگیرید Windows Phone SDK 7.1.1
توانایی های مورد نیاز :
- برنامه نویسی به یکی از زبان های #C و یا VB.Net
- برنامه نویسی بوسیله SilverLight و یا WPF
اصطلاح هایی که من در این آموزش بکار میبرم :
- VS -->Visual Studio
- WP --> Windows Phone
- این مطب با زبان #C میباشد ولی تفاوتی با VB ندارد و میتوانید از کد های مشابه در VB هم استفاده کنید.
توجه : اگر حداقل زبان #C و یا VB.Net را بلد نیستید این مطب را نخوانید
بعداز نصب ابزار های بالا ، به ترتیب .
حالا میخوایم برنامه Hello World که هر برنامه نویسی میشناستش رو بنویسیم.
اول VS رو اجرا کرده و بر روی New Project کلیک کنید.
ساخت پروژه :
خوب حالا توی صفحه باز شده از سمت چپ وارد دسته زبان دلخواه خود شده و بر روی SilverLight for Windows Phone کلیک کنید.
حالا سمت راست میتونید انواع مختلف پروژه هایی که میشه برای WP ساخت رو ببینید :
در پایین نام پروژه را HelloWorldApp نوشته و بر روی OK کلیک کنید.
حالا یک صفحه ظاهر میشود که ورژن SDK رو از شما میپرسه.
داخلش Windwos Phone OS 7.1 و 7.0 هست. که بهتر است همان 7.1 را انتخاب کرده و OK کنید.
حالا یک صفحه به شکل زیر ظاهر میشود که در سمت چپ ظاهر برنامه و سمت راست کد وجود دارد.
کد های سمت راست ، کدهای SilverLight هست که برای ظاهر برنامه از این کدها استفاده میشود. و کد های پشت برنامه همان #C و یا VB هستند.
ساخت برنامه :
حالا Toolbox را بیاورید . برای اینکار از منو View بر روی ToolBox کلیک کنید. و یا CTRL+W,X
در اینجا لیستی از کنترل هایی که میتوانید برای WP استفاده کنید وجود دارد.
بر روی Button کلیک کرده و آن را کشیده و بر روی فرم قرار دهید.
شما میتوانید Button را در هر مکان از صفحه Design کشیده و قرار دهید.
آن را در وسط صفحه قرار دهید.
حالا بیایید متن روی دکمه را تغییر دهیم. از سمت راست در Propertice بر روی Content رفته و محتویات آن را به Click Me! تغییر دهید و Enter را فشار دهید.
حالا مثل مراحل قبل ولی اینبار یک TextBlock را بر روی فرم قرار دهید و هر چیزی که در قسمت Text آن در Propertice هست را پاک کنید که به یک مستطیل خالی تبدیل شود.
حالا بر روی Button ای که بر روی فرم قرار دادید دو کلیک کنید تا یک فایل دیگر به نام MainPage.Xaml.cs باز شود.
خوب همانطور که میبینید یک Event Handler برای Click دکمه هم ایجاد شده
شما فقط نیاز دارید یک خط کد را بنویسید به صورت زیر :همچنین فراموش نشود که نام برنامه را با کلیک بر روی TextBlock آن که در بالا قرار دارد را هم تغییر بدهید.کد:private void button1_Click(object sender, RoutedEventArgs e) { textBlock1.Text = "Hello World!!!"; //خطی که باید اضافه شود }
حالا برنامه شما آمادست. با زدن بر روی علامت Play بالا و یا دکمه F5 برنامه شما اجرا میشود.
بعد از اجرای برنامه بر روی دکمه "Click Me!!!" کلیک کرده و میبینید که متنی که در برنامه نوشتید پایین ظاهر میشود.
به همین راحتی یک برنامه نوشتید.
خوب حالا وقت این است که ببینیم وقتی شما یک برنامه ویندوز فون میسازید چه اتفاق هایی می افتد.
Solution Explorer:
با ساخت پروژه ، VS این فایل ها را برای شما میسازد که تک تک آنها توضیح میدهم :
فایلهای App.xaml و MainPage.xaml دو فایل XAML هستند و فایلهای App.xaml.cs , MainPage.xaml.cs دو فایل #C هستند (یا App.xaml.vb هست که فایل VB.Net میباشد)
دو فایل با پسوند CS فایلهای کد پشت صحنه مربوط به فایلهای XAML هستند.
فایلهای دیگر نیز عکس هستند :
- ApplicationIcon.png : فایل آیکون برنامه شما در ویندوز فون.
- Background.png : فایل عکسی هست که وقتی برنامه شما Pin میشود نمایش داده میشود.
- SplashScreenImage.png : عکسی که وقتی برنامه شما در حال لود شدن میباشد نمایش داده میشود.
در زیر References نیز لیستی از کتابخانه هایی که (LIB , Assembly) برنامه شما با آنها کار میکند آورده شده است.
در زیر بخش Propertice این فایلها را میبینید :
- AppManifest.xml : فایل Manifest برنامه که برای ساخت پکیج برنامه از آن استفاده میشود.
- AssemblyInfo.cs : فایلی که اطلاعاتی از قبلی ورژن برنامه نام برنامه و ... میباشد.
- WMAppManifest.xml : فایلی که Manifestها و Meta Data هایی مرتبط با Silverlight قابل اجرا بر روی ویندوز فون میباشد .
App.xaml و App.xaml.cs :
حالا فایل App.xaml.cs را باز کنید. میبینید که یک Namespace به اسم پروژه شما از نوع کلاس App که معرف کلاس Silverlight برنامه است تعریف شده است.
اینجا جایی هست که عملیات شروع برنامه و اتمام برنامه مدیریت میشوند :حالا فایل App.xaml را باز کنید.کد:namespace HelloWorldApp { public partial class App : Application { public PhoneApplicationFrame RootFrame { get; private set; } public App() { ... } ... }}
شما آن را به فرمت xml میشناسید ولی این یک فایل XAML هست .
شما باید از این فایل برای نگه داری منابعی مانند : رنگ ، رنگ های از نوع Brush و استایل هایی که در برنامه استفاده میکند.
دقت کنید که Element اصلی Application میباشد که شامل 4 تعریف XML میباشد (Xmlns)اولین تعریف : تعریف استاندارد Silverlight میباشد که به کامپایلر این اجازه را میدهد که کلاس های Silverlight مانند همین Application را شناسایی کند.کد:<Application x:Class="HelloWorldApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"> ... </Application>
دومین تعریف : تعریف خود زبان XAML میباشد.
سومین تعریف : کنترل های ویندوز فون
چهارمین : ظاهر و...
این دو فایل هنگام کامپایل شدن ، VS آنها را کامپایل کرده و فایل دیگری به نام App.g.cs میسازد.
در زمان اجرای برنامه این دو فایل هستند که تعیین میکنند باید یک برنامه با سایز 480x800 ساخته شود(فراموش نکنید در ویندوز فون 7 این سایز ثابت است)
و یک سری توضیحات دیگر در سایت منبع هست که زیاد مهم نیست :D
MainPage.xaml , MainPage.xaml.cs :
این فایل همان صفحه اصلی برنامه شما است که در آن یک سری کد هم نوشتید.
فایل MainPage.xaml.cs را که باز کنید که کلاس میبینید که از نوع PhoneApplicationPage تعریف شده است.فایل MainPage.xaml را که باز کنید ، چهار تعریف اول همان چهار تای قبلی است.کد:namespace HelloWorldApp { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } ... } }
بعد از آن d به منظور Designer و mc به منظور Markup Compability میباشد که از مزیت های برنامه نویسی XAML میباشد.
(توضیحات کامپایل و اجرا همانند قبل است)شما یک سری تنظیمات را در فایل MainPage.xaml میبینید. مانند FontFamily , FontSize , Foreground که با تغییر آنها ، تنظیمات کل صفحه عوض میشود.کد:<phone:PhoneApplicationPage x:Class="HelloWorldApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <Grid x:Name="LayoutRoot" Background="Transparent"> ... </Grid> </phone:PhoneApplicationPage>
که بعد از آن Grid , که در آن یک StackPanel میباشد به اسم TilePanel و چند TextBlock و یک Grid دیگر به نام ContentPanel میبینید.وقتی شما مثلا یک TextBox را در محیط Design (طراحی) میکشید و قرار میدهید ، خود VS به صورت خودکار خطر مربوط به آن را در این قسمت ها مینویسد.کد:<Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="HELLO WORLD APP" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Button Content="Click Me!" Height="72" HorizontalAlignment="Left" Margin="146,143,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /> <TextBlock Height="59" HorizontalAlignment="Left" Margin="146,287,0,0" Name="textBlock1" Text="" VerticalAlignment="Top" Width="160" /> </Grid> </Grid>
به عنوان مثال همان دکمه ای که گذاشتید و درونش نوشتید Click Me! را اینجا میبینید.
مقدار Content را نیز میتوانید از همینجا تغییر دهید (بجای منوی Propertice)
اگر بر روی Button دابل کلیک کنید خود VS برای شما یک Event Handler میسازد که میتوانید مقدار آن را در رویدادی که در قسمت کد نویسی به عنوان Click هست ببینید.
از این قسمت شما قابلیت های بیشتری برای طراحی نیز در اختیارتان میباشد(ولی خوب سخت تر نیز هست)
در اصل کد نویسی Silverlight همین قسمت میباشد.
وقتی شما F5 میزنید در فولدر Bin->Debug یک فایل XAP نیز ساخته میشود.
که این فایل برنامه شماست میتوانید آن را خودتان بر روی گوشی نصب کنید.