PDA

View Full Version : دربارهء WPF/XAML



eshpilen
یک شنبه 26 تیر 1390, 23:37 عصر
مزایای XAML چیه؟
اصل و اساس و محور WPF همون XAML هست دیگه؟
راستی گفتم مزایا و معایب بخاطر اینکه منصفانه باشه؛ وگرنه شخصا توش عیبی ندیدم!
یکی از مزایای XAML علاوه بر خوانایی بیشتر فکر میکنم کوتاهتر بودن کدهاش باشه. میدونید که در WPF میتونیم هم با XAML کار کنیم و هم با کدنویسی.
از نظر مقایسهء کنترلهایی که در WPF و ساختار اینترفیس و فریمورکش با Windows Forms نظر خاصی ندارم چون هنوز به بخش Windows Forms نرسیدم. اگر شما چیزی در این زمینه میدونید بگید.
راستی مزیت دیگرش رو یادم رفت! جداسازی کامل بخش نمایشی اینترفیس کاربری از منطق اینترفیس کاربری و منطق و الگوریتم های دیگر برنامه.

راستی میخواستم بدونم ایدهء WPF یا XAML در کل جدید بوده و اختراع میکروسافت هست یا قبلا مشابهش بوده؟ چون فکر کنم قبلا یه چیزایی مشابهش دیده بودم و خوانده بودم، ولی شک دارم دقیقا چی بودن و چقدر به کیفیت و کمال WPF نزدیک هستن. اگر فناوری مشابهی سراغ دارید معرفی کنید.

Rainbow128
دوشنبه 27 تیر 1390, 06:15 صبح
این سایتو ببین
http://www.narenji.ir/2628

Rainbow128
دوشنبه 27 تیر 1390, 06:29 صبح
اینم در مورد DirectX
http://www.narenji.ir/-7-narenji-sections-74/95/2001-directx-11-review

epsi1on
دوشنبه 27 تیر 1390, 21:33 عصر
مزایای XAML چیه؟
اصل و اساس و محور WPF همون XAML هست دیگه؟
راستی گفتم مزایا و معایب بخاطر اینکه منصفانه باشه؛ وگرنه شخصا توش عیبی ندیدم!
یکی از مزایای XAML علاوه بر خوانایی بیشتر فکر میکنم کوتاهتر بودن کدهاش باشه. میدونید که در WPF میتونیم هم با XAML کار کنیم و هم با کدنویسی.
از نظر مقایسهء کنترلهایی که در WPF و ساختار اینترفیس و فریمورکش با Windows Forms نظر خاصی ندارم چون هنوز به بخش Windows Forms نرسیدم. اگر شما چیزی در این زمینه میدونید بگید.
راستی مزیت دیگرش رو یادم رفت! جداسازی کامل بخش نمایشی اینترفیس کاربری از منطق اینترفیس کاربری و منطق و الگوریتم های دیگر برنامه.

راستی میخواستم بدونم ایدهء WPF یا XAML در کل جدید بوده و اختراع میکروسافت هست یا قبلا مشابهش بوده؟ چون فکر کنم قبلا یه چیزایی مشابهش دیده بودم و خوانده بودم، ولی شک دارم دقیقا چی بودن و چقدر به کیفیت و کمال WPF نزدیک هستن. اگر فناوری مشابهی سراغ دارید معرفی کنید.

با سلام.
من منظور شما رو کامل متوجه نشدم، ولی همونطور که میدونید XAML یه زبان همه منظوره و XML Based هست که میتونه یه tree از اشیاء دات نت رو نشون بده.
به نظرم هم نمیشه گفت به اون صورت که حتما در همه حالات آشنایی کامل با XAML جزو واجبات هست. مثلا این برنامه Microsoft Expression Blend رو اگه استفاده کنید خیلی خیلی کم به جایی بر میخورید (البته بنا به تجربه من) که لازم باشه مستقیما توی کد XAML دست ببرید و همه کد رو خورد Blend براتون میسازه

eshpilen
سه شنبه 28 تیر 1390, 10:48 صبح
طبق تجربهء بنده، یادگیری اینطور موارد تقریبا همیشه مفید هست و به زحمت و وقتی که میبره می ارزه.
حداقل درحد پایه رو هر برنامه نویس درست و حسابی ای باید بلد باشه.
میگم یاد بگیریم به این معنا نیست که همیشه دستی کد بزنیم و از اینطور نرم افزارهای کمکی/ویژوال استفاده نکنیم.
یاد گرفتن باعث بینش و احاطه میشه و ذهن رو هم پرورش میده و ضمنا بعضی جاها واقعا کار رو راه میندازه و منجر به مزایا و خلاقیت هایی میشه.
بنظر شما مهارت و توانایی لازم برای یه برنامه نویس درحد ایجاد یه رابط گرافیکی به هر روش ممکن کفایت میکنه؟
ضمنا XAML چیز خیلی پیچیده و حجیمی نیست. برنامه نویسی که از یادگیری ابزار و پایه و ساختارهای مورد استفادهء خودش بترسه یا عاجز باشه احتمالا توان بالایی نداره.

epsi1on
سه شنبه 28 تیر 1390, 11:24 صبح
طبق تجربهء بنده، یادگیری اینطور موارد تقریبا همیشه مفید هست و به زحمت و وقتی که میبره می ارزه.
من هم به هیچ وجه منظورم این نبود که در خیلی از موارد آشنایی با XAML اصلا لازم نیست. دقیقا منطورم این بود که آشنایی کامل با XAML در خیلی از موارد از واجبات نیست . مثال میزنم، مثلا من نوعی چند بار لازمم میشه که با XAML یه یه شی بسازم و یسری آرگومان به Constructor اون شی بفرستم؟ (مثل کاری که این پایین انجام شده)


public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}

<local:Person>
<x:Arguments>
<x:String>Joe</x:String>
<x:String>McDowell</x:String>
</x:Arguments>
</local:Person>
این نظر منم فارغ از حجم XAML برای یادگیری بود. صرفا از این جهت که شما فرمودید اصل و اساس این WPF همون XAML هست من این نظر رو دادم. (که ظاهرا منظور شما رو از این جمله اشتباه متوجه شدم!)