ASP.NET is almost 15 years old and it has evolved to become a flexible and extremely powerful platform. But 15 years is a long time, especially in the world of web technology, and the folks at Microsoft knew it was time to change ASP.NET.
In this course, Envato Tuts+ instructor Jeremy McPeak will walk you through the major changes to ASP.NET in version 5. Along the way, you'll see how these changes will affect your project and how the new features can make your life as a developer easier. You'll also get a first look at the new Tag Helpers, inversion of control and dependency injection features, with practical examples.
چند روز پیش مطلبی
به عنوان اشتراک در سایت جاری معرفی شده که به ما یادآوری میکرد، ما تنها
استفاده کنندگان سیستمهای کامپیوتری، به خصوص اینترنت نیستیم و معلولین هم
نیازمند استفاده از این فناوریها هستند.
WAI-ARIA که برگرفته از Web Accessibility Initiative - Accessible Rich internet Application است به معنی برنامهی اینترنتی تعامل گرا با خاصیت دسترسی پذیری بالا میباشد و یک راهنماست که توسط کنسرسیوم وب (+ ) معرفی گشته است تا وب سایتها با رعایت این قوانین، دسترسی سایت خود را بالاتر ببرند. این قوانین به خصوص برای سایتهایی با محتوای پویا هستند که از فناوریهایی چون Ajax,Javascrip, HTML و دیگر فناوریهای مرتبط استفاده میکنند.
امروزه طراحان وب بیش از هر وقتی از فناوریهای سمت کلاینت چون جاوااسکریپت برای ساخت رابطهای کاربری استفاده میکنند که html به تنها قادر به ایجاد آنها نیست. یکی از تکنیکهای جاوااسکریپت، دریافت محتوای جدید و به روزآوری قسمتی از صفحات وب است بدون اینکه مجددا کل صفحه از وب سرور درخواست گردد که به این تکنیک Rich Internet Application هم میگویند. تا به اینجای کار هیچ مشکلی نیست و خوب هم هست؛ ولی مشکلی که در این بین وجود دارد این است که این نوع تکنیکها باعث از بین رفتن خاصیت دسترسی پذیری معلولین میگردند. معلولینی که از صفحه خوان ها استفاده میکنند یا به دلیل معلولیتهای خود قادر به حرکت دادن ماوس نیستند.
ARIA با استفاده از خصوصیتها Properties، نقشها Roles و وضعیتها States به طراحان برنامههای وب و سازندگان فناوریهای یاری رسان، اجازه میدهد که با ابزارهای کمکی معلولان ارتباط برقرار کنیم و یک صفحهی وب ساده را به یک صفحهی پویا تبدیل کنیم. ARIA تنها یک استاندارد برای وب نیست، بلکه یک فناوری چند پلتفرمه است که برای بازیهای رایانهای، موبایلها، دستگاههای سرگرمی و سلامتی و دیگر انواع برنامهها نیز تعریف شده است.
WAI-ARIA که برگرفته از Web Accessibility Initiative - Accessible Rich internet Application است به معنی برنامهی اینترنتی تعامل گرا با خاصیت دسترسی پذیری بالا میباشد و یک راهنماست که توسط کنسرسیوم وب (+ ) معرفی گشته است تا وب سایتها با رعایت این قوانین، دسترسی سایت خود را بالاتر ببرند. این قوانین به خصوص برای سایتهایی با محتوای پویا هستند که از فناوریهایی چون Ajax,Javascrip, HTML و دیگر فناوریهای مرتبط استفاده میکنند.
امروزه طراحان وب بیش از هر وقتی از فناوریهای سمت کلاینت چون جاوااسکریپت برای ساخت رابطهای کاربری استفاده میکنند که html به تنها قادر به ایجاد آنها نیست. یکی از تکنیکهای جاوااسکریپت، دریافت محتوای جدید و به روزآوری قسمتی از صفحات وب است بدون اینکه مجددا کل صفحه از وب سرور درخواست گردد که به این تکنیک Rich Internet Application هم میگویند. تا به اینجای کار هیچ مشکلی نیست و خوب هم هست؛ ولی مشکلی که در این بین وجود دارد این است که این نوع تکنیکها باعث از بین رفتن خاصیت دسترسی پذیری معلولین میگردند. معلولینی که از صفحه خوان ها استفاده میکنند یا به دلیل معلولیتهای خود قادر به حرکت دادن ماوس نیستند.
ARIA با استفاده از خصوصیتها Properties، نقشها Roles و وضعیتها States به طراحان برنامههای وب و سازندگان فناوریهای یاری رسان، اجازه میدهد که با ابزارهای کمکی معلولان ارتباط برقرار کنیم و یک صفحهی وب ساده را به یک صفحهی پویا تبدیل کنیم. ARIA تنها یک استاندارد برای وب نیست، بلکه یک فناوری چند پلتفرمه است که برای بازیهای رایانهای، موبایلها، دستگاههای سرگرمی و سلامتی و دیگر انواع برنامهها نیز تعریف شده است.
فریمورک ARIA
خود HTML به تنهایی نمیتواند نقشهای هر المان و ارتباط بین آنها را به درستی بیان کند و به این منظور ARIA به کمک میآید. با استفاده از نقشها میتوان هدف هر المان را مشخص کرد و با استفاده از خصوصیات ARIA نحوهی عملکرد آنها را تعریف کرد.
نقش ها
نقشها طبق مستندات کنسرسیوم وب بر 4 نوع هستند:
- Abstract Roles
- Widget Roles
- Document Roles
- Landmark Roles
Banner | این
قسمت که عموما برای اجزای مهمی مثل هدر سایت قرار میگیرد و شامل معرفی وب
سایت هست و در همهی صفحات وجود دارد که شامل لوگو، اطلاعات عمومی سایت و
اسپانسرها و ... میگردد و بسیار مهم است که تنها یکبار در صفحهی وب به کار
برود و تکرار آن پرهیز شود. |
Main | این
نقش به محتوای اصلی وب سایت اشاره میکند و نباید بیشتر از یکبار در هر صفحهی وب به کار برود و عموما بهتر است این خصوصیت در تگ div قرار گیرد:<div Role="main"></div> <main role="main">..... |
Navigation | اشاره به یک ناحیه پر از المانهای لینک برای ارتباط با صفحات دیگر |
Complementary | مشخص سازی ناحیهای که اطلاعات اضافی دربارهی محتوای اصلی سایت دارد؛ مانند بخش مقالات مرتبط، آخرین کامنتها و ... |
ContentInfo | این نقش که بیشتر برای فوتر مناسب است برای محتوایی به کار میرود که در آن به قوانین کپی رایت و ... اشاره میشود. |
form | برای اشاره به فرمها که دارای قسمتهای ورودی کاربر هستند. |
search | در صورتیکه فرمی دارید و از آن برای گزینهی جست و جو استفاده میکنید، از این نقش استفاده کنید. |
application | برای
اینکه وب سایت خود را به صورت یک وب اپلیکیشن معرفی کنید؛ تا یک صفحه وب معمولی،
استفاده میشود و برای وب سایتهای قدیمی یا با حالت سنتی توصیه نمیشود و
به برنامههای کمکیار معلولین میگوند که از حالت عادی به حالت
application سوئیچ کنند؛ پس با دقت بیشتری باید از این گزینه استفاده کرد. |
خصوصیتها و وضعیت ها
در حالیکه از نقشها برای معرفی هر المان یا تگ استفاده میکنید؛ خصویتها و وضعیتها به کاربر اطلاعات اضافی میدهند که چگونه ز آن استفاده کنند. برای معرفی خصوصیتها و وضعیتها از یک خصوصیت که با -aria شروع میشود استفاده کنید. از معروفترین آنها خصوصیت aria-required و وضعیت aria-checked میباشند، تا به ترتیب به کاربر اعلام کنید این تگ نیاز به پر شدن دارد، یا المانی نیاز به تغییر وضعیت انتخابی دارد.
نحوهی استفاده از آنها به شکل زیر است:
<div id="some-id" class="some-class" aria-live="assertive"><div>
aria-live سه مقدار میپذیرد که عبارتند از Off,Polite,Assertive و مشخص میکنند که المان مورد نظر آپدیت پذیر هست یا خیر و اگر آری، نحوهی به روز شوندگی آن به چه نحوی است.
ساخت ارتباطات میان المانها با خصوصیتهای ارتباطی
مثال شماره یک
ساخت ارتباطات میان المانها با خصوصیتهای ارتباطی
مثال شماره یک
<div role="main" aria-labelledby="some-id"> <h1 id="some-id">This Is A Heading</h1> Main content... </div>
خصوصیت aria-labelledby به تعریف المانهایی با نام جاری میپردازد. این خصوصیت معرفی کنندهی برچسب هاست. به عنوان مثال بین المانها ورودی و برچسب آنان ارتباط ایجاد میکند تا ابزارهای معلولین، مانند صفحه خوانها، در خواندن به مشکل برنخورند.
مثال شماره دو
در این مثال هر گروهی از المانها یک برچسب و بعضی المانها یک برچسب اختصاصی دارند که توسط خصوصیت معرفی شده aria-labelldby کامل شدهاند:
مثال شماره دو
در این مثال هر گروهی از المانها یک برچسب و بعضی المانها یک برچسب اختصاصی دارند که توسط خصوصیت معرفی شده aria-labelldby کامل شدهاند:
<div id="billing">Billing Address</div> <div> <div id="name">Name</div> <input type="text" aria-labelledby="name billing"/> </div> <div> <div id="address">Address</div> <input type="text" aria-labelledby="address billing"/> </div>
مثال شماره سه
در این مثال گروهی از radio buttonها با برچسبشان ارتباط برقرار میکنند.
<div id="radio_label">My radio label</div> <ul role="radiogroup" aria-labelledby="radio_label"> <li role="radio">Item #1</li> <li role="radio">Item #2</li> <li role="radio">Item #3</li> </ul>
خصوصیتها و وضعیتهای aria را با چرخهی فعالیتهای صفحه به روز کنید
در صورتیکه چرخهی فعالیت صفحهی شما تغییر میکند و تگها نیاز به مقادیر جدیدی از aria دارند، حتما این مقادیر را هم به نسبت تغییراتی که در صفحه زخ میدهد، تغییر دهید تا وضعیت بحرانی برای کاربر به خصوص در حین کار با فرمها و ... پیش نیاید.
هر aria را دوباره استفاده نکنید
امروزه به خصوص با آمدن html5 و ویژگیهایی چون تگهای مفهومی، کار بسیار راحتتر شدهاست و مرورگر به طور خودکار میتواند aria را بر روی بعضی از المانها پیاده کند. به عنوان نمونه:
<form></form> <form role="form"></form>
همچنین به عنوان مثال با استفاده از خصوصیات HTML مثل hidden کردن یک شیء نیازی به استفاده از وضعیت aria-hidden نمیباشد. مرورگر به طور پیش فرض آن را لحاظ میکند.
امروزه شاهد پیشرفت فناوری در همهی عرصهها هستیم و همیشه این پیشرفتها ما را ذوق زده کردهاند، ولی یکی از بی نظیرترین استفادههای فناوری روز، استفاده در صنایع سلامتی است که نه تنها ما را ذوق زده میکند، بلکه از لحاظ احساسی هم ما را به وجد میآورند و جزء زیباترین نتایج فناوری میباشند. بسیاری از شرکتها چون گوگل در این راستا فعالیتهای زیادی کردهاند تا بتوانند سلامت جامعه را کنترل کنند، از ساخت لنز چشمی برای کنترل دیابت گرفته تا ساخت قاشق عذای خوری برای بیماران پارکینسون، ولی استفادههای ساده از مسائلی مانند بالا به افراد معلول این مژده را میدهد که ما آنها را فراموش نکردهایم.
امروزه شاهد پیشرفت فناوری در همهی عرصهها هستیم و همیشه این پیشرفتها ما را ذوق زده کردهاند، ولی یکی از بی نظیرترین استفادههای فناوری روز، استفاده در صنایع سلامتی است که نه تنها ما را ذوق زده میکند، بلکه از لحاظ احساسی هم ما را به وجد میآورند و جزء زیباترین نتایج فناوری میباشند. بسیاری از شرکتها چون گوگل در این راستا فعالیتهای زیادی کردهاند تا بتوانند سلامت جامعه را کنترل کنند، از ساخت لنز چشمی برای کنترل دیابت گرفته تا ساخت قاشق عذای خوری برای بیماران پارکینسون، ولی استفادههای ساده از مسائلی مانند بالا به افراد معلول این مژده را میدهد که ما آنها را فراموش نکردهایم.
اشتراکها
معرفی قابلیت Hot Restart زامارین
توسط این قابلیت در برنامههای زاماین، تغییرات کد، رفرنس ها، فایلها و... نیاز به کامپایل کامل و مجدد نداشته و تغییرات را سریعتر اعمال کرده و برنامه را ریستارت میکند.
Today at .NET Conf 2019, we announced Xamarin Hot Restart which enables you to test changes made to your app, including multi-file code edits, resources, and references, using a much faster build and deploy cycle.
XAML Hot Reload for Xamarin.Forms already provides fast iteration on XAML UIs by enabling you to see changes applied live in your running application. But what about other types of code and project edits? Xamarin Hot Restart will apply these types of changes to your application and quickly restart your app for rapid application development.
اشتراکها
مدیریت خطا در #F
اشتراکها
کتاب ASP.NET Core برای بازار کار
اشتراکها
تئوری رنگها برای برنامه نویسها
اشتراکها