بخش فنی گروه فیال

 
 

این روزها عبارت بهینه سازی موتورجستجو یا سئو (SEO-Search Engine optimization) زیاد به گوش می خورد که دلیل عمده آن اهمیت موتور های جستجو به عنوان ابزاری جهت بازاریابی وب سایت است .
موتورهای جستجو ، به نوعی مهمترین بیننده های سایت شما هستند که جلب توجه آنها نیاز به صرف وقت دارد ، لکن رعایت برخی اصول به این امر کمک می کند.
اکثر مفاهیم مربوط به موتورهای جستجو حول کلیدواژه ها می چرخند که انتخاب کلید واژه مناسب خود بحث جداگانه ای است که دراین متن اشارات مختصری به آن می شود.

عوامل درون صفحه ای بهینه سازی موتور جستجو(سئو):

  1. کلید واژه های درون عنوان (تگ <title>) :

    عنوان صفحه شما در صفحه نتیجه موتور جستجو (SERP-Search Engine Result Page) به نمایش در می آید. بنابراین آنرا مختصر ، شفاف و مرتبط با متن انتخاب کنید.

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

     

  2. کلید واژه ها در آدرس صفحه (URL) :

    این کلید واژه ها برای موتورهای جستجو مهم هستند به عنوان مثال گوگل در نتیجه جستجو این کلید واژه ها را ضخیم نمایش می دهد ، البته با توجه به زبان سایت ، در نظر گرفتن این مورد نیاز به بررسی بیشتر دارد . به عنوان مثال برای زبان فارسی استفاده از واژه های فارسی در آدرس صفحه شابد ، خوانایی و حتی ورود مستقیم به صفحه را با مشکل مواجه کند. با توجه به اینکه سیستم بین المللی سازی نام دامنه (IDN) برای زبان فارسی هنوز در مرحله آزمایشی است بنابراین این مورد برای فارسی زبانان توصیه نمی شود.

  3. کلید واژه های درون متن صفحه (چگالی کلید واژه)‌:

    منظور تعداد تکرار کلید واژه مورد نظر درون صفحه است (درون تگ <body>) . قبل از انتخاب و بهینه سازی کلیدواژه مورد نظر خود بررسی کنید تا دریابید مردم در موضوع مورد بحث شما از چه عباراتی برای جستجو استفاده می کنند.
    از ابزاری مانند Google Adwords برای بدست آوردن ایده مناسب برای کلید واژه مورد نظرتان می توانید استفاده کنید. همچنین بررسی وب سایت رقبا نیز می تواند مفید باشد.

    • معمولا نباید بیش از 2 یا 3 کلید واژه در صفحه مورد هدف قرار دهید.
    • چگالی مناسب برای کلید واژه ها بین 0.2٪ تا 4٪ می باشد . البته این بدان معنی نیست که خارج از این بازه وب سایت شما صدمه ای می بیند اما از دیدگاه موتورهای جستجو شک برانگیز خواهد بود.

     

  4. کلید واژه های درون توصیف صفحه (تگ meta ) :

    عبارات درون این تگ در صفحه قابل رویت نمی باشد. اما معمولا در نتایج جستجو نمایش داده می شود. همین امر انگیزه مناسبی برای فراهم کردن متن مناسب مربوط به این تگ برای هر صفحه است.

  5. کلید واژه ها درون تگ های سرصفحه (تگ <h1> ) :

    از این تگ بطور مناسب استفاده کنید. برخی مدیران سایت به امید جلب توجه بیشتر موتورهای جستجو از این تگ بی رویه استفاده می کنند. موتورهای جستجو از الگوریتم های مشخص استفاده می کنند اما خنگ نیستند. روش های این چنینی به سرعت کشف شده و راه مناسبی برای آنها پیدا می شود . همانطور که امروز استفاده از تگ meta برای تعریف کلیدواژه اعتبار چندانی برای موتورهای جستجو ندارد.

  6. مجاورت کلید واژه ها (keyword proximity) :

    مجاورت کلید واژه ها اشاره به مقدار نزدیکی دو یا چند کلید واژه در متن صفحه دارد . تا جایی که امکان پذیر است از واژه های جداکننده در میان کلید واژه های مهم پرهیز کنید.

    ما پراید را باتخفیف ویژه و در رنگ های مختلف مانند سفید می فروشیم.
    ما پراید سفید با تخفیف ویژه می فروشیم.
    اگر کلید واژه "پراید سفید" مد نظرشماست ، عبارت دوم از مجاورت بهتری برخوردار است.

     

  7. برجستگی کلیدواژه (Keyword Prominence) :

    برجستگی کلید واژه اشاره به موقعیت نسبی کلید واژه ها نسبت به ابتدای صفحه HTML دارد. توافقی بین صاحبنظران بهینه سازی موتورجستجو (سئو) هست که هرچه کلید واژه به ابتدای صفحه نزدیک تر باشد بهتر است. درکنار متن صفحه برجستگی کلید واژه در مورد تگ <title> و <meta> که به آنها اشاره شد هم صادق است.

 

منبع : John I.Jerkovic - SeoWarrior - O'Reilly

 

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

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

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

  • اطلاعات و کلید واژه های مهم را ضخیم کرده تا به سرعت مشخص شود هر پاراگراف راجع به چیست. فقط زیاده روی نکنید. متون ضخیم طولانی و زیاد گیج کننده هستند و خواندن را دشوارتر میکنند.
  • از فهرست های عددی و نقطه ای استفاده کنید.
  • استفاده از جدول را مدنظر داشته باشید. جداول مطالب را رساتر و قابل مقایسه می کنند.

 

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

 

می خواهید وب سایت پربیننده ای داشته باشید؟ طراحی سایت عامل مهمی است اما محتویات سایت از آنهم مهم تر است و خوشبختانه فراهم کردن محتویات به عهده خود شماست.
با بررسی این نکات مدیریت محتوای سایت خود را بهینه کنید.

  • از انتها شروع کنید

    هدف نهایی از راه اندازی وب سایت چیست؟ آیا می خواهم مخاطبم را ترغیب به خرید محصول بکنم؟ به آنها در رابطه با بلایای طبیعی هشدار بدهم؟ هر هدفی که دارید ، محتویات وب سایت شما باید روی آن متمرکز بشوند.

  • مخاطبین خود را بشناسید

    "ما خدمات خود را از کسی دریغ نمی کنیم." ایرادی ندارد، ولی قرار هم نیست که مشکل هرکسی را حل بکنید. تلاش برای هدف قرار دادن همگان ، تفاوت چندانی با بی هدف بودن نمی کند. یک خانم خانه دار بعید به نظر می رسد به تجهیزات ماشین آلات سنگین علاقه ای داشته باشد.
    مخاطب ایده آل شما چه کسانی هستند؟
    چه چیزی درباره آنها می دانید؟
    چه چیزی آنها را تحریک می کند؟
    اولویت های آنها چیست و چگونه می توانید راجع به نیازهایشان با آنها صحبت کنید؟
    مخاطبین خود را تا جایی که امکان دارد ‌محدود کنید، بدینوسیله شناخت آنها و برقراری ارتباط پیوسته و منسجم با آنها ساده تر خواهد شد و محتویات وب سایتتان تاثیرگذارتر.

  • برای مخاطبین بنویسید.

    شاید این نکته بدیهی به نظر بیاید اما عمل کردن به آن کار ساده ای نیست. پس قبل از شروع به نوشتن، خود را جای مخاطبتان فرض کرده و حداقل سوالات زیر را در ذهن داشته باشید:
    چرا باید وقت خود را صرف خواندن این مطلب بکنم؟
    دانستن این مطلب چه سودی برای من دارد؟
    چه مشکلی از من حل می کند؟

  • ایده های خود را دسته بندی کنید

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

  • خواننده را به صفحه بعد راهنمایی کنید

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

  • از متن های شفاف برای پیوند هایتان استفاده کنید

    سعی کنید متن را طوری بنویسید که هر پیوند قسمتی از متن باشد. بجای" برای دیدن خصوصیات محصول اینجا را کلیک کنید " مثلا می توان از عبارت " سادگی استفاده یکی از خصوصیات محصول می باشد" استفاده کرد.

  • به پیوند هایتان توضیح اضافه کنید

    پیوند ها را با توضیحات مناسب ، با ارزش کنید تا بینندگان نسبت به صفحه مورد تقاضایشان دید مناسبی پیدا کنند.

  • عناوین را خرد نکنید

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

  • هیچ صفحه درحال ساختی را نمایش ندهید

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

MVC پدر الگوی نمایش

1388 اسفند دوشنبه, 24
 

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

با MVC سه بازیگر با نقش های مشخصی وارد میدان شدند. بعبارتی نرم افزارها حداقل به به سه بخش مجزا تقسیم می شوند:

Model :که بیانگر آیتم ها ، اعمال و قوانینی است که در محدوده موضوع نرم افزار با معنی هستند و همیچنین مسوولیت نگهداری موقعیت کلی نرم افزار را نیز بعهده دارد و از هر مفهومی وابسته به واسط کاربر جدا است.
View
: که چگونگی ارایه دادن بخشی از مدل را در قالب عناصر قابل نمایش واسط کاربر توصیف می کند و خالی از هرگونه منطقی است.
Controller
: درخواست های رسیده را بررسی کرده ، اعمالی را روی مدل انجام می دهد و View| مناسبی را برای ارسال به کاربر ارایه می کند.

MVC در سال 1979 میلادی توسط Trygve Reenskaug معرفی شد و گونه های متفاوتی برای آن بوجود آمده و بررسی شده است که Stephen Walther در مقاله ای سیر تکاملی MVC را شرح داده است.
آنچه امروزه مقبولیت دارد ، در واقع گونه تحت وب MVC می باشد که آن را Model2 می نامند و برای استفاده در JSP پیشنهاد شده است . این مدل بیشتر محبوبیت خود را مدیون چهارچوب Struts است.

اما به هر حال تمام این گونه ها یک هدف اصلی را دنبال می کنند : جدایی اهمیت ها (SoC).

SoC یکی از اصول اولیه و اساسی طراحی نرم افزار است که بکمک آن می توان به مفاهیمی چون high cohesion و low coupling دسترسی پیدا کرد و در 1974 توسط Edger W. Dijkstra در مقاله ای با نام On the Role of Scientific Thought معرفی شده است. و آنچه در MVC بیشتر مورد توجه است جدایی اهمیت ها در لایه نمایش می باشد.

MVC را می توان الگویی برای طراحی کل نرم افزار در نظر گرفت ولی در واقع بیشترین فعالیت MVC بر روی View و Controller است و تنها به Model ای برای کار بر روی داده های View نیاز دارد. بنابر این Model می تواند لایه منطقی موجود و یا مجموعه ای از کلاسهای تعریف شده برای دسترسی به الگوی MVC باشد .
برای یک نرم افزار ساده، پیاده سازی MVC بمفوم ایجاد View و Controller های مورد نیاز بهمراه یک لایه منطقی تحت عنوان Model می باشد. اما در حالت پیشرفته از MVC برای جداسازی اهمیت ها و رسیدن به آزمایش پذیری در لایه نمایش استفاده می شود.

Model2: در Model2 جریان درخواست ها از پویشگر مستقیما به یک ناظر اولیه که بعنوان جداکننده HTTP پیاده سازی می شود و در ASP.NET به آن HTTP Module می گوییم میرسد. بعبارت دیگر واسط کاربر Model2 ورودی های HTML را پیشنهاد می کند که بواسطه آنها لینکی فراهم می شود و در نهایت یک ارسال HTTP رخ می دهد. ناظر اولیه در وب سرور درخواست ها را ضبط کرده و مطابق ساختار URL آنها را بررسی می کند و تصمیم می گیرد که کدام کنترلر MVC باید در برابر درخواست نمونه سازی شود . بعد از شناسایی کنترلر ، فرمانی که روی مدل تاثیر می کذارد فراخوانی می شود ، سپس کنترلر به ویو فرمان می دهد تا HTML مناسب را تولید کند و View اطلاعات دقیق را بطور مستقیم از کنترلر می گیرد و خروجی به ناظر اولیه فرستاده می شود تا به پویشگر ارسال شود.

ASP .NET MVC :

Asp.net mvc بخشی ار چهار چوب Asp .NET است که توسط Microsoft برای پیاده سازی نرم افزارهای مبتنی بر وب با الگوی MVC‌ طراحی شده است.
Asp .net mvc اولین و تنها انتخاب برای پیاده سازی الگوی MVC تحت چهارچوب .net نیست ، به عنوان مثال می توان به Ruby on Rails و monorail اشاره کرد.

با استفاده از Asp .net mvc تمام مزایای الگوی Model2 MVC را خواهید داشت و از آنجایی که ASP .Net MVC بخشی از ASP .NET است لذا تمام قابلیت های Asp.net مانند caching ، session state ، security و دیگر امکانات وابسته را نیز در اختیار خواهیم داشت.

پایه های ASP .net MVC :

Routing :
موتور Routing یکی از قسمت های ASP .NET MVC نیست و در واقع بخشی از چهارچوب .net 3.5 sp1 می باشد و اولین قسمتی است که توسط درخواست های ارسالی از جانب پویشگر هدف قرار می گیرد و هدف آن استخراج اطلاعات مورد نیاز از URL و هدایت تمام درخواستهای واصله به handler صحیح (که در اینحالت MvcHandler است) می باشد. برای برآورده کردن این مهم موتور Routing را باید بگونه ای تنظیم کرد که بداند چگونه باید اطلاعات را از URL استخراج کند. این تنظیمات در متد RegisterRoutes در فایل Global.asax انجام می شود.

Model
ASP .NET MVC قرارداد خاصی برای Model وضع نمی کند. در نگاه اول Model تنها پوشه ای است که اصولا تمام کلاس های مورد نیاز برای برقراری ارتباط با لایه منطقی و یا لایه خدمات را در آن قرار می دهیم. این مفهوم می تواند مطابق میل شما شکل گیرد ، می تواند مدل تولید شده توسط LINQ 2 SQL ، Entity Framework ، Nhibernate و یا هرچیز دیگری که اطلاعات مورد نیاز برای ارایه View را در اختیار قرار دهد باشد.

Controller :
یک Controller درواقع کلاسی است که از کلاس پایه Controllers در ASP .NET MVC ارث بری شده است و نام آن همواره باید به واژه Controller ختم شود و اصولا در پوشه ای که به همین نام منظور شده است قرار گیرد. فعالیت اصلی در واقع توسط متدهای درورنی این کلاس انجام می شود که آنها را Action Method می خوانیم و بکمک موتور Routing هر URL به یکی از این متد ها اشاره دارد.

Action Method :
همانطور که گفته شد یک Action Method چیزی نیست مگر متدی Public درون یک کلاس Controller که معمولا خروجی ای از نوع ActionResult دارد و تعدادی پارامتر دلخواه که در درخواست HTTP ذکر شده اند را دریافت می کند. علاوه بر این جدول ViewData نیز که بمنظور ذخیره متغیرهای مورد نیاز View می باشد نیز از طریق شیئ ActionResult به View ارسال می شود.

View :
در MVC این آیتم ( View ) باید تا حد امکان گنگ ، محقر و منفعل باشد. View تنها باید به ترسیم واسطی برای نمایش بکاربر اهمیت دهد. بطور ایده آل هرچیزی فرای ترسیم گرافیکی باید از View خارج شده و در Model یا Controller قرار گیرد. در ASP .NET MVC در حالت پیش فرض View یک فایل .aspx می باشد (بدون code-behind) که شامل HTML و دستورات server side درون خط مانند asp کلاسک می باشد که اطلاعاتی را که از طریق ViewData به آن ارسال شده است را پردازش می کند.

HTML Helper :
شما ممکن است علاقه ای به نوشتن کدهای HTML نداشته باشید . برای حل این مشکل و همچنین بمنظور اتصال اطلاعات ارسالی از Controller ، چهارچوب  ASP.NET MVC شامل متدهایی است که تحت عنوان HtmlHelpers شناخته می شوند.

 

منابع مفید (ASP.NET MVC):

HTML 5 چشم انداز وب

1388 اسفند دوشنبه, 24
 

Html همواره زبان اصلی نشانه گذاری در وب بوده. این زبان هرچند در ابتدا بعنوان زبانی برای شرح معنایی اسناد علمی طراحی شده بود ، اما با گذشت زمان، طراحی آن بگونه ای پیش رفت که آنرا قادر ساخت تا انواع دیگر اسناد را نیز پوشش دهد.
در این مبان محدوده ای که هچنان بطور مناسب مورد توجه قرار نگرفته است محدوده سربسته برنامه های کاربری تحت وب (web applications) می باشد.Html 5 علاوه بر اینکه بعنوان نسخه بعدی Html 4.0.1 و همچنین XHTML 1.0 پیشنهاد شده است، تلاشی است برای تصحیح این موضوع با توجه به فعالیت ها و موضوعاتی که در چند سال اخیر مطرح شده اند.

تاریخچه

فعالیت HTML 5 در اواخر سال 2003 میلادی بعنوان اثباتی برای این مدعا آغاز شد که :" امکان توسعه فرمها در HTML 4 بگونه ای موجود است که بسیاری از ویژگیهای معرفی شده در Xforms 1.0 را شامل شود، بدون اینکه پویشگرها نیازمند پیاده سازی موتورهای پرداخت، ناسازگار با صفحات html موجود باشند".
در سال 2004 میلادی Apple ، Mozilla و Opera همکاری خود را برای پیشبرد این هدف اعلام کردند و فعالیت خود را تحت گروه WHATWG آغاز کردند. در سال 2006 ، W3C علاقه خود را در این زمینه اعلام کرد و اقدام به ایجاد گروهی بمنظور همکاری با WHATWG و با هدف توسعه HTML5 نمود. گروه مذکور در سال 2007 آغاز به کار کرد و Apple ، Mozilla و Opera نیز به W3C این اجازه را دادند تا مشخه های جدید را تحت کپی رایت W3C منتشر کند.

بدین ترتیب در اوایل سال 2008 ، HTML 5 به عنوان جهت دهنده جدیدی برای توسعه وب معرفی شد. مشخصه های جدید HTML 5 بیشتر بر روی Web Application ها و معرفی صدا و تصویر بعنوان رسانه سطح اول در وب متمرکز شده است که با استاندارد سازی این قابلیت ها توسط W3C بالتبع فراگیری و کاربرد آنها هموار تر خواهد شد.
از دیگر قابلیت های پیش بینی شده در HTML 5 ، ارایه مشخصه هایی برای نمایش دادن عناصر آشنای صفحات مانند سرصفحه (Header)، راهبری(Navigation) و پاورقی(Footer) می باشد.
مدیریت ذخیره اطلاعات در سمت کاربر (Client) نیز یکی دیگر از نکات برجسته HTML 5 است.

تعریف سند HTML 5

نسخه های قدیمی HTML و XHTML براساس گرامرشان (Syntax) تعریف می شدند در حالیکه HTML 5 برحسب DOM‌ تعریف مشود(ساختاری درختی که بصورت داخلی توسط پویشگر برای نمایش سند استفاده می شود) .
مزیت تعریف HTML 5 بر اساس DOM این است که زبان می تواند بطور مستقل از گرامرش تعریف شود. اصولا دو نوع گرامر برای نمایش اسناد HTML وجود دارد. یکی ترتیب HTML (که بعنوان HTML 5 شناخته می شود) که اشاره به گرامر برگرفته شده از SGML در نسخه های اولیه HTML دارد و بگونه ای تعریف شده که با نحوه برخورد پویشگرها با HTML سازگار باشد.

<!DOCTYPE html>
<html>
<head>
<title>An HTML Document</title>
</head>
<body>
<h1>Example</h1>
<p>This is an example HTML document.</p>
</body>
</html>

دیگری ترتیب XML (که بعنوان XHTML 5 شناخته می شود) که اشاره به گرامر XML 1.0 دارد و با فضای نام مشابه XHTML 1.0 تعریف میشود.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>An HTML Document</title>
</head>
<body>
<h1>Example</h1>
<p>This is an example HTML document.</p>
</body>
</html>

پویشگر ها از MIME type برای تفاوت قایل شدن میان این دو نوع گرامر استفاده می کنند و دیگر تشخیص این تفاوت بر اساس DOCTYPE نمی یاشد و لذا استفاده از DOCTYPE در گرامر XML ضرورتی ندارد (مگر در موارد خاص) .
هر سندی که با نوع html/text مشخص شده باشد باید نیازهای مربوط به ترتیب HTML را برآورده کند و هر سندی که با XML MIME مانند application/xhtml+xml مشخص شده باشد نیز باید شرایط ترتیب XML را برآورده کند.
نکته دیگری که در این میان قابل توجه است مشخص کردن character encoding می باشد . که توصیه می شود بکمک HTTP Content-Type header تعریف شود و اگر دسترسی به تنظیمات سرور ندارید در حالت HTML از عنصر <meta> در header و در حالت XHTML مطابق تعریف XML از خاصیت encoding در تعریف سند استفاده شود.

html serialization: <meta charset="UTF-8">

xml serialization : <?xml version="1.0" encoding="UTF-8">

 

نگاهی به عناصر جدید

عناصر ساختاری و توصیفی:
هرچند طراحان معمولا با حفظ اصول اولیه سعی در ساختار شکنی برپایه خلاقیت های گرافیکی در صفحه آرایی و ارایه جلوه های بصری سازگار با محتویات وب سایت ها دارند لکن در هر حال اغلب صفحات مشخصه های مشترکی در بر دارند.
معمولا این ویژگی های مشترک مانند header ، footer  و غیره را بکمک تگ div و با id‌ ها و یا class های مشخصی پیاده سازی می کنیم. تجربه شخصی من کم کم به این سو متمایل شده که همواره در layout های مختلف این ساختار را با اسامی توصیفی یکسانی بکار ببرم تا درنهایت نشانه گذاری شفاف تر و خوانا تری بدست بیارم که حداقل در مراجعات بعدی بسهولت قابل بررسی باشد.
حال در HTML 5 با در نظر گرفتن این نکته و همچنین کمک به ساختار معنایی HTML ، عناصر جدیدی معرفی شده اند که علاوه بر این به نرم افزارهای شناسایی کننده و پویشگر ها نیز کمک می کند تا فهرست مناسب تری از محتویات صفحه ایجاد کرده و به کاربر در پیمایش صفحات کمک کنند. این عناصر عبارتند از:

  • <header> این عنصر شمال اطلاعاتی مقدماتی برای یک بخش از صفحه و یا کل صفحه می شود که می تواند همان سربرگ معمولی با اطلاعات برند و یا فهرست کامل محتویات باشد.
  • <nav>این عنصر برای بخشی از سند که شامل لینک هایی به دیگر صفحات و یا لینکهای داخلی صفحه می شود درنظر گرفته شده است. البته لزومی ندارد که تمام لینک ها در این عنصر قرار گیرند ، صرفا لینک های اصلی.
  • <section>این عنصر بیشتر شبیه به همان تگ div می باشد که به منظور جداکردن قسمت های مختلف سند تعریف به کار می رود و درواقع تعریف کننده عمومی بخش های صفحه می باشد.
  • <article>معرف بخشی از صفحه است که به ماهیتی مستقل دارد مانند یک پیام وبلاگ یا محتویات یک بحث در انجمن.
  • <aside> بیانگر محتویات در ارتباط با بخش اصلی سند می باشد که معمولا در یک نوار کناری به نمایش در می آید مانند پیام های مرتبط در یک وبلاگ و غیره.نکته ای که باید به آن توجه داشت این است که این عنصر لزوما مفهموم نوار کناری (side bar) را ندارد و بیشتر شبیه به سوتیتر می باشد.
  • <footer> همانطور که از نامش پیداست برای نمایش اطلاعات پایانی یک بخش و یا کل صفحه استفاده می شود.

صدا ،  تصویر و پویانمایی :
صدا و تصویر یکی از مهم ترین رسانه های اطلاع رسانی می باشند اما HTML فاقد عناصری برای پشتیبانی این رسانه ها است. به همین دلیل سازندگان وب سایت ها عمدتا به ملحقاتی چون Flash روی آورده اند.
HTML 5 با معرفی audio  و video سعی در برطرف کردن این کاستی دارد. علاوه بر این عناصر دیگری مانند <canvas> که به منظور خلق تصاویر دوبعدی و پویانمایی با کمک DOM و JavaScript معرفی شده است،  نیاز به ملحقاتی چون Flash و Silverlight را به حداقل می رساند.

قابلیت های دیگر :
از دیگر قابلیت های HTML 5 می توان به گستره API های معرفی شده و مزایای که برای آینده برنامه های کاربردی در وب خواهند داشت اشاره کرد مانند

چه زمان HTML 5 به اتمام می رسد

پیش بینی می شود که تا سال 2012 میلادی ، HTML 5 به مرحله قابل انتشار برسد و البته تا تکمیل آن و بخصوص پذیرفته شدن و پیاده شدن در پویشگر ها راه طولانی ای در پیش است اما هم اکنون هم بسیازی از این خواص قابل استفاده می باشند.هرچند بعضی ها نا امیدانه تر به این مساله نظر انداخته اند.

پیوندهای مفید :