HTML5 به طور فعال در چند سال گذشته توسعه یافته است. زبان نشانه گذاری فرامتن مبتکرانه باید تمام مشکلات و مسائل مربوط به طراحی و توسعه وب سایت ها را به یکباره حل کند.
درسته قبلا آخرین لحظهپایان کار و دستیابی به نتیجه موفقیت آمیز هرگز اعلام نشد. برای درک بهتر HTML5، بازگشت به تاریخ و تجزیه و تحلیل نتایج مراحل قبلی در یافتن کد کامل مفید است. علیرغم کار ناتمام، سایت های HTML5 بیشتر و بیشتری ظاهر می شوند.
HTML1 و HTML2
نسخه های اول بسیار ناقص و غیر استاندارد بودند. هر طراح کد را همانطور که به نظرش بهترین بود نوشت. بنابراین، سایت ها اغلب به طور ناکافی در انواع مختلف مرورگرها منعکس می شوند. بنابراین، این زبان ها به سرعت رها شدند.
HTML3.0
نسخه سوم قبلاً فرمت یکنواخت خاصی را به دست آورده است و امکان ایجاد سایت هایی با کیفیت مناسب را فراهم کرده است. با این حال، مشکلات جدی نیز وجود داشت. به عنوان مثال، در HTML3، تمام قالب بندی و تراز در خود کد صفحه انجام می شد.
صفحه شامل گرافیک و اسکریپت بود. این امر وزن صفحات وب را تا حد زیادی افزایش داد و سرعت بارگذاری سایت را به طور جدی کاهش داد. به تدریج، ایده یک وب سایت با کیفیت به طور قابل توجهی گسترش یافته است. تعامل و قابلیت های رسانه ای بسیار بیشتری نیاز داشت. کاربران اینترنت در مورد قابلیت های یک پروژه وب بسیار دقیق تر شده اند.
HTML4.1
این بهترین گزینه در نظر گرفته می شود. تمام قالببندیهای داخلی به شیوهنامههای آبشاری منتقل شدهاند و بر اساس اصل سبکها در MS Word کار میکنند. علاوه بر این، مرسوم بود که جداول خود را به خارج از صفحات منتقل می کردند و در فهرست های جداگانه قرار می دادند. معرفی CSS منجر به دستیابی به انطباق شد ظاهرصفحات در مرورگر به ایده های مدیر وب سایت.
گرافیک و عناصر نرم افزاری... همه اینها منجر به کاهش قابل توجه وزن کد و افزایش سرعت سایت ها شد. مردم قبلاً این وضعیت را دوست داشتند امروزاکثر سایت ها بر روی HTML4.1 ساخته شده اند.
XHTML و DHTML
تلاش های کاملا مشکوک برای استانداردتر و پویاتر کردن وب سایت ها. پیچیدگی های کدنویسی و سخت گیری بیش از حد زبان به پذیرش گسترده این نسخه ها کمکی نکرد.
ریشه های HTML5
ظاهر شده اند کامپیوترهای موبایل، صفحه نمایش ها به لمس حساس شده اند. علاوه بر این، هر سازنده یک سیستم عامل را بر روی دستگاه های خود نصب می کند. خود توسعه یافته... کاربران به استفاده از رایانه نه تنها به عنوان یک ماشین تحریر الکترونیکی، بلکه به عنوان مراکز سرگرمی رسانه ای چند منظوره عادت دارند. ارتباط از طریق تلفن تصویری از طریق اینترنت به یک پدیده انبوه تبدیل شده است.
بنابراین، شرایط مدرن از کد جدید لازم بود.
- اطمینان از یکنواختی نمایش در همه انواع مرورگرها.
- این سایت باید در رایانه های رومیزی، تلفن های هوشمند و تبلت های هر سازنده ای به یک اندازه قابل خواندن باشد.
- مناسب برای کنترل لمسی برای کامپیوترهای همراه.
- امکان پخش فیلم بدون کمک فلش پلیر. بسیاری از تبلت ها به هیچ وجه از این فناوری پشتیبانی نمی کنند.
- امکان باز کردن اسناد با فرمت های مختلف بدون برنامه های اضافی که باید روی رایانه نصب شوند.
- بهبود عملکرد سایت ها این امر به ویژه برای اینترنت موبایل که سرعت پایین تری را ارائه می دهد بسیار مهم است.
- وب سایت ها را پویا و تعاملی کنید. یک کاربر مدرن تقریباً مانند یک شخص می خواهد با یک منبع اینترنتی ارتباط برقرار کند.
به طور خلاصه - HTML5 باید پیچیده ترین سلیقه کاربران را برآورده کند و به توسعه دهندگان اجازه دهد تا وب سایت های عالی را به راحتی و به سادگی ایجاد کنند.
کار روی ایجاد کامل ترین و استانداردترین زبان فرامتن چقدر موفق است؟ چنین سایت هایی واقعاً می توانند کارهای زیادی انجام دهند. اگر فلش پلیر ندارید، خود سایت این موضوع را درک می کند و پیشنهاد می دهد با استفاده از قابلیت های آن، فیلم تماشا کنید و به موسیقی گوش دهید.
سایت های HTML5 در واقع بسیار چابک شده اند. از نظر قابلیت های پویا و تعاملی، اکثر کاربران اینترنت به استفاده از همه این چیزهای شگفت انگیز در سطح ناخودآگاه عادت دارند.
مردم فقط از امکانات استفاده می کنند فن آوری های مدرنبدون اینکه به یاد داشته باشید که همیشه اینطور نبود. این امکان وجود دارد که توسعه طولانی HTML5 هرگز به پایان نرسد.
اینترنت و کامپیوترها آنقدر سریع در حال پیشرفت هستند که پیش بینی آینده به اندازه کافی سخت است. شاید چنین قابلیت هایی از رایانه ها وجود داشته باشد که امروزه هیچ کس حتی به آنها مشکوک نیست. امروز شماره گیری صوتیمتن تقریباً یک معجزه به نظر می رسد، در حالی که کارشناسان پیش بینی می کنند که به معنای واقعی کلمه در پنج سال دیگر هیچ کس از صفحه کلید و ماوس استفاده نخواهد کرد. شاید کامپیوترها یاد بگیرند که ذهن یک فرد را بخوانند و خواسته های او را درک کنند.
همه شما احتمالاً حداقل چیزی در مورد HTML5 شنیده اید - نسخه جدید زبان نشانه گذاری در اینترنت. اگرچه از زمان تایید رسمی هنوز در حال توسعه است نسخه فعلی HTML4 بیش از پانزده سال گذشته است - در واقع، کل زمان توسعه فعال شبکه جهانی وب. مزایای HTML5 و تفاوت های اساسی آن با HTML4 چیست؟
1. HTML5 - یک رویکرد جدید برای نشانه گذاری: چند رسانه ای در داخل
برخلاف زبان نشانه گذاری HTML4 که در دهه نود توسعه یافت، زمانی که حتی محتوای چند رسانه ای نسبتا ساده برای اکثر کاربران اینترنت بسیار سنگین بود، در سال 2004، که در آن کار بر روی نسخه جدید استاندارد در واقع شروع شد، اینترنت قبلاً وجود داشت. پخش با قدرت و ضبط اصلی و ویدئویی، اعم از رسمی و غیر رسمی. برای وب سایت ها قرار دادن فیلم ها و ویدیوهای متحرک در صفحات خود به یک روش خوب تبدیل شده است و وبلاگ های صوتی - پادکست مد شده است.
با این حال، استاندارد فعلی برای توصیف محتوای چند رسانه ای با استفاده از زبان خود ارائه نمی کند: برای این کار، از عملکرد درج یک شی ("شی") استفاده شد که قابلیت پخش آن بستگی به این دارد که آیا شخص ثالث اضافی وجود دارد یا خیر. افزونه های سازگار با چنین محتوایی در مرورگر مشتری نصب شده است.
وقتی در مورد پلاگین هایی مانند این صحبت می کنیم، در درجه اول منظور ماست ادوبی فلش، QuickTime یا Real Player و Silverlight کمتر رایج است. اینها همه «افزونهها» هستند، افزونههای مرورگر که مال آنها نیستند قسمتی ازو به عنوان نوعی واسطه عمل می کند که محتوای دیجیتال قابل دانلود را به ویدیو و صدا تبدیل می کند.
این سیستم هنوز کاملاً کاربردی است، اما فقدان استانداردهای پذیرفته شده عمومی منجر به این واقعیت می شود که سایت های مختلف از فن آوری های مختلف، برای مشاهده محتوای رسانه ای آنها به پلاگین های مختلفی نیاز است و از همه مهمتر از آنجایی که چنین افزونه هایی مستقیماً در مرورگر گنجانده نمی شوند، باید جداگانه نصب شوند.
در استاندارد HTML5 که ترکیبی از خود HTML و همچنین CSS و جاوا اسکریپت است، در ابتدا رویکردی اساساً متفاوت اجرا می شود که در آن محتوای رسانه بخشی جدایی ناپذیر از کد صفحه است. HTML5 یکپارچه را فراهم می کند راه استانداردتوضیحات ( نحو) محتوای سمعی و بصری تعبیه شده در صفحات.
برای ادغام صدا یا تصویر در HTML5، فقط باید از مجموعه ای ساده از برچسب ها استفاده کنید که نوع محتوایی را که می خواهید قرار دهید ("ویدیو" یا "صوتی") و پیوندهای معمول به فایل های رسانه ای مربوطه را توصیف می کند.
البته، HTML5 نوآوری های بسیار دیگری نیز دارد، اما این مهمترین آنهاست - تغییر در رویکرد ایدئولوژیک.
2. مشکل سازگاری به عقب: اول HTML، سپس پلاگین ها
متاسفانه هنوز تعداد قابل توجهی از کاربران در جهان هستند که نصب کرده اند مرورگرهای قدیمیکه با آنها خوب است، اما از همه ویژگی های HTML5 پشتیبانی نمی کند. اول از همه، ما در مورد اینترنت صحبت می کنیم نسخه اکسپلورر 8، تا حد زیادی محبوب ترین برای این مرورگر. نسخه های بعدی - IE 9 و 10 - در حال حاضر تقریباً به طور کامل از HTML5 پشتیبانی می کنند. کروم، اپرا و سافاری چندین سال است که می توانند برچسب های "ویدئو" و "صوتی" را مدیریت کنند.
با این وجود، برای اطمینان از سازگاری به عقب، HTML5 از استفاده از افزونه ها (برچسب "شیء") پشتیبانی می کند، اما طبق طرح "اول HTML و سپس پلاگین ها". این بدان معناست که مرورگر ابتدا باید صفحه را با استفاده از تگهای "ویدئو" و "صوتی" رندر کند - و تنها در صورتی که نمیتواند این کار را انجام دهد، از کد افزونه استفاده کنید.
برای اینکه این رویکرد به درستی کار کند، میتوانید از یکی از بسیاری از کتابخانههای جاوا اسکریپت موجود استفاده کنید که برخی از آنها یکپارچه کامل ارائه میکنند. رابط نرم افزاری(API) برای دستکاری محتوای HTML و اشیاء تعبیه شده. در میان آنها، به طور خاص، می توان Projekktor یا نرم افزار پخش کننده ویدیو Video.js را نام برد که سازگاری کامل را با هر دو مرورگر HTML5 و قدیمی تر که از افزونه ها استفاده می کنند، ارائه می دهد.
3. رویکرد یکپارچه به سیستم عامل های دسکتاپ و موبایل
پشتیبانی از استاندارد جدید HTML5 نیز تقریباً در تمام دستگاه های تلفن همراه مدرن از جمله iOS، Android و ویندوز فون، مزیت مهم دیگر آن چیست. مدیر وب سایت دیگر نیازی به میزبانی نسخه های متعدد محتوای رسانه ای برای رایانه های "کامل" و دستگاه های تلفن همراه ندارد. IOS به طور کامل با فلش ناسازگار است، در حالی که اندروید فقط تا حدی سازگار است. در مورد HTML5 این مشکل کاملا برطرف شده است.
علاوه بر این، بسیاری از مدرن دستگاه های تلفن همراهپشتیبانی از رمزگشایی ویدیوی سخت افزاری با فرمت گسترده H.264، که باز هم ناشران را از این موضوع راحت می کند. اضافه کارو نیاز به آپلود ویدیوها در چندین کدک مختلف. صاحبان چنین دستگاه هایی بار کم بر روی سیستم دریافت می کنند و مدت زمان طولانیکار مستقل
4. پشتیبانی از فرمت های مختلف ویدئو و صدا
اگرچه HTML5 اجازه می دهد تا فایل های رسانه ای با برچسب های ساده و استاندارد بر روی صفحات وب قرار داده شوند، چنین فایل هایی را می توان به بهترین شکل رمزگذاری کرد. فرمت های مختلفو طیف گسترده ای از کدک ها. در همین حال، هنوز هیچ ترکیب استانداردی از فرمت (کانتینر) و کدک وجود ندارد که با موفقیت یکسان در همه مرورگرها و سیستم های تلفن همراه کار کند.
محبوب ترین کانتینرها برای ویدئوهای اینترنتی AVI، MP4، FLV و WebM هستند و تنها سه کدک ویدئوی اصلی "شبکه" وجود دارد: H.264، Ogg Theora و VP8. در همان زمان، هر کدک معمولا (اما نه همیشه) به بهترین شکل با فرمت کانتینر خود مطابقت دارد: H.264 - MP4، Theora - OGG، VP8 - WebV.
کدک H.264 ویدیوی با اتلاف را فشرده می کند تا یک فایل دریافت کند کیفیت بالا، ولی اندازه کوچک... علاوه بر این، مشخصات برای چندین پروفایل با کیفیت متفاوتو نسبت فشرده سازی به طوری که فایل های "سبک" را می توان به دستگاه های تلفن همراه کم مصرف و دسکتاپ با پهنای باند- ویدیو با کیفیت بالاتر
اگرچه H.264 یک کدک تجاری است، به این معنی که شامل هزینه های صدور مجوز است، اما همه کاره ترین است، با پشتیبانی داخلی در اینترنت اکسپلورر، کروم ، فایرفاکس ، سافاری ، iOS و اندروید ، اما فقط در Opera وجود ندارد ، جایی که چنین ویدیویی فقط از طریق یک افزونه خارجی رمزگشایی می شود.
کدک Ogg Theora که در اصل برای سیستم های لینوکس طراحی شده بود، ابتدا تجاری بود، اما اکنون به صورت رایگان مجوز دارد. پشتیبانی داخلی در مرورگرهای کروم، فایرفاکس و اپرا در دسترس است، در اینترنت اکسپلورر و سافاری فقط از طریق پلاگین ها در دسترس است.
کدک هدف موبایل VP8 توسط شرایط Google منتشر شد متن بازو کیفیتی مشابه با H.264 با پیچیدگی رمزگشایی کمتر ارائه می دهد. کروم، فایرفاکس و اپرا دارای پشتیبانی داخلی و همچنین دستگاه های تلفن همراه اندروید هستند.
بنابراین، برای اطمینان از پخش محتوای ویدیویی تقریباً در همه سیستم های موجود، کافی است فایل ها را در کانتینرهای MP4 در استاندارد کدگذاری H.264 و با فرمت WebM با کدک VP8 آپلود کنید. از آنجایی که در بین تمام مرورگرهای دسکتاپ مدرن، فقط Opera فاقد پشتیبانی بومی H.264 است، این ترکیب ها همه کاره ترین خواهند بود.
5. اسناد گسترده ای در دسترس عموم وجود دارد
اگرچه HTML5 هنوز یک استاندارد قطعی نیست، اما اکثریت قریب به اتفاق مرورگرهای مدرن و دستگاه های تلفن همراه از آن پشتیبانی می کنند. بنابراین، جای تعجب نیست که در حال حاضر اسناد گسترده ای در دسترس عموم برای توسعه دهندگان وب وجود دارد - b Oکه البته اکثر آنها در تاریخ منتشر شده است زبان انگلیسی.
علاوه بر این، تعداد زیادی کتاب در مورد HTML5 قبلاً به روسی ترجمه شده است، از جمله،
01/27/14 15.5Kمعرفی
به عنوان یک توسعه دهنده ASP.NET MVC، اخیراً به دنبال کار بودم و در طول مصاحبه، بسیاری از سوالاتی که از من پرسیده شد در مورد HTML5 و مشخصات آن بود.
بنابراین، در زیر 40 سوال مهم وجود دارد که به شما کمک می کند تا با دانش HTML5 خود بدرخشید.
این سؤالات کلید موفقیت شما در جستجوی شغل نیستند، اما مطمئناً به شما کمک می کنند تا موضوع را هدایت کنید.
شکار خوبی داشته باشید
رابطه بین SGML، HTML، XML و XHTML چیست؟
SGML ( زبان نشانه گذاری تعمیم یافته استاندارد- Standard Generalized Markup Language) استانداردی است که نشانه گذاری یک سند را تعریف می کند.
HTML یک زبان نشانه گذاری است که با استفاده از SGML توصیف می شود.
بنابراین، با SGML، یک DTD (تعریف نوع سند) ایجاد شد که HTML به آن ارجاع دارد و باید به آن پایبند باشد. بنابراین، همیشه میتوانید اعلان «DOCTYPE» را در ابتدای صفحه HTML پیدا کنید، که تعیین میکند مرورگر هنگام تجزیه کد صفحه از کدام DTD استفاده کند.
تجزیه کد SGML مشکل بود، بنابراین XML برای آسانتر کردن آن ایجاد شد. XML از SGML استفاده می کند.
به عنوان مثال، در SGML باید از تگ های شروع و پایان استفاده کنید، در حالی که در XML می توانید از تگ های خودبسته که به طور خودکار بسته می شوند استفاده کنید (مثلاً "").
XHML از XML ایجاد شد و در HTML 4.0 استفاده شد. بنابراین، برای مثال، در HTML مبتنی بر SGML، تگ
معتبر نیست، اما XHTML معتبر است. می توانید از تعریف سند XML همانطور که در مثال زیر نشان داده شده است استفاده کنید:
به طور خلاصه، SGML در قلب همه چیز قرار دارد. نسخه های قدیمی HTML مبتنی بر SGML هستند، در حالی که HTML 4.0 از XHTML مبتنی بر XML استفاده می کند.
HTML 5 چیست؟
HTML 5 است استاندارد جدید HTML، هدف اصلییعنی ارائه هرگونه محتوا بدون استفاده از افزونه های اضافی مانند فلش، سیلورلایت و .... این شامل همه چیزهایی است که برای نمایش انیمیشن، ویدیو، غنی نیاز دارید رابط گرافیکیو چیزهای دیگر.
HTML5 نتیجه است همکاری با یکدیگر در سراسر جهانکنسرسیوم وب (W3C) و کارگروه فناوری کاربردی ابرمتن وب(WHATWG).
در HTML 5 ما نیازی به DTD نداریم. چرا؟
HTML 5 از SGML یا XHTML استفاده نمی کند. کاملا هست توسعه جدیدبنابراین شما نیازی به ارجاع DTD ندارید. در HTML 5، باید از doctype زیر استفاده کنید که به مرورگر اجازه می دهد سند را به عنوان HTML 5 شناسایی کند.
اگر در سند وارد نکنم، آیا HTML 5 کار می کند؟
خیر، مرورگر نمی تواند سند را به عنوان HTML 5 شناسایی کند و تگ های HTML 5 به درستی کار نمی کنند.
کدام مرورگرها از HTML 5 پشتیبانی می کنند؟
تقریباً همه مرورگرها مانند سافاری، گوگل کرومفایرفاکس، اپرا، اینترنت اکسپلورر از HTML 5 پشتیبانی می کنند.
ساختار صفحه هنگام انتقال از HTML 4 یا نسخه های قبلی به HTML 5 چگونه تغییر کرد؟
به طور معمول، یک صفحه وب حاوی سرصفحه، پاورقی، ناوبری، محتوای اصلی و یک بلوک جانبی است. بنابراین زمانی که می خواهیم این بلوک ها را در HTML 4 با یک نام مناسب نشان دهیم، به احتمال زیاد از تگ های DIV استفاده خواهیم کرد. اما HTML 5 عناصر واضح تری را برای این بلوک ها معرفی کرد و HTML را خواناتر کرد.
در زیر شرحی از این عناصر HTML 5 از نشانه گذاری در تصویر آمده است:
: نشان دهنده بلوک عنوان صفحه است. : محتوای اصلی صفحه (مقاله); : در یک مقاله برای تقسیم مقاله به بخش ها استفاده می شود.
عنصر datalist در HTML 5 چیست؟
عنصر datalist در HTML 5 به پیاده سازی ویژگی تکمیل خودکار در فیلد ورودی کمک می کند، همانطور که در تصویر زیر نشان داده شده است:
در زیر HTML برای عنصر DataList آمده است:
چه عناصر فرم جدیدی در HTML 5 معرفی شده است؟
HTML 5 ده عنصر مهم فرم جدید را معرفی می کند:
- رنگ؛
- تاریخ؛
- Datetime-local;
- پست الکترونیک؛
- زمان؛
- دامنه؛
- تلفن؛
- عدد؛
- جستجو کردن.
بیایید این عناصر را به ترتیب در نظر بگیریم.
اگر می خواهید کادر گفتگوی انتخابگر رنگ را نمایش دهید:
اگر می خواهید گفتگوی تقویم را نمایش دهید:
اگر می خواهید تقویمی را با زمان محلی نمایش دهید:
اگر می خواهید یک فیلد ورودی HTML با اعتبار سنجی آدرس ایمیل ایجاد کنید، می توانید نوع فیلد را روی "ایمیل" تنظیم کنید:
برای تأیید اعتبار یک URL، از نوع "url" مانند شکل زیر استفاده کنید:
اگر می خواهید فیلدی برای وارد کردن اعداد در یک محدوده مشخص نمایش دهید، از نوع "عدد" استفاده کنید:
اگر می خواهید نوار لغزنده را نمایش دهید، از نوع "محدوده" استفاده کنید:
می خواهید یک کادر جستجو ایجاد کنید:
می خواهید فقط زمان بگذارید:
اگر می خواهید فیلدی برای وارد کردن شماره تلفن ایجاد کنید:
عنصر خروجی در HTML 5 چیست؟
زمانی که می خواهید مجموع دو عدد وارد شده را به صورت متن نمایش دهید، عنصر خروجی مورد نیاز است.
به عنوان مثال، فرض کنید دو فیلد ورودی دارید و می خواهید اعداد را از دو فیلد اضافه کنید و مجموع آنها را به صورت متن نمایش دهید.
در زیر نمونه ای از استفاده از عنصر خروجی در HTML 5 آورده شده است:
برای سادگی میتوانید «parseInt» را با «valueAsNumber» جایگزین کنید. همچنین می توانید از ویژگی "for" عنصر خروجی برای بهبود خوانایی استفاده کنید.
SVG چیست؟
SVG مخفف گرافیک برداری مقیاس پذیر است. این یک زبان گرافیکی مبتنی بر متن است که می تواند برای ترسیم تصاویر به صورت متن، خطوط، نقطه و غیره استفاده شود که به شما امکان می دهد تصاویر سبک وزن و سریع توسط مرورگر ایجاد کنید.
آیا می توانم با استفاده از HTML 5 یک تصویر SVG ساده بسازم؟
فرض کنید میخواهیم یک خط ساده را همانطور که در تصویر زیر نشان داده شده است با استفاده از HTML 5 و SVG ارائه دهیم:
در زیر کد HTML 5 آمده است. شما می توانید تگ SVG را ببینید که یک تگ خط را برای نمایش یک خط محصور می کند:
بوم در HTML 5 چیست؟
بوم ناحیه ای از یک سند HTML است که می توانید در آن نقاشی کنید.
بنابراین چگونه می توان با استفاده از یک بوم یک خط ساده ترسیم کرد؟
- مساحت بوم را تعیین کنید؛
- دسترسی به بافت بوم؛
- یک تصویر بکشید.
تعریف منطقه بوم
برای تعریف ناحیه بوم، به کد HTML زیر نیاز دارید. منطقه ای را که می توانید در آن نقاشی کنید را مشخص می کند:
دسترسی به یک منطقه از بوم
قبل از اینکه بتوانید طراحی در ناحیه بوم را شروع کنید، باید به بافت بوم ارجاع دهید. کد زیر برای انجام این کار است:
var c = document.getElementById ("mycanvas"); var ctx = c.getContext ("2d");
کشیدن یک تصویر
اکنون که به زمینه شیء دسترسی دارید، می توانید شروع به طراحی روی بوم کنید. بنابراین ابتدا متد "حرکت" را فراخوانی می کنیم و از نقطه 10 و 10 شروع می کنیم و از روش "خط" برای کشیدن خط استفاده می کنیم و در نهایت هاچینگ را روی آن اعمال می کنیم:
ctx.moveTo (10،10); ctx.lineTo (200100); ctx.stroke ();
در زیر کد کامل آمده است: