سلام
دوستان
آرام درخشانی هستم با آموزش کیوت(Qt) در خدمتتون هستم.
مقدمه و طرح سوال:
لابد شما هم گاهی پروژههایی بهتون پیشنهاد شده که کارفرما ازتون خواسته «یک برنامه» رو برای چندین سیستم عامل بنویسین؛ مثلا در حوزه موبایل، هم برای اندروید و هم برای آیفون و هم برای ویندوز فون – و برای دسکتاپ هم برای ویندوز هم برای لینوکس کار بکنه. یک برنامهی واحد در چند سیستم عامل! راه حل شما بعنوان یک مهندس نرمافزار یا IT چیست؟
خب اگه سرانگشتی یه حسابی بکنیم میبینیم که اگر برای هر سیستم عامل از تکنولوژیهای خاص اون استفاده کنیم، هزینهی تولید برنامهمون ضربدر تعداد سیستم عاملها میشه. یعنی یه برنامهی 100 میلیون تومانی برای 4 سیستمعامل در بهترین حالت 400 میلیون هزینهی پیادهسازی بر میداره. آیا به صرفه است؟ چطوری پروژه رو به لحاظ اقتصادی برای کارفرما توجیه بکنیم؟
حالا فرضا پروژه رو برای کارفرما توجیه کردیم ، تا اینجا 400 میلیون تومان هزینه ی تحلیل و طراحی و پیاده سازی(Analyze to implementation) شده. فرض میکنیم پروژه رو لانچ کردیم و تحویل دادیم و پول رو هم گرفتیم، حالا میرسیم به فاز نگهداری(Maintenance). برای این فاز چه چیزهایی دم دست داریم و چه چیزهایی نیاز داریم؟ 1 پلن طراحی داریم، با 4 تا پیادهسازی متفاوت در 4 پلتفرم متفاوت. طبیعتا به یک(واحد) آنالیزور و طراح، و به 4 (واحد) پیادهساز و برنامه نویس نیاز داریم تا بتونن این 4 تا پلتفرم رو مرتبا پشتیبانی کنند. یعنی آپدیت، رفع اشکال، سازگاری، تغییر ظاهر و ...
هزینه چقدر میشه؟! خدا داند...
راه حل:
فکر کنم شما هم به عمق فاجعه پی بردید! راه حل جایگزین چی میتونه باشه؟ اینجاست که در حالی که غمگین و افسرده به افق چشم دوخته ایم، مردی از سرزمین خورشید با اسب سفید و شنل سبز براقش[!!] پیتکو پیتکو کنان به سمت ما میآید!
- سلام من کیوت هستم!
* ححهههههههه (تعجب نکنید صدای اسبشه)
- شما؟
- من راه حل رویایی شما هستم! همونی که دنبالش میگردی. کم کم منو بیشتر میشناسی!
- کارت چیه؟ کجا درس خوندی؟ مدرکت چیه؟
- اونا رو ولش کن! من یه کاغذ جادویی و یه چوب سحرآمیز دارم که اگه کدت روی اون کاغذ بنویسی با یه بار تکون دادن چوب سحرآمیز میتونم هر چند تا خروجی که دلت بخواد برات بگیرم! تازه فایل اجراییم بهت میدم!
- واووووو! چه شگفت ناک آلود و محیلرالعقول کنندگی!! خب خب دیگه چیا بلدی؟!
- همممم...همونطور که تو نگفتی]![ این فقط یکی از هنرهامه! تو بخچهم خیلی چیزای دیگه هم دارم که فعلا رو نمی کنم. بستگی داره معاملهمون بشه یا نه...
- عاخه...
بدین ترتیب داستان ما و کیوت شروع میشه...به دنیای چند سکویی(Cross-Platform) خوش آمدید! 😊
دوستان
آرام درخشانی هستم با آموزش کیوت(Qt) در خدمتتون هستم.
مقدمه و طرح سوال:
لابد شما هم گاهی پروژههایی بهتون پیشنهاد شده که کارفرما ازتون خواسته «یک برنامه» رو برای چندین سیستم عامل بنویسین؛ مثلا در حوزه موبایل، هم برای اندروید و هم برای آیفون و هم برای ویندوز فون – و برای دسکتاپ هم برای ویندوز هم برای لینوکس کار بکنه. یک برنامهی واحد در چند سیستم عامل! راه حل شما بعنوان یک مهندس نرمافزار یا IT چیست؟
خب اگه سرانگشتی یه حسابی بکنیم میبینیم که اگر برای هر سیستم عامل از تکنولوژیهای خاص اون استفاده کنیم، هزینهی تولید برنامهمون ضربدر تعداد سیستم عاملها میشه. یعنی یه برنامهی 100 میلیون تومانی برای 4 سیستمعامل در بهترین حالت 400 میلیون هزینهی پیادهسازی بر میداره. آیا به صرفه است؟ چطوری پروژه رو به لحاظ اقتصادی برای کارفرما توجیه بکنیم؟
حالا فرضا پروژه رو برای کارفرما توجیه کردیم ، تا اینجا 400 میلیون تومان هزینه ی تحلیل و طراحی و پیاده سازی(Analyze to implementation) شده. فرض میکنیم پروژه رو لانچ کردیم و تحویل دادیم و پول رو هم گرفتیم، حالا میرسیم به فاز نگهداری(Maintenance). برای این فاز چه چیزهایی دم دست داریم و چه چیزهایی نیاز داریم؟ 1 پلن طراحی داریم، با 4 تا پیادهسازی متفاوت در 4 پلتفرم متفاوت. طبیعتا به یک(واحد) آنالیزور و طراح، و به 4 (واحد) پیادهساز و برنامه نویس نیاز داریم تا بتونن این 4 تا پلتفرم رو مرتبا پشتیبانی کنند. یعنی آپدیت، رفع اشکال، سازگاری، تغییر ظاهر و ...
هزینه چقدر میشه؟! خدا داند...
راه حل:
فکر کنم شما هم به عمق فاجعه پی بردید! راه حل جایگزین چی میتونه باشه؟ اینجاست که در حالی که غمگین و افسرده به افق چشم دوخته ایم، مردی از سرزمین خورشید با اسب سفید و شنل سبز براقش[!!] پیتکو پیتکو کنان به سمت ما میآید!
- سلام من کیوت هستم!
* ححهههههههه (تعجب نکنید صدای اسبشه)
- شما؟
- من راه حل رویایی شما هستم! همونی که دنبالش میگردی. کم کم منو بیشتر میشناسی!
- کارت چیه؟ کجا درس خوندی؟ مدرکت چیه؟
- اونا رو ولش کن! من یه کاغذ جادویی و یه چوب سحرآمیز دارم که اگه کدت روی اون کاغذ بنویسی با یه بار تکون دادن چوب سحرآمیز میتونم هر چند تا خروجی که دلت بخواد برات بگیرم! تازه فایل اجراییم بهت میدم!
- واووووو! چه شگفت ناک آلود و محیلرالعقول کنندگی!! خب خب دیگه چیا بلدی؟!
- همممم...همونطور که تو نگفتی]![ این فقط یکی از هنرهامه! تو بخچهم خیلی چیزای دیگه هم دارم که فعلا رو نمی کنم. بستگی داره معاملهمون بشه یا نه...
- عاخه...
بدین ترتیب داستان ما و کیوت شروع میشه...به دنیای چند سکویی(Cross-Platform) خوش آمدید! 😊
تعریف و معرفی کیوت:
کیوت(برخی دوست دارن کیوتی بخونن) یک فریمورک چندسکویی مهیج است که بطور گستردهای برای تولید اپلیکیشنها و برنامههای کاربردی و سیستمی مورد استفاده قرار میگیرد.
فریمورک چیست؟ در یک تعریف ساده، فریمورک به یک چارچوب کاری یا محیط برنامه نویسی گفته میشه که علاوه بر این که کلاسها و توابع متعدد و مختلف رو برای راحتی کار و پرهیز از دوباره کاری در اختیارتوسعه دهنده قرار میده، یک سری اصول کلی رو هم وضع میکنه که برای تولید برنامه باید از اون اصول پیروی کرد. به فرض مثال Laravel در زبان PHP یک فریمورک است Bootstrap در CSS یا Backbone، AngularJS و jQuery در زبان JavaScript.
Qt هم یک فریمورک برای زبان C++ هست.
توسط کیوت میتوانید برنامههایی بسازید که دستگاههای مختلف را بهم وصل کند، در هر دستگاه ظاهرش متناسب با آن دستگاه خاص باشد(هم Responsive و هم Native) ، در عین حال یکدست و یکپارچه باشد و خیالتان از این بابت راحت باشد که هر وقت بخواهید روی هر سیستم عاملی اجرا می شود!
+ علاوه بر خاصیت چند سکویی بودن مزایای و امکانات بسیار بسیار زیاد دیگری نیز دارد که در جلسه آینده ازشان پرده برخواهیم داشت
جالبه نه؟! ما هم در این سری آموزش ها میخواهیم چنان کنیم! یعنی یاد بگیریم که برنامههای قدرتمندی بسازیم که روی هر پلتفرمی بدرستی و به زیبایی اجرا بشه و فقط با نوشتن یکبار کد، برای همه ی سیستمعاملها از آن خروجی بگیریم.
بد نیست نگاهی به نمونه برنامههایی که با کیوت نوشته شدن بیندازیم:
* Telegram Desktop (بله همین تلگرام خودمون!)
* Viber Desktop
* Cisco Packet Tracer
* Wireshark
* VLC Player
* KeePass
* Amazon Kindle
* BlackBerry 10
* Calibre (software)
* Mathematica
* Marbel
* Spotify
* VirtualBox
* WPS Office
و...
* لوازم کار با کیوت؟
چه چیزهایی لازمه بدانیم تا بر روی شانههای این غول سوار بشیم و بتونیم ازش استفاده کنیم؟
1- Qt Framework Fundamentals
2- C++
a. OOP
b. Pointers
c. Vectors
d. Lists
3- Design Patterns
4- MVC
5- JS/CSS/HTML/XML
6- و...
چی؟! جاوا اسکریپت و CSS و HTML هم؟! بله. البته جزو واجبات نیست اما محض اطلاع خوبه بدونیم که کیوت تمهیداتی فراهم کرده که بتونیم از قدرت این سه ابزار دنیای وب هم استفاده کنیم! یعنی در داخل کدهای C++ تون میتونید از:
- HTML برای تعیین ساختار نمایش متن ( Bold- H1-H2-…H6 – P و...)
- CSS برای تعیین فرمت و استایل نمایش متون و اشیاء ظاهری (رنگ، حجم، فواصل، حاشیه، پس زمینه و ...)
- JS در QML بعنوان یک زبان اسکریپتی برای نوشتن برنامههای با ظاهر مدرن و زیبا
- XML برای تنظیم چینش کنترلها روی صفحه و تعیین خواص و ویژگی های آنها در برنامههای GUI
* نکات:
• برای کار کردن با کیوت نیاز دارید که موارد 1 تا 5 را حتما مسلط بشید.
• لازم نیست نگران باشید. در حین آموزش هر جا به موضوعات ضروری 1 تا 8 نیاز پیدا کردیم مرور خواهیم کرد و با هم پیش خواهیم رفت.
• برای کار با کیوت ضرورتی ندارد که به C++ محدود بشویم میتوانیم از زبانهای دیگری مثل پایتون و روبی هم استفاده کنیم اما این زبان ها در کیوت هنوز به اندازهی C++ مورد پوشش و حمایت نیستند.
کیوت(برخی دوست دارن کیوتی بخونن) یک فریمورک چندسکویی مهیج است که بطور گستردهای برای تولید اپلیکیشنها و برنامههای کاربردی و سیستمی مورد استفاده قرار میگیرد.
فریمورک چیست؟ در یک تعریف ساده، فریمورک به یک چارچوب کاری یا محیط برنامه نویسی گفته میشه که علاوه بر این که کلاسها و توابع متعدد و مختلف رو برای راحتی کار و پرهیز از دوباره کاری در اختیارتوسعه دهنده قرار میده، یک سری اصول کلی رو هم وضع میکنه که برای تولید برنامه باید از اون اصول پیروی کرد. به فرض مثال Laravel در زبان PHP یک فریمورک است Bootstrap در CSS یا Backbone، AngularJS و jQuery در زبان JavaScript.
Qt هم یک فریمورک برای زبان C++ هست.
توسط کیوت میتوانید برنامههایی بسازید که دستگاههای مختلف را بهم وصل کند، در هر دستگاه ظاهرش متناسب با آن دستگاه خاص باشد(هم Responsive و هم Native) ، در عین حال یکدست و یکپارچه باشد و خیالتان از این بابت راحت باشد که هر وقت بخواهید روی هر سیستم عاملی اجرا می شود!
+ علاوه بر خاصیت چند سکویی بودن مزایای و امکانات بسیار بسیار زیاد دیگری نیز دارد که در جلسه آینده ازشان پرده برخواهیم داشت
جالبه نه؟! ما هم در این سری آموزش ها میخواهیم چنان کنیم! یعنی یاد بگیریم که برنامههای قدرتمندی بسازیم که روی هر پلتفرمی بدرستی و به زیبایی اجرا بشه و فقط با نوشتن یکبار کد، برای همه ی سیستمعاملها از آن خروجی بگیریم.
بد نیست نگاهی به نمونه برنامههایی که با کیوت نوشته شدن بیندازیم:
* Telegram Desktop (بله همین تلگرام خودمون!)
* Viber Desktop
* Cisco Packet Tracer
* Wireshark
* VLC Player
* KeePass
* Amazon Kindle
* BlackBerry 10
* Calibre (software)
* Mathematica
* Marbel
* Spotify
* VirtualBox
* WPS Office
و...
* لوازم کار با کیوت؟
چه چیزهایی لازمه بدانیم تا بر روی شانههای این غول سوار بشیم و بتونیم ازش استفاده کنیم؟
1- Qt Framework Fundamentals
2- C++
a. OOP
b. Pointers
c. Vectors
d. Lists
3- Design Patterns
4- MVC
5- JS/CSS/HTML/XML
6- و...
چی؟! جاوا اسکریپت و CSS و HTML هم؟! بله. البته جزو واجبات نیست اما محض اطلاع خوبه بدونیم که کیوت تمهیداتی فراهم کرده که بتونیم از قدرت این سه ابزار دنیای وب هم استفاده کنیم! یعنی در داخل کدهای C++ تون میتونید از:
- HTML برای تعیین ساختار نمایش متن ( Bold- H1-H2-…H6 – P و...)
- CSS برای تعیین فرمت و استایل نمایش متون و اشیاء ظاهری (رنگ، حجم، فواصل، حاشیه، پس زمینه و ...)
- JS در QML بعنوان یک زبان اسکریپتی برای نوشتن برنامههای با ظاهر مدرن و زیبا
- XML برای تنظیم چینش کنترلها روی صفحه و تعیین خواص و ویژگی های آنها در برنامههای GUI
* نکات:
• برای کار کردن با کیوت نیاز دارید که موارد 1 تا 5 را حتما مسلط بشید.
• لازم نیست نگران باشید. در حین آموزش هر جا به موضوعات ضروری 1 تا 8 نیاز پیدا کردیم مرور خواهیم کرد و با هم پیش خواهیم رفت.
• برای کار با کیوت ضرورتی ندارد که به C++ محدود بشویم میتوانیم از زبانهای دیگری مثل پایتون و روبی هم استفاده کنیم اما این زبان ها در کیوت هنوز به اندازهی C++ مورد پوشش و حمایت نیستند.
سرفصل ها:
سرفصلهایی که در این سری آموزش با هم خواهیم گذراند به شرح زیر است:
1- مقدمات لازم برای فهم کیوت
2- ساختار IDE کیوت یا QtCreator
3- کار با المنتها و ویجت ها در محیط کیوت
4- یادآوری مباحث مهم از C++
5- شروع کار با کیوت
a. برنامههای کنسول
b. برنامههای GUI
c. برنامههای QML و QtQuick
d. خروجی برای پلتفرم اندروید
e. خروجی برای پلتفرم iOS
f. خروجی برای پلتفرم Linux
6- Syntax برنامههای QtQuick
7- معماری MVC
8- انیمیشن در QtQuick
9- ارتباط QML و C++
10- کار با شبکه
11- کار با JavaScript
12- ارتباط C++ و QML
13- نوشتن یک برنامه با QtQuick
14- نوشتن یک بازی با QtQuick یا Canvas (اگر وقت داشته باشیم)
15- گرفتن خروجی برای پلتفرمهای اندروید و iOS
16- معرفی منابع
خب الان نقشه راهمان مشخصه. از جلسه آینده مطابق سرفصل ها پیش خواهیم رفت. با ما و کیوت همراه باشید!
تا جلسه بعد خدا نگهدار!
سرفصلهایی که در این سری آموزش با هم خواهیم گذراند به شرح زیر است:
1- مقدمات لازم برای فهم کیوت
2- ساختار IDE کیوت یا QtCreator
3- کار با المنتها و ویجت ها در محیط کیوت
4- یادآوری مباحث مهم از C++
5- شروع کار با کیوت
a. برنامههای کنسول
b. برنامههای GUI
c. برنامههای QML و QtQuick
d. خروجی برای پلتفرم اندروید
e. خروجی برای پلتفرم iOS
f. خروجی برای پلتفرم Linux
6- Syntax برنامههای QtQuick
7- معماری MVC
8- انیمیشن در QtQuick
9- ارتباط QML و C++
10- کار با شبکه
11- کار با JavaScript
12- ارتباط C++ و QML
13- نوشتن یک برنامه با QtQuick
14- نوشتن یک بازی با QtQuick یا Canvas (اگر وقت داشته باشیم)
15- گرفتن خروجی برای پلتفرمهای اندروید و iOS
16- معرفی منابع
خب الان نقشه راهمان مشخصه. از جلسه آینده مطابق سرفصل ها پیش خواهیم رفت. با ما و کیوت همراه باشید!
تا جلسه بعد خدا نگهدار!
انجمن علمی ریکا
@AMCSUI سمینار هدف علوم کامپیوتر باحضور: دکتر طهماسبی مدیرگروه،دکتر توکلی استادیار گروه علوم کامپیوتر دانشگاه شهید بهشتی یکشنبه 9اسفند ماه
باسلام
به دلیل کنسل شدن پرواز دکتر طهماسبی و دکتر توکلی سمینار فردا,یکشنبه 9 ام اسفند ماه برگزار نمیگردد.
تاریخ برگزاری متعاقبا اعلام خواهد شد.
به دلیل کنسل شدن پرواز دکتر طهماسبی و دکتر توکلی سمینار فردا,یکشنبه 9 ام اسفند ماه برگزار نمیگردد.
تاریخ برگزاری متعاقبا اعلام خواهد شد.
همایش بزرگ کارآفرینی مدرن با حضور عطا خلیقی.
آقای عطاخلیقی موسس سرویس وبلاگ پرشینبلاگ ، سرویس اقتصادی-بازرگانی ارانیکو و مشاور سازمان فناوری اطلاعات ایران است. وی از سال 1380 به صورت حرفه ای جز فعالان وب ایران محسوب میشوند. عطا خلیقی با تجربیات فراوانی که در طی سالها فعالیت در حوزه آی تی بدست آورده در رویدادهای مختلفی، به عنوان سخنران، داور و مربی سعی در انتقال آنها دارد.
با توجه به اینکه تا شروع این رویداد وقت زیادی باقی نمونده بهتون پیشنهاد میکنم که هر چه سریعتر در این رویداد ثبت نام کنید.
برای ثبت نام در این رویداد از لینک های زیر استفاده کنید
eventcenter.ir/modern
evand.ir/events/modern3
منتظرتونیم...
کد تخفیف 50% برای بچه های علوم کامپیوتر :
fifty
آقای عطاخلیقی موسس سرویس وبلاگ پرشینبلاگ ، سرویس اقتصادی-بازرگانی ارانیکو و مشاور سازمان فناوری اطلاعات ایران است. وی از سال 1380 به صورت حرفه ای جز فعالان وب ایران محسوب میشوند. عطا خلیقی با تجربیات فراوانی که در طی سالها فعالیت در حوزه آی تی بدست آورده در رویدادهای مختلفی، به عنوان سخنران، داور و مربی سعی در انتقال آنها دارد.
با توجه به اینکه تا شروع این رویداد وقت زیادی باقی نمونده بهتون پیشنهاد میکنم که هر چه سریعتر در این رویداد ثبت نام کنید.
برای ثبت نام در این رویداد از لینک های زیر استفاده کنید
eventcenter.ir/modern
evand.ir/events/modern3
منتظرتونیم...
کد تخفیف 50% برای بچه های علوم کامپیوتر :
fifty
EventCenter | ایونت سنتر
کارآفرینی مدرن 3
کارآفرینی مدرنیک دور همی استارتاپی هست که در اون از دانش یک فرد با تجربه استفاده میکنیم. بعد سوال هامون رو ازش میپرسیم و در نهایت شبکه سازی میکنیم.با حمایت
Forwarded from انجمن علمی دانشجویی مهندسی کامپیوتر دانشگاه اصفهان
#کارآفرینی_مدرن
#kmodern
با حضور #عطاخلیقی موسس #پرشین_بلاگ
جزییات بیشتروثبت نام:
eventcenter.ir/modern
evand.ir/events/modern3
@ui_sace
#kmodern
با حضور #عطاخلیقی موسس #پرشین_بلاگ
جزییات بیشتروثبت نام:
eventcenter.ir/modern
evand.ir/events/modern3
@ui_sace
@AMCSUI
سمینار هدف علوم کامپیوتر
با حضور :
دکتر طهماسبی مدیرگروه،دکتر توکلی استادیار گروه علوم کامپیوتر دانشگاه شهید بهشتی
سه شنبه18اسفند
سمینار هدف علوم کامپیوتر
با حضور :
دکتر طهماسبی مدیرگروه،دکتر توکلی استادیار گروه علوم کامپیوتر دانشگاه شهید بهشتی
سه شنبه18اسفند
🌸با عرض سلام خدمت همه ي دوستان خوبم.خاطره پروانيان هستم .در خدمتتون هستم با اولين جلسه ي اموزش فتوشاپ.در قسمتهاي بعدي قصد دارم نرم افزارCoreldraw رو هم بهتون اموزش بدم.تا بتونيد از هر دو نرم افزار (photoshop,coreldraw)طرح هاي تركيبي هم طراحي كنيد.امشب يك سري مطالب أوليه و مفهومي رو براتون توضيح ميدم كه يك سري اصطلاحات رو ياد بگيريد و با اونها اشنا بشيد.🌸
@AMCSUI
@AMCSUI
🌸در قسمت اول به بيان أصول تركيب بندي در يك اثر گرافيكي مي پردازيم.اولين مورد كمپوزيسيون هست كه در موردش توضيح ميدم:زماني كه ما عناصر تجسمي رو به صورت منطقي در فضا يا تصوير مورد نظرمون جاي ميديم بهش كمپوزيسيون يا(تركيب بندي) گفته مي شود.🌸
@AMCSUI
@AMCSUI
🌸حالا ببينيم هدف از إيجاد اين تركيب بندي يا كمپوزيسيون چي هستش؟در واقع هدف ما رسيدن به يك بيان بهتر در راستاي هدف و ذهنيت هنرمند و خلق فضايي دلپذير براي مخاطب هست.يك تركيب بندي خوب در راستاي تاكيد و معرفي موضوع اصلي اثر ما حركت ميكند و هيچ يك از عناصر بصري موجود در ان نسبت به بقيه از تاكيد بيشتري برخوردار نيست.بلكه نحوه ي قرار گيري عناصر به گونه اي هستش كه مخاطب بتواند به راحتي تمامي عناصر موجود در تصاوير أعم از فرم،رنگ،و...را مشاهده و از هم تفكيك كند.🌸
@AMCSUI
@AMCSUI
🌸تركيب بندي كلا به دو شيوه هستش:يكي متقارن و ديگري نا متقارن.كه در تركيب بندي متقارن محور تقارن از وسط كادر يا همون مركز كمپوزيسيون عبور مي كند و عناصر موجود در دو يا چهار طرف محور متقارن عينا تكرار ميشوند.همينطور كه در شكل زير مي بينيد من انواع محورهاي تقارن در كادر رو براتون رسم كردم:
@AMCSUI
@AMCSUI
🌸روش قرينه سازي در حالي كه ساده ترين نوع در إيجاد تركيب بندي متعادل هست اما به علت يكنواختي و حالت سكوني كه دارد كسالت بار هستش.🌸
@AMCSUI
@AMCSUI
🌸و اما در تركيب بندي به شيوه ي نامتقارن هنرمند عناصر را طوري طراحي ميكند كه تصوير از نظر وزني به تعادل برسد و در عين حال قرينه هم نباشد.با اينكه تركيب مناسب از اين روش دشوارتَر از روش اول هست اما از لحاظ بصري زيباتر و دلنشين تَر هستش.در تصوير زير يك تركيب بندي نامتقارن رو براتون طراحي كردم كه در عين تعادل داراي حركت و پويايي هست:
@AMCSUI
@AMCSUI