# Native Code > برنامه نویسی موبایل > Windows Phone و Windows Mobile >  اسثفاده از windows CE 6?

## AlirezaBahredar

با سلام
از دوستان کسی با ویندوز CE 6.0 کار کرده است؟
باتشکر

----------


## Alireza_Salehi

سوالتون رو واضح تر بپرسید، مشکلتون چیه؟

----------


## محمدامین شریفی

> سوالتون رو واضح تر بپرسید، مشکلتون چیه؟


درباره چگونگی یادگیری آن برای یک برنامه نویس دات نت.
پیشین تا حدودی با net. micro  کار کرده ام.

----------


## Alireza_Salehi

> درباره چگونگی یادگیری آن برای یک برنامه نویس دات نت.
> پیشین تا حدودی با net. micro  کار کرده ام.


از لحاظ برنامه نویسی فرقی نداره، منتها .net Compact Framework محدودیت هایی نسبت به نسخه معمولی دات نت دارد.
این محدودیت ها برخی به علت ماهیت ویندوز موبایل است و برخی به علت عدم توسعه یافتگی دات نت (به اندازه دسکتاپ) در ویندوز موبایل است.

اگر سی شارپ یا وی بی بلد باشد مشکل خاصی نخواهید داشت، غیر از این که با برخی از ویژگی های ویندوز موبایل هم باید آشنا بشید.

در برخی حالت ها هم دات نت امکاناتی در ویندوز موبایل ارائه نکرده است و نیازمند استفاده از کامپوننت های شرکت های دیگر یا برنامه نویسی native هستید.

اگر محدودیت سخت افزاری ندارید از موارد زیر استفاده نمایید:
Net Compact Framework 3.5 sp1
Visual Studio 2008 sp1
SQL server Compact 3.5 sp1

برای شروع به به مطالب زیر رجوع کنید:
1. Windows Mobile Developer Center

2. "How Do I?" Videos for Devices


3. Windows Mobile 6 Professional and Standard Software Development Kits Refresh

----------


## محمدامین شریفی

> در برخی حالت ها هم دات نت امکاناتی در ویندوز موبایل ارائه نکرده است و نیازمند استفاده از کامپوننت های شرکت های دیگر یا برنامه نویسی native هستید.
>  اگر محدودیت سخت افزاری ندارید از موارد زیر استفاده نمایید:
> Net Compact Framework 3.5 sp1
> Visual Studio 2008 sp1
> SQL server Compact 3.5 sp1
> 
> برای شروع به به مطالب زیر رجوع کنید:


 برای برنامه نویسی موبایل نمی خواهم از Wince استفاده کنم.برای استفاده در وسایل مونیترینگ می خواهم آنرا استفاده کنم.آیا تفاوتی در سرعت و کارایی ++C با دات نت در این نسخه وجود دارد[خوشحال میشم تجربه کاریتان را بشنوم]
در آخر هم شرکت های مشهور ارائه دهنده برد winCE هم می شناسید؟

----------


## Alireza_Salehi

حواسم به ce نبود، اما در کل دات نت چه در ce چه در موبایل که نسخه محدود تری از ce هستش خیلی قابلیت ها رو ارائه نمیده چون تازه اول راهه.
مثلا برای مدیریت خیلی از قسمت های موبایل به صورت حرفه ای نهایتا نیاز به برنامه نویسی native هستش، یا اگر بخواهید به صورت کیوسک از ce استفاده کنید و یا یک سری کارهای سخت افزاری  انجام بدید دات نت پاسخ گو نیست. بسیاری از کلاس ها در دات نت  وقتی مجبور به رعایت برخی جزئیات میشید نواقص و محدودیت ها رو نشون میهند و مجبور به طراحی یک کامپوننت از ابتدا یا استفاده از کامپوننت های گران قیمت ( :چشمک: ) می شوید.

اما...
دات نت (و ابزارهای مکمل آن) در بسیاری از موارد و بدون شک سرعت توسعه، تست و اشکال یابی را به شدت افزایش می دهد.

پیشنهاد من ترکیبی از برنامه نویسی native و .net است.

مثلا در استفاده از کنترل های GUI که دات نت ارائه کرده خیلی به مشکل برخورد کردیم، Scroll Bar, Label, GridView, Form از این جمله هستند،
در ویندوز موبایل و ce و .net 3.5 sp1 در
زمینه serialization ، گرافیک، مدیریت پراسس ها و نخ ها به صورت حرفه ای، مدیریت منابع Device (باتری، صدا، تصویر و ...) و ...دات نت کمبود زیاد دارد.

چند مورد که کمک میکنه دات نت بسیار کامل تری داشته باشید:
1.Resco For Mobile Users
2. Resco MobileForms Toolkit
3. OpenNetCF
4. Log4Net
5. AlphaMobileControls
6. CompactFormatter

(این مورد دوم خیلی خفنه و کرک درست و حسابی هم هنوز نداره و آقا یا خانم aXiOHm   هم لطف کردن کرک فرموده اند)

مشکل اساسی ما ایرانیها عدم پشتیبانی درست و حسابی از زبان فارسی (چه برای نمایش حروف، چه کیبورد، چه زمان انتقال و ...) در ویندوز ce و ویندوز موبایل است. که البته با Deviceهای جدید چنین مشکلی وجود ندارد. البته یه جورایی بسته به کارخانه سازنده است! و چون استاندارد در ایران به شدت نهادینه است هر شرکتی برای حل این مشکل روش خودش رو انتخاب کرده و هیچ کدوم هم کامل نیست!

و شرکت خاصی هم نمی شناسم چون بیشتر رو موبایل کار کردم، البته به علت نیاز به حالت کیوسک که در موبایل درست و حسابی ساپورت نمی شود یه مدت دنبال ce بودم ولی فعلا بی خیال شدیم...

در زمینه سرعت و کارایی هم در MSDN مقاله زیاد هست همون ها جواب میدن (اگر برنامتون کارهای زیادی میکنه حتما باید مطالعشون کنید و گرنه سه سوت باتری device خالی میشه)،ولی در کل ++C اگر به دست یک آدم حرفه ای استفاده شود حرف نداره.

و سخن آخر این که : هیچ برنامه نویسی، برنامه نویس نمی شود مگر این که ++C بلد باشد و به آن عمل کند! :چشمک:

----------


## محمدامین شریفی

اصلا پشتیبانی از فارسی و GUI مطرح نیست.پرسشم اینست که آیا می شود از ویندوز سی به عنوان یک سیستم عامل RTOS برای کار با ماژول های سخت افزاری نگاه کرد؟
یکی از کاربردهای ویندوز سی در MSDN استفاده آن در مانیترینگ دستگاه ها نوشته شده بود.
در ضمن استاد شما که در بازار برنامه نویسی موبایل هستید،بیشتر برای چه کارهایی برنامه نویسی موبایل می خواهند و بازار windows mobile رو توی ایران با توجه به کتابچه های فارسی از انتشارات symbian ، سورس رایگان سیمبین و بازار بدون منازع nokia چه در بخش مخابرات و چه در بخش تلفن همراه، چگونه میبینید؟
برای یک برنامه نویس windows mobile شدن چقدر زمان لازم است که یک دات نت نویس در مسیر اصلیش بیافتد؟(پ.ن:راه های پیدا کردن حل مسئله اش را پیدا کند)
با آمدن s60 برای دات نویس ها،برنامه نویسی xbox با دات نت کامپکت و فراگیر شدن وایرلس و ارتباط تنگاتنگ با رایانه،چه پیشنهادی برای افراد دات نت نویسی می کنید که قصد برنامه نویسی وسایل تعبیه شده را دارند؟

با سپاس فراوان از شما.

----------


## Alireza_Salehi

در مورد Real-Time بودن :
من شخصا با پروژه ای مواجه نبودم که چنین قابلیتی نیاز داشته باشد، اما windows ce به عنوان سیستمی که چنین قابلیتی دارد شناخته می شود، چون شخصا درگیر این قضیه نبودم نمی تونم نظر فنی بدم.

در مورد s60 :
تا حالا برای s60 برنامه نویسی نکردم و وقتی شما یک device ویندوز موبایلی می خرید لایسنسش هم همراهشه، ولی برای CE قضیه متفاوته.
بازار ویندوز موبایل و کلا برنامه های موبایلی در بعد اتوماسیون و موارد مشابه در ایران خیلی گسترده نیست، چون این گونه نرم افزارها عموما جزئی از یک نرم افزار بزرگتر هستند، در بخش نرم افزار های کاربردی مثل تقویم، نقشه و ... هم شرکت ها حضور پررنگی ندارند.
مثلا یک سیستم نظرسنجی می تواند دارای یک وب سایت نضرسنجی، ویندوز کلاینت نظرسنجی و مدیریت، وب سرویس نظرسنجی،بخش موبایلی نظرسنجی باشد، در بخش موبایلی پرسشگران در سطح شهر به جای کاغذ و خودکار یک موبایل دستشون می گیرند، همچین سیستمی الان وجود دارد و در صدا و سیما استفاده می شود. یا همین سیستم برای بخش کیوسکی خودش میتونه از ce استفاده کنه.
موارد دیگری هم مثل انبار داری و .. هم وجود دارد.

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

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

برای انتخاب پلتفرم و ابزارهای مناسب خواندن کتاب (مخصوصا فارسی) شروع راه است،بهتر است سوالتون رو گوگل کنید! حتما قبل از شما کسی نیاز به مقایسه سیستم عامل های Real Time و ابزارهای توسعه داشته و اونها رو مقایسه کرده.

در ضمن نوکیا فروش خوبی دارد و خیلی هم بی رقیب نیست، بقیه هم دارند تلاش می کنند سهمشون رو بیشتر کنند.

کلا راحتی توسعه و امکانات موجود در دات نت خیلی وقتها آدم رو وسوسه میکنه!

----------

