بررسی دات نت 4.0 – کتابخانه های کلاس پایه

قرار بود طی چنیدن پست به بررسی ویژگی های جدید دات نت فریم ورک 4.0 بپردازم. در مطلب قبلی به بررسی تغییرات Common Language Runtime پرداختم. با وقفه تقریباً طولانی که به علت اتفاقات اخیر در ایران و امتحانات دانشگاه ها بود، امروز نگاهی گذرا به تغییرات کتابخانه های کلاس پایه دات نت فریم ورک 4.0 بتا 1 خواهیم داشت.

قسمت دوم : تغییرات کتابخانه های کلاس پایه

در این نسخه از دات نت شاهد بهبودهایی در سیستم های ورودی/خروجی، هندل کردن استثناها، Reflection و تغییراتی در انواع مجموعه ای (Collectionها) خواهیم بود. در این مطلب با برخی از مهمترین تغییرات کتابخانه های کلاس پایه یا Base Class Libraries در دات نت فریم ورک 4.0 بتا 1 آشنا خواهیم شد.

BigInteger

ساختار جدید System.Numerics.BigInteger یک نوع داده ای صحیح با دقت دلخواه است که تمام عملیات های استاندارد یک نوع داده Integer را پشتیبانی می کند. این نوع داده می تواند در تمام زبان های مبتنی بر دات نت مورد استفاده قرار گیرد. زبان های جدیدی مثل F#x و IronPython به صورت توکار از این نوع داده پشتیبانی می کنند.

Tuples

یک تاپل (Tuple) یک ساختار داده ای Generic ساده است که مجموعه ای از آیتم های ناهمگن منظم را نگهداری می کند. تاپل ها به صورت Native یا محلی در زبان هایی مثل F#x و IronPython پشتیبانی می شوند، در این نسخه هر زبان برنامه نویسی مبتنی بر دانت نتی مانند C#x و Visual Basic قادر به استفاده از تاپل ها هستند. دات نت فریم ورک 4.0 بتا هشت کلاس جدید جنریک Tuple اضافه کرده است، همچنین این کلاس Tuple شامل متدهای استاتیکی برای ایجاد تاپل هاست.

Exceptions Handling

کتابخانه پایه دات نت فریم ورک 4.0 شامل فضای نام جدیدی به نام System.Runtime.ExceptionServices است که قادر به هندل کردن استثناهایی که corrupted state گفته می شوند، خواهد بود.

I/O

بهبودهایی در سیستم I/O دات نت فریم ورک بوجود آمده است. به طور مثال متدهای شمارشی در کلاس های Directory و DirectoryInfo به جای آرایه، یک مجموعه IEnumerable(T)x بر می گردانند. این کار باعث بهبود این متدها می شود، زیرا دیگر لازم نیست که این متدها ابتدا حافظه ای (معمولاً بزرگ) به آرایه ها اختصاص بدهند، یا منتظر پر شدن تمام خانه های آن آرایه شوند، شما می توانید قبل از اینکه این مجموعه به طور کامل پر شود، از آیتم هایی که تا به حال در مجموعه قرار گرفته اند استفاده کنید.

فضای نام System.IO.MemoryMappedFiles اجازه استفاده از عمل Memory Mapping که در ویندوز موجود است را به برنامه نویس می دهد. شما با استفاده از این قابلیت می توانید فایل های با حجم بسیار بالا را در حافظه باز یا ویرایش کنید. فضای نام System.IO.UnmanagedMemoryAccessor نیز اجازه دسترسی تصادفی به حافظه مدیریت نشده (Unmanaged Memory) را به شما می دهد. بهبودهایی نیز در کلاس های فضای نام System.IO.Compression.DeflateStream و System.IO.Compression.GZipStream بوجود آمده تا فشرده سازی داده ها بهتر از قبل باشند.

Reflection

دات نت فریم ورک 4.0 بتا 1 قابلیت هایی را برای مانیتور کردن کارایی دامنه اپلیکیشن های شما فراهم می کند. با استفاده از دات نت فریم ورک 4.0 مدیریت بهتری بر سیکل زندگی پراسس های اپلیکیشن خود خواهید داشت.

x64-bit View and Other Registry Improvements

بهبودهای کلاس های رجیستری ویندوز در دات نت 4.0 شامل:

  • توانایی مشخص نمودن نمای 32-بیتی یا 64-بیتی از رجیستری ویندوز با استفاده از Microsoft.Win32.RegistryView زمانی که کلیدهای پایه را باز می کنید
  • Microsoft.Win32.RegistryOptions که به شما اجازه می دهد یک کلید فرار (volatile) در رجیستری ویندوز بسیازید که با ریستارت کردن ویندوز از بین خواهد رفت

Threading

  • Unified Model for Cancellation : دات نت فریم ورک 4.0 بتا مدل واحدی برای کنسل کردن عملیات های غیر همزمان یا asynchronous فراهم می کند. کلاس جدید System.Threading.CancellationTokenSource برای ایجاد یک CancellationToken مورد استفاده قرار می گیرد که ممکن است به هر تعداد عملیات روی چندین  thread پاس شود. با صدا زدن متد Cancel()x در شیء token source، مشخصه IsCancellationRequested برابر true می شود و تمام عملیاتی که در این token ثبت شده اند در حالت wait قرار می گیرند.
  • Thread-Safe Collection Classes : فضای نام جدید System.Collections.Concurrent مجموعه ای از کلاس های thread-safe را معرفی می کند. استفاده از این کلاس ها در سناریوهای multi thread باعث بهبود بخشیدن کارایی انواع مجموعه ای مثل ArrayList و List(T)x می شود.

farasun.wordpress.com

در این مطلب کوتاه نمی توان تمام تغییرات جدید کتابخانه های کلاس پایه دات نت 4.0 را به طور کامل شرح داد. در مطالب بعدی به تغییرات جدید زبان های ویژوال بیسیک و سی شارپ در نسخه 2010 آن ها خواهیم پرداخت. برای از دست ندادن این مطالب مشترک فید فراسان شوید!

بررسی دات نت 4.0 – تغییرات CLR

قبلاً قول داده بودم در مورد تغییرات جدید در دات نت فریم ورک 4.0 مطلب بنویسم. میدونم در این وضعیت شاید کسی حوصله خوندن پست تخصصی را نداشته باشه و همه با تعجب و افسوس بسیار اخبار درگیری های بعد از 22 خرداد را دنبال می کنند، اما تصمیم به نوشتن گرفتم چون به من آرامش میده. تصمیم گرفتم تغییرات دات نت 4.0 را در چندین پست به صورت مکرر مورد بررسی قرار دهم. در این مطلب با تغییرات CLR در دات نت فریم ورک 4.0 بتا 1 آشنا خواهید شد. در مطالب بعدی با تغییرات زبان های برنامه نویسی دات نت 4.0، کلاس های پایه در آن و تغییرات ASP.NET آشنا خواهیم شد.

قسمت اول : تغییرات CLR

CLR در نسحه جدید پلت فرم برنامه نویسی مایکروسافت یعنی دات نت فریم ورک 4.0 دستخوش تغییرات و به روز رسانی های زیادی شده است که در این مطلب با مهمترین آن ها آشنا می شویم :

محاسبات موازی (Parallel Computing)

دات نت فریم ورک 4.0 بتا مدل جدیدی از برنامه نویسی برای نوشتن برنامه های چند خطی (Multi threaded) و غیرهمزمان (asynchronous) ارائه می کند که به صورت موثری کار توسعه دهندگان برنامه های کاربردی و کتابخانه های کد را ساده می کند. کلاس های جدید Parallel و Task در فضای نام System.Threading از این مدل برنامه نویسی پشتیبانی می کنند. PLINQ یا Parallel LINQ هم پیاده سازی موازی از LINQ to Objects در این نسخه از دات نت فریم ورک است.

کارایی بالاتر

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

Lazy Initialiation

با استفاده از این قابلیت، حافظه برای یک شیء تا هنگامی که شیء به حافظه ای احتیاج ندارد، اختصاص نمی یابد. Lazy Initialiation می تواند کارایی برنامه شما را با کنترل روی حافظه های اختصاص داده شده به اشیاء بالا ببرد. شما می توانید این قابلیت را برای هر نوع داده ای با استفاده از System.Lazy(T) فعال کنید.

Dynamic Language Runtime

محیط زمان اجرای جدیدی است که سرویس هایی برای زبان های برنامه نویسی پویا به CLR اضافه می کند. DLR توسعه زبان های پویا برای اجرا روی دات نت فریم ورک و اضافه نمودن قابلیت های پویا به انواع زبان های استاتیک را آسان تر می کند. برای این منظور فضای نام System.Dynamic به دات نت فریم ورک 4.0 اضافه شده است. به علاوه کلاس هایی هم برای پشتیبانی از زیر بنای دات نت فریم ورک در فضای نام System.Runtime.CompilerServices ایجاد شده است.

In-Process-Side-By-Side Execution

این قابلیت جدید در دات نت فریم ورک به شما اجازه می دهد که چند نسخه مختلفه CLR را در حافظه بار کنید تا کامپوننت های قدیمی که از نسخه های قبلی CLR استفاده می کنند در کنار کامپوننت های جدید به کار خود ادامه بدهند. به زبان ساده می توانید برنامه ای بنویسید که هم از دات نت فریم ورک نسخه 2 استفاده کند و هم از نسخه 4 آن.

امنیت

دو تغییر بزرگ در زیر سیستم امنیتی دات نت فریم ورک 4.0 بوجود آمده، سیاست امنیتی Machine-wide از بین رفته است، هر چند سیستم اجازه نامه ها هنوز در جای خود قرار دارد، و شفافیت امنیتی گسترش یافته و به عنوان مکانیزم پیش فرض مورد استفاده قرار می گیرد. از بین رفتن سیاست Machine-wide به این معنی است که دات نت فریم ورک مسئولیت تامین امنیت یک کامپیوتر را بر عهده ندارد و فقط از کدهای امن نوشته شده حفاظت می کند. شفافایت امنیتی یا Security Transparency که برای اولین بار در دات نت فریم ورک 2.0 معرفی شد، مکانیزمی است که کدهای نوشته شده برای یک اپلیکیشن تحت دات نت فریم ورک را از کدهای زیربنایی آن تفکیک می کند.

قراردادهای کد

قراردادهای کد به شما اجازه می دهند اطلاعاتی را مشخص کنید که امضای متد ها و نوع ها به تنهایی آن ها را نمایش نمی دهند. فضای نام System.Diagnostics.Constracts کلاس هایی را برای برآورده کردن این هدف فراهم می کند. این قراردادها باعث بهبود کیفیت آزمایش نرم افزار و تولید مستندات می شوند.

Garbage Collection

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

عیب یابی

حالا در دات نت 4.0 می توانید از رویدادهای EWT یا Event Tracing for Windows در جهت عیب یابی برنامه هایتان استفاده کنید تا کارایی را افزایش دهید. EWT مسئولیت جمع آوری گزارش در طول زندگی یک پروسه در ویندوز را بر عهده دارد. با استفاده از EWT می توانید گزارشاتی در مورد رویدادهای CLR مطالعه کنید و نرم افزارهایتان را عیب یابی کنید.

farasun.wordpress.com

برای دنبال کردن مطالب بعدی این وبلاگ، مشترک فید فراسان شوید

شرکت های نرم افزاری برای «ویندوز 7» آماده شوند!

همانطور که می دانید چند وقتی است شرکت مایکروسافت با نسخه جدید سیستم عامل ویندوزش یعنی ویندوز 7 سر و صداهای زیادی به پا کرده است. نسخه RC ویندوز 7 هم اکنون برای دانلود در وب سایت مایکروسافت در دسترس است. مایکروسافت قول تغییرات زیادی را در این ویندوز داده است و قصد دارد شکست ویستا را با ارائه ویندوز 7 جبران کند. از قرار معلوم ویندوز 7 نسبت به ویستا برتری هایی در سرعت، ظاهر، سازگاری بیشتر با سخت افزارها و امکانات دارد. تاسک بار در ویندوز 7 از نو طراحی شده و امکانات خوبی به کاربر برای مدیریت پنجره های باز می دهد. قابلیتی به نام Libraries کاربران را در یافتن فایل های خودش یاری می کند (لینک هایی به فایل ها را در یکجا در دسترس کاربر قرار می دهد). تکنولوژی های جدیدی مثلی Multi-touch که کاربران ویندوز 7 را قادر به استفاده از دستگاه های جدید لمس چندگانه می کند.

Windows 7 firom Microsoft

کاربران نهایی ممکن است از این ویندوز خیلی لذت ببرند و از آن استفاده کنند. شاید هم پس از چند روز استفاده از آن بیزار شوند و به جای آن سیستم عامل دیگری نصب کنند. در نظر کاربران نهایی سیستم عامل ویندوز 7 خیلی از مسایل پنهان می ماند. این تولیدکنندگان نرم افزاری هستند که باید خود را با ویندوز جدید مایکروسافت هماهنگ کنند.EN-w7-comp_rgb_L_3

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

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

  • Windows Application Compatibility Toolkit (ACT) 5.5 و Application Verifier 4.0 را دانلود و نصب کنید. این برنامه ها به شما می گویند که نرم افزر شما با کدام امکانات نسخه جدید ویندوز مشکل خواهد داشت و شامل مستنداتی هستند که به شما در ساخت نرم افزاری که با نسخه جدید ویندوز کاملاً سازگار باشد، کمک می کنند.
  • کتاب Windows 7 Application Quality Cookbook را دانلود کنید و بخوانید. این کتاب در مورد سازگاری نرم افزارهای دیگر با ویندوز، امکانات جدید ویندوز 7 و ویندوز سرور 2008 و تغییرات در بخش های مهم ویندوز مطالب خوبی دارد.

به هر حال ویندوز 7 در سال 2009 بر اساس قولی که مایکروسافت داده است در سال 2009 به بازار خواهد آمد. پیش بینی می شود که استقبال کاربران از این ویندوز خیلی بیشتر از ویندوز ویستا خواهد بود. خیلی از کسانی که از ویندوز اکس پی استفاده می کنند و به ویندوز ویستا مهاجرت نکرده اند، حتمآً از ویندوز 7 استفاده خواهند کرد، زیرا دیگر ویندوز اکس پی جوابگوی آن ها نخواهد بود. می توانید با دریافت و نصب نسخه RC ویندوز 7 با امکانات جدید آن آشنا شوید و نرم افزارهای خود را روی آن امتحان کنید.

منبع قسمتی از مطلب : A Developer’s Guide to Preparing for Windows 7

مطالب مرتبط :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

بیایید با هم WPF یاد بگیریم!

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

ظاهر فرم های وب با استفاده از کدهای HTML و CSS ایجاد می شوند و مرورگر وب وظیفه رندر کردن این صفحات وب را بر عهده می گیرد. در فرم های ویندوز ظاهر فرم با استفاده از کامپوننت ها و کنترل های نرم افزاری شکل می گیرد و کتابخانه های GDI و فایل USER32.dll در زیر سیستم گرافیکی ویندوز وظیفه رندر کردن ویندوز فرم ها را بر عهده دارند. رابط کاربری را از دو نظر می توان مورد بررسی قرار داد، از نظر زیبایی و غنی (Rich) بودن. فرم های وب به علت باز بودن دست شما در استفاده از فایل های مالتی مدیا معمولاً زیبایی بیشتری نسبت به فرم های ویندوز دارند. صفحات وب می توانند از فایل های عکس و ویدئو به راحتی استفاده کنند و با استفاده از کدهای CSS ظاهری زیبا داشته باشند. در فرم های ویندوز این زیبایی به راحتی وب بدست نمی آید، اما به جای آن کنترل های غنی بسیار زیادی که برای فرم های ویندوز وجود دارد در وب کمتر یافت می شود. غنی یا Rich بودن یک کنترل به این معنی است که آن کنترل به خوبی به رفتارهای کاربر و رویدادهایی که برایش اتفاق می افتد پاسخ می دهد. البته با آمدن تکنولوژی AJAX فرم های وب تا حدودی در این زمینه بهبود یافته اند.

wpf_logo

Windows Presentation Foundation یا به اختصار WPF زیر سیستم گرافیکی جدید ویندوز است که روشی واحد برای طراحی رابط کاربری غنی و زیبا که می تواند از فایل های مالتی مدیا و افکت های دو بعدی و سه بعدی نیز استفاده کند، به توسعه دهندگان دات نت ارائه می کند. این سیستم جدید روشی فوق العاده قابل انعطاف تر از روشی که در Win32 و فرم های ویندوزی استفاده می شود به شما ارائه می کند. شما با استفاده از زبان XAML که در سیلورلایت هم مورد استفاده قرار می گیرد، رابط کاربری خود را می سازید. زبان XAML بر اساس فرمت XML به شما اجازه ساختن کنترل های WPF را می دهد و استفاده از آن به راحتی HTML خواهد بود.WPF کاملاً رابط کاربری نرم افزار شما را از منطق آن جدا خواهد کرد.

برای ایجاد فرم های WPF باید ویژوال استادیو 2008 را باز کنید و از قمست New / Project گزینه WPF Application را برگزینید. همانطور که در شکل زیر مشاهده می کنید، همانند فرم های ویندوزی، WPF نیز پنجره ای را در اختیار شما قرار می دهد تا کنترل های خودتان را روی آن قرار دهید. این کنترل های را می توان به صورت دستی با کدهای XAML ایجاد کرد و یا از Toolbox ویژوال استادیو روی پنچره قرار داد. با استفاده از این کنترل ها می توانید زیبایی خیره کننده ای به برنامه هایتان ببخشید.

مثالی از WPF

مثالی از WPF

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

شاید این مطالب هم برای شما خواندنی باشند :

پ.ن 1: اگر وقت اجازه بدهد، حتماً مطالب آموزشی در مورد WPF، XAML و سیلورلایت در این وبلاگ بیشتر مشاهده خواهید کرد.

پ.ن 2: Datefa را به CodePlex منتقل کردم، می توانید آخرین نسخه 2.4 پایدار به همراه سورس کد آن را از این سایت دریافت کنید.

پ.ن 3: مطلب آقای افشار محبی در مورد مفایسه WPF و WinForms برای مطالعه پیشنهاد میکنم.

پ.ن 4: وبلاگ Hyper Web مطالب تحلیلی با کیفیتی در مورد فناوری های روز می نویسد، خواندن این وبلاگ هم پیشنهاد می شود.

سیلورلایت 3.0 ارائه شد

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

18 مارس در MIX09 مایکروسافت نسخه ی بتای سیلورلایت 3.0 را معرفی کرد. در این کنفرانس که در لاس وگاس برگزار شد، علاوه بر نسخه جدید سیلورلایت، IIS 7، ASP.NET MVC Framework، IE 8، Blend 3، Visual Studio 2010 نیز مورد بررسی قرار گرفتند.  در این نوشته قصد داریم به معرفی ویژگی های جدید سیلورلایت نسخه 3.0 بتا بپردازیم.

اجرا خارج از مرورگر Out of Browser

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

بهبود های گرافیکی

سیستم گرافیکی سیلورلایت بهبودهای زیادی در این نسخه پیدا کرده است. پشتیبانی از افکت های قابل برنامه ریزی، perspective 3D، ایجاد فایل های Bitmap با استفاده از API های جدید سیلورلایت از این جمله اند. این بهبودهای گرافیکی، توسعه دهندگان را قادر میسازد تا مانور بیشتری روی تصاویر بدهند و افکت های تصویری مطلوب خود را تولید کنند.

کنترل های جدید

چندین کنترل جدید به SDK سیلورلایت اضافه شده اند و برخی از کنترل های موجود بهبود یافته اند. در این نسخه کنترل های جدید برای اعتبار سنجی داده های ورودی و هندل کردن خطاهای رابط کاربری معرفی شده اند. این کنترل ها به هنگام وارد کردن داده ها توسط کاربر به اعتبار سنجی آن و احتمالاً نشان دادن پیغام خطا می پردازند. برخی از کنترل های موجود در Silverlight Control Toolkit از جمله WrapPanel, DockPanel, ViewBox, AutoCompleteBox,Label در SDK نسخه 3.0 سیلورلایت ارائه شده اند. کنترل جدید SaveFileDialog هم به کاربران اجازه ذخیره فایل ها را روی هارد دیسک کامپیوترشان می دهد.

کنترل های پیشرفته تر مثل DataForm که امکان کار با داده ها (اضافه کردن، حذف و ویرایش) و حرکت میان آن ها را به شما می دهد. DataPager که امکان مرور صفحه به صفحه داده ها را به کاربر نهایی می دهد و Navigation Framework که برای حرکت میان صفحات یک اپلیکیشن سیلورلایت کاربرد دارد.

قابلیت های چند رسانه ای

چیزی که از قبل معلوم بود، پشتیبانی سیلورلایت 3.0 از فرمت های H264 و ACC است. پشتیبانی از RAW و امکان ایجاد Codecهای سفارشی توسط توسعه دهندگان از دیگر قابلیت های اضافه شده به سیستم مالتی مدیای سیلورلایت است.

بهبود کیفیت رندر متون Text Rendering

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

بایند کردن عنصر به عنصر Element-to-Element Binding

این قابلیت به عناصر موجود روی رابط کاربری اجازه بایند شدن به مشخصات (Properties) یکدیگر را می دهد. مثلاً بدون کد نویسی می توانید مقدار یک Slider را به پراپرتی Text یک TextBox نسبت دهید. با این کار هر گاه مقدار Slider توسط کاربر تغییر کند، مقدار Text مربوط به TextBox به صورت خودکار آپدیت می شود.

Network Monitoring API

با استفاده از این API خواهید توانست اتصال به اینترنت را در یک اپلیکیشن سیلورلایت چک کنید. برخی مواقع لازم است که بدانید کاربر با اینترنت ارتباط دارد یا از آن Disconnect شده است.

Binary XML

برای ارتباط با سرویس های WCF، علاوه بر فرمت معمولی مبتنی بر متن XML، می توانید از فرمت فشرده Binary XML در سیلورلایت 3 استفاده کنید.

سرویس های .NET RIA

به همراه سیلورلایت 3 بتا، مایکروسافت فریم ورک .NET RIA Services را منتشر کرده است. این ابزار سعی می کند تا معماری n-tier را ساده تر کند و دو فناوری Silverligt و ASP.NET را به هم نزدیک تر نماید. .NET RIA Services الگویی برای نوشتن منطق برنامه در لایه میانی اپلیکیشن به شما ارائه می کند و دستیابی به داده ها را کنترل می کند. وظیفه هایی مثل اعتبار سنجی داده ها، تشخیص هویت و ارتباط میان سیلورلایت در کلاینت و ASP.NET در لایه میانی را بر عهده دارد.

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

در مطالب بعدی در مورد ابزارهای عرضه شده برای توسعه اپلیکیشن های سیلورلایت 3.0 و در کل فناوری سیلورلایت بیشتر خواهید خواند. برای اینکه این مطالب را از دست ندهید، مشترک فراسان شوید.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

Oslo ; پلت فرم مدل سازی مایکروسافت

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

Oslo نسل بعدی پلت فرم توسعه مایکروسافت

محصول جدید مایکروسافت با کد نام «Oslo» قصد دارد تا توسعه دهندگان را در ساخت نرم افزارهای پیچیده و بزرگ مبتنی بر دیتابیس بوسیله ابزارهای مناسب یاری کند. مدل سازی در اینجا یعنی بیشتر مشخصات و تعریف های نرم افزار با داده ها پیاده سازی شوند به طوری که پلت فرم و شما بتوانید هر چه آسانتر با استفاده از یک کوئری به مقصود اصلی خود برسید. تکنولوژی های مایکروسافت چند وقتی است در این مسیر حرکت می کنند، برای نمونه XAML, .NET metadata attribute, COM type libraries همگی روی نوشتن مشخصات به عنوان داده و اجتناب از کد کردن آن ها در سطوح پایین (مثل دستورات IL در دات نت) تاکید دارند. پلت فرم Oslo میخواهد این راه را ادامه دهد.

Microsoft Oslo

اجزای تشکیل دهنده Oslo

پلت فرم مدل سازی Oslo با استفاده از اجزای زیر موارد بالا را در اختیار شما قرار می دهد :

  • ابزار طراحی بصری با کد نام «Quadrant» که به شما در پروسه طراحی قوانین تجاری اپلیکیشن ها کمک می کند. این ابزار با استفاده از شکلک های گرافیکی فلوچارت مانند به شما در طراحی مدل های یک اپلیکیشن کمک می کند.
  • یک زبان مدل سازی به نام «M» که شما بایستی برای توسعه مدل های خود از آن استفاده کنید. زبان M زبانی اعلانی (Declarative) برای کار کردن با داده ها و ساختن مدل هاست. M به برنامه نویسان اجازه می دهد تا ساختار داده های خود را تعریف کنند و کوئری های متناسب با نیاز خود ایجاد کنند.
  • مخزن Oslo که یک دیتابیس SQL Server است و مدل ها را به عنوان اشیاء و نمونه (Instance)های مدل ها را به عنوان سطرهای یک جدول (Table) برای پیاده سازی شمای آن، در SQL Server ذخیره می کند. مدل ها و نمونه هایی از مدل ها به صورت بصری یا با استفاده از M یا هر API دسترسی به SQL دیگری (مثل ADO.NET) ایجاد می شوند.

در هر صورتی که شما داده های مدل ها را ایجاد کنید یا تغییر دهید (با استفاده از ابزار بصری، استفاده از M یا هر API دسترسی به SQL)، تمام اطلاعات مدل سازی در یک دیتابیس رابطه ای (Ralational Database) که به آن Oslo Repository گفته می شود، در هنگام اجرا (Runtime) در دسترس اند.

شرکت مایکروسافت فعلاً قصد ارائه Oslo را به عنوان بخشی از ویندوز یا دات نت فریم ورک ندارد. این شرکت نسخه CTP پلت فرم مدل سازی Oslo را برای دانلود عمومی روی سایت خود قرار داده است که می توانید از اینجا SDK آن را دریافت کنید. مدل سازی چند وقتی است در کانون توجه مایکروسافت قرار گرفته و آنچه مسلم است در آینده ای نه چندان دور در مورد Oslo بیشتر خواهیم شنید.

ویدئوی بررسی Oslo

در ویدئوی زیر Paul Vick که چندی قبل در تیم طراحی زبان Visual Basic مایکروسافت همکاری میکرده است، و حالا بر روی زبان مدل سازی M و پلت فرم Oslo کار می کند، در مورد Oslo اطلاعات خوبی به شما خواهد داد. در این ویدئو آقای Vick در مورد پلت فرم Oslo و اهداف آن، زبان مدل سازی M، ابزار Quadrant و مخزن رابطه ای Oslo صحبت می کند. توصیه می کنم برای تکمیل این مطلب ویدئوی زیر را حتماً مشاهده کنید.


*مدل : در معنای عام، مدل نمایش انتزاعی از یک آیتم یا مفهوم است (مانند یک ماشین یا یک ساختمان). به طور مثال یک آرشیتکت ساختمان ابتدا مدل ساختمانی که قرار است بسازد را روی کاغد پیاده سازی می کند و نیازی به استفاده از بیل و کلنگ در ابتدای کار ندارد. در دنیای نرم افزار هم Model برای همین منظور به کار می رود، یعنی مدل سازی مشخصات نرم افزار قبل از پیاده سازی آن ها.

سایت رسمی Oslo

برای تکمیل مطلب و مشاهده مثال عملی می توانید مطالب آموزشی آقای وحید نصیری در مورد Oslo و زبان M را در اینجا مطالعه کنید.

ویرایش فایل های XML با XML Notepad 2007

فرمت XML در حال تبدیل شدن به یک فرمت جهانی و استاندارد برای تبادل داده ها و اسناد میان نرم افزارهای کاربردی و پلت فرم های مختلف است. شرکت مایکروسافت یکی از شرکت های پیشرو در گسترش فرمت XML به شما می رود که با معرفی فرمت های جدید نرم افزار آفیس 2007 که مبتنی بر XML بود قدم بزرگی در استانداردسازی این فرمت برداشته است. تکنولوژی های مربوط به XML در پلت فرم برنامه نویسی مایکروسافت یعنی دات نت فریم ورک از جایگاه ویژه ای برخوردارند و تاکید مایکروسافت به برنامه نویسان انتقال اسناد و داده ها میان برنامه ها با استفاده از این فرمت خواهد بود.

XML Notepad 2007 به برنامه نویسان (کاربران) امکان مشاهده محتوا، مرور ویرایش فایل های XML را می دهد. این نرم افزار رابط کاربری ساده ای برای ایجاد فایل های XML به کاربر ارائه می کند. همانطور که می دانید فایل های XML طبیعت درختی دارند، یعنی هر عنصری که در آن ها تعریف می شود، ممکن است دارای بچه (Child) باشد و یا دارای والد (Parent) باشد. وقتی یک فایل XML را در این برنامه باز می کنید، محتویات آن را به صورت درختی به شما نشان می دهد تا کار کردن با آن راحت و موثر باشد.

XML Notepad 2007

XML Notepad 2007

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

  • نشان دادن عناصر فایل به صورت درختی و اجازه ویرایش سریع آن ها
  • جستجوی آسان در میان عناصر و مقادیر
  • پشتیبانی از کشیدن و رها کردن (Drag and Drop) داده ها و عناصر در چند سند XML
  • Undo و Redo بی نهایت برای برگرداندن تغییرات به حالت قبل
  • جستجو میان فایل های XML با استفاده از عبارات با قاعده (Regular Expressions)
  • باز کردن سریع فایل های XML حجیم با کارایی بالا
  • اعتبار سنجی فایل XML با سرعت بالا، وقتی در حال ویرایش هستید خطاهایتان را می بینید
  • مقایسه دو فایل XML
  • و …

برای اجرای این برنامه احتیاج به دات نت فریم ورک 2.0 یا بالاتر دارید

دریافت XML Notepad 2007

همانطور که در تصویر مشاهده می کنید، من فید فراسان را با این برنامه باز کردم. فرمت RSS هم مبتنی بر XML است.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟