آشنایی با بنیان نمایش ویندوز (WPF)


 WPF به چه معناست؟

 بنیان نمایش ویندوز یا WPF  که برای بنیاد ویندوز ارائه شده است، جدیدترین رویکرد مایکروسافت به یک چارچوب GUI است که با چارچوب (NET.) مورد استفاده قرار می گیرد.

بنیان نمایش ویندوز (WPF) یک زیرسیستم گرافیکی برای برنامه های مبتنی بر ویندوز است. WPF در ابتدا به عنوان بخشی ازNET Framework 3.0.  در سال 2006 منتشر شد. WPF از یک مدل برنامه نویسی سازگار برای ساخت برنامه های کاربردی استفاده می کند. این مدل ها شبیه بهXML شی گرا  مانند XUL و SVG می باشد.

WPF از یک زبان XAML، مبتنی بر XML، برای تعریف و پیوند عناصر رابط کاربری استفاده می کند، مانند 2D / 3D، اسناد ثابت و تطبیقی، تایپوگرافی، گرافیک برداری، انیمیشن زمانبندی و ..که این عناصر نمیتوانند به هر شکلی استفاده شوند.

لیست امکانات در بنیان نمایش ویندوز(WPF)

در زیر امکانات و مواردی که در WPF وجود دارد به تفصیل شرح داده شده است:

اتصال داده

WPF مجموعه ای از سرویس های داده ایی را برای فعال کردن توسعه دهندگان نرم افزار برای اتصال و دستکاری داده ها در برنامه ها فراهم می کند. که چهار نوع اتصال داده را پشتیبانی می کند:

     1.همزمان: که در آن مشتری به روز رسانی در سرور را نادیده می گیرد.

     2. یک مسیره: جایی که سرویس گیرنده فقط دسترسی به خواندن داده ها را داشته باشد.

     3. دو مسیره: جایی که مشتری می تواند از آن بخواند و داده ها را به سرور ارسال کند.

     4. یک مسیربرای منبع: که در آن مشتری تنها دسترسی نوشتاری به داده ها دارد.

  • پرس و جوهایLINQ، از جمله LINQ به XML ، همچنین می تواند به عنوان منابع داده برای اتصال داده عمل کند.
  • اتصال داده ها بر ارائه آن تأثیری ندارد. WPF قالب های داده ای را برای کنترل ارائه داده ها فراهم می کند.
  • مجموعه ای از کنترل های داخلی به عنوان بخشی از WPF ارائه می شود که شامل مواردی مانند دکمه، منو، شبکه ها و جعبه لیست است.
  • یک مفهوم قدرتمند در WPF، جدایی منطقی کنترل از ظاهر آن است.
    • قالب کنترل را می توان به طور کامل تغییر ظاهر بصری آن را لغو کرد.
    • کنترل می تواند هر کنترل یا طرح دیگر را شامل شود، که امکان کنترل بالایی در ترکیب را فراهم می کند.
  • ویژگی های حالت گرافیکی حفظ شده بازنشانی صفحه نمایش همیشه ضروری نیست.
بیشتر بخوانید »»» 10 دلیل برای یادگیری زبان برنامه نویسی جاوا

سرویس های رسانه ای 

  • WPF یک سیستم یکپارچه برای ایجاد رابط کاربری با عناصر رسانه ای معمولی مانند تصاویر بردار و شطرنجی، صوتی ، تصویری و همچنین سیستم های انیمیشنی را فراهم می کند.
  • قابلیت های سه بعدی در WPF زیر مجموعه ای از ویژگی های کامل ارائه شده توسط Direct3D می باشد

      با این حال، WPF یکپارچه سازی دقیق تر با ویژگی های دیگر مانند رابط کاربر، اسناد و رسانه ها را فراهم می کند. این باعث می شود که رابط کاربر 3D،       اسناد 3D یا رسانه های 3D را داشته باشد.

  • پشتیبانی از رایج ترین فرمت های تصویری BMP، JPEG، PNG، TIFF، Windows Media Photo، GIF و ICON پشتیبانی می کند.
  • WPF از فرمت های ویدئویی WMV ، MPEG و برخی از فایل های AVI به طور پیش فرض پشتیبانی می کند، اما از آنجایی که ویندوز مدیا پلیر در زیر در حال اجرا است، WPF می تواند از تمام کدک های نصب شده برای آن استفاده کند.

الگوها 

  • در WPF شما می توانید ظاهر یک عنصر را به طور مستقیم از طریق خواص آن یا به طور غیر مستقیم با قالب یا سبک تعریف کنید. در ساده ترین شیوه، ترکیبی از تنظیمات مالکیت است که می تواند به یک عنصر UI با یک ویژگی مالکیت تک اعمال شود. قالب ها مکانیسم تعریف رابط کاربری جایگزین برای بخش هایی از برنامه WPF شما هستند. انواع مختلف قالب موجود در WPF (ControlTemplate، DataTemplate، HierarchicalDataTemplate و ItemsPanelTemplate) وجود دارد.

قالب های کنترل

  • کلیه ی کنترل های UI در WPF یک مدل ترکیب جدید است. هر کنترل از یک یا چند “تصویر” تشکیل شده است. این زیر عناصر بصری به وسیله WPF به یک درخت تصویری سلسله مراتبی تبدیل شده و در نهایت توسط GPU ارائه می شود.
  • هر کنترل در WPF یک قالب پیش فرض دارد که درخت بصری آن را تعریف می کند. قالب پیش فرض توسط نویسنده کنترل ایجاد شده است و توسط دیگر توسعه دهندگان و طراحان قابل تعویض است. UI جایگزین در ControlTemplate قرار دارد.
بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

قالب داده ها

  • بنیان نمایش ویندوز(WPF) دارای یک سیستم پیوند داده انعطاف پذیر است. عناصر UI را می توان با جمعیت و هماهنگ با داده ها از یک مدل داده های زیرزمینی استخراج کرد. به جای نشان دادن متن ساده برای داده های محدود، WPF می تواند یک الگو داده (UI قابل تعویض برای انواعNET.) قبل از ارائه به درخت بصری اعمال کند.

انیمیشن ها 

  • در مقابل روش مبتنی بر قاب، WPF از انیمیشن های مبتنی بر زمان پشتیبانی می کند. این سرعت انیمیشن را از نحوه عملکرد سیستم جدا می کند.
  • WPF از انیمیشن های سطح پایین با استفاده از تایمر و انتزاع سطوح بالاتری از انیمیشن ها از طریق کلاس های انیمیشن پشتیبانی می کند.
    • هر عنصر  WPF می تواند تا زمانی که به عنوان یک ویژگی وابستگی ثبت شده است، متحرک شود.
    • کلاس های انیمیشن بر اساس نوع دیتابیس ممکن است  متحرک باشند. برای مثال، تغییر رنگ یک عنصر با کلاس ColorAnimation انجام می شود و انیمیشن عنصر (که به صورت دوتایی تایپ می شود) با استفاده از کلاس DoubleAnimation انجام می شود.
  • انیمیشن ها را می توان به Storyboards گروه بندی کرد.
  • انیمیشن ها می توانند توسط رویدادهای خارجی، از جمله عمل کاربر، باعث شوند.
  • تایمر های ارائه شده توسط WPF تنظیم و مدیریت می شوند.
  • اثرات انیمیشن را می توان بر اساس هر شیء تعریف کرد، که می تواند به طور مستقیم از نشانه گذاری XAML  قابل دسترسی باشد.

تصویربرداری 

WPF می تواند به طور مؤثر به کد ویندوز ویستا کامپوننت (WIC) دسترسی پیدا کند و API ها اجازه می دهد برنامه نویسان برای نوشتن کدک های تصویری برای فرمت های تصویری خاص خودشان را بنویسند.

بیشتر بخوانید»»» آموزش زبان PHP

اثرات 

WPF 3.0 برای اثرات Bitmap (کلاس BitmapEffect)، که اثرات شطرنجی برای یک ویژوال است، فراهم می کند. این اثرات ردیف در کد مدیریت نشده نوشته شده و رندر مجوز ویژوال را روی پردازنده اجرا می کند و سخت افزار شتاب دهنده توسط GPU انجام نمی شود. BitmapEffects در دات نت 3.5 SP 1 متوقف شد.

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

NET Framework 3.5 SP1. کلاس افکت اضافه می کند که یک اثر Pixel-Shader 2.0 است که می تواند به تصویری اعمال شود که اجازه می دهد تمام رندر در GPU باقی بماند.

کلاس Effect قابل گسترش است، به برنامه اجازه می دهد که اثرات سایه دار خود را مشخص کند.

کلاس Effect در 04 و NETSP1 3.5 . دارای دو اثر ساخته شده ی، BlurEffect و DropShadowEffect  است. جایگزینی مستقیم برای OuterGlowBitmapEffect، EmbossBitmapEffect و BevelBitmapEffect وجود ندارد، که قبلا توسط Class BitmapEffect نادرست ارائه شده بود.

 با این حال، راه های دیگری برای دستیابی به نتایج مشابه با کلاس اثر وجود دارد. به عنوان مثال، توسعه دهندگان می توانند یک اثر نور خیره کننده بیرونی را با استفاده از DropShadowEffect با ShadowDepth تنظیم شده روی 0 بگیرند.

بیشتر بدانید»»» معایب و مزایای فریمورک بوت استرپ

اسناد 

  • WPF بومی اسناد برگزیده را پشتیبانی می کند. اینdocumentViewre  کلاس را فراهم می کند که برای خواندن مدارک طرح بندی ثابت است. این FlowDocumentReader کلاس ارائه می دهد.
  • اساسا از اسناد با مشخصات XML پشتیبانی می کند .
  • پشتیبانی از خواندن و نوشتن اسناد برگزیده با استفاده از کنوانسیون متن باز .

متن

  • WPF شامل تعدادی از ویژگی های تفسیر متن است که در GDI موجود نبودند، است . این نخستین رابط برنامه نویسی ویندوز است که ویژگیهای OpenType را در اختیار توسعه دهندگان نرم افزار قرار می دهد، پشتیبانی از OpenType، TrueType و OpenType CFF .

 

  • پشتیبانی از ویژگی های چاپی OpenType شامل موارد زیر است:
    • لیگاتورها
    • اعداد قدیم (به عنوان مثال، بخش هایی از گلیف زیر پایه متن آویزان می شوند)
    • انواع Swash
    • فراکسیون ها
    • حروف بزرگ و زیرنویس
    • کلاه های کوچک
    • توجیه سطح خط
    • کاراکترهای Ruby
    •  Glyph
    • مبانی چندگانه
    • جایگزین متنی و سبک
    • Kerning

 

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

 

بنیان نمایش ویندوز(WPF ) متون را در یونیکد پردازش می کند و متون را مستقل از تنظیمات جهانی مانند سیستم محلی مدیریت می کند. علاوه بر این، مکانیسم های عقب مانده برای اجازه دادن به جهت نوشتن (افقی و عمودی) به کار گرفته شده مستقل از نام فونت ارائه شده است؛ ساخت فونت های بین المللی از فونت کامپوزیت، با استفاده از یک گروه از فونت های تک زبان؛ در ترکیب فونت ها جاسازی شده است. ارتباط فونت و اطلاعات پیش فرض فونت در یک فایل XML قابل حمل با استفاده از تکنولوژی فونت کامپوزیت ذخیره می شود.  فایل XML دارای فرمت CompositeFont است .

 

بیشتر بدانید»»» مقایسه تخصصی وب سرور های apache و iis 

دیگر امکانات WPF

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

مفسر متن WPF از پیشرفت های تکنولوژی ClearType ، از جمله موقعیت های زیر پیکسل، عرض های پیشرفته طبیعی، جهش anti-aliasing Y ، رندر متن تسریع شده سخت افزاری ، و همچنین ذخیره سازی تهاجمی از متن پیش رندر شده در حافظه تصویری استفاده می کند.  ClearType را نمی توان در برنامه های قدیمی WPF 3.x غیرفعال کرد.

بر خلاف ClearType در GDI و یا GDI +، WPF ClearType فاقد فونت برای پیکسل ها به صورت افقی نیست، و منجر به از دست دادن کنتراست  توسط برخی کاربران می شود.  موتور رندر متن در WPF 4.0 بازنویسی شده است و این موضوع را اصلاح کرده است.

کارت گرافیکی

میزان چیرگی ذخیره شده به کارت گرافیکی بستگی دارد. کارت DirectX 10 قادر به کشف قلم فونت در حافظه تصویری می باشد. سپس ترکیب (جمع آوری علامت های شخصیت در جهت درست، با فاصله صحیح)، ترکیب آلفا (استفاده از anti-aliasing) و ترکیب RGB (محاسبات رنگ و رنگ زیر پیکسل و  ClearType)، به طور کامل در سخت افزار انجام می شود.

این بدان معنی است که تنها حروف های اصلی باید یک بار در هر فونت در حافظه ی ویدئویی ذخیره شوند و سایر عملیات مانند نمایش متن ضد هجی در بالای دیگر گرافیک از جمله ویدیو می توان بدون تلاش محاسباتی در قسمت CPU انجام داد.

 

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

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

 

source

مشاهده دیگر مقالات مفید سایت مرکز طراحی سایت در ارومیه

 

وب سرور های apache و iis

مقایسه تخصصی وب سرور های apache و iis

امروزه نرم افزارهاي وب سرور بسياري ارائه شده اند كه از آن جمله مي توان وب سرور های apache و iis ، انجين اكس ، GWS ,  lighttpd ، Oversee و … اشاره نمود . همواره انتخاب مناسب ترین وب سرور یکی از دغدغه های توسعه دهندگان وب بوده بنابراین برای راهنمایی هرچه بیشتر شما در اين مقاله به معرفي دو وب سرور پر طرفدار و مقایسه عملکرد و کارایی آن ها پرداخته ایم .

وب سرور های apache و iis

وب سرور های apache و iis
وب سرور های apache و iis

apache

آپاچی وب سروری است که ذاتا پایه و اساس اکثر نرم افزارهای Open Source یا متن باز دنیا است و تقریبا اکثر نرم افزارهای تحت وبی که بصورت Open Source نوشته می شوند از این وب سرور استفاده می کنند .

طبق آمار ارائه شده توسط وب سایت معتبر NetCraf در آوریل 2014 ، آپاچی با 42% درصد بیشترین سهم بازار سرویس دهنده های وب را بخود اختصاص داده است. آپاچی نرم افزار رایگان و متن باز است و قابل اجرا برروی سیستم عامل هایی از جمله Linux, Unix, Windows و Mac OS است .

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

از دیگر تفاوت های وب سرور های apache و iis مربوط به برخی از رابطهای زبان مشترک است که از Perl، Python، Tcl و PHP  پشتیبانی می کنند. ماژول های احراز هویت محبوب شامل mod_access، mod_auth، mod_digest و mod_auth_digest، جانشین mod_digest است. آپاچی همچنین از هاست مجازی پشتیبانی می کند.

این امکان یک دستگاه را قادر می سازد تا هم host باشد و به طور همزمان چندین وب سایت مختلف را ایجاد کند و تعدادی از رابط های کاربری گرافیکی  خوب توسعه یافته را ارائه دهد. یکی دیگر از ویژگی های قابل توجه ، فشرده سازی صفحه وب برای کاهش اندازه آنها بر روی http است که این نیز توسط یک ماژول خارجی به نام mod_gzip حاصل می شود .

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

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

در ادامه تفاوت های وب سرور های apache و iis بایستی به پکبج کامل LAMP اشاره کرد که معمولا در سیستم عامل های لینوکس نصب می شود ، و برنامه ها با زبان PHP و با پایگاه داده MySQL توسعه می یابند. در واقع بسته نرم افزاری LAMP مخفف کلمات Linux Apache MySQL Perl PHP می باشد .

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


بیشتر مطالعه کنید ...سئو معنایی چیست؟مهم ترین راهکارها برای کسب رتبه بالاتر

وب سرور های apache و iis
وب سرور های apache و iis

IIS

در بخش دوم مقایسه وب سرور های apache و iis باید افزود که IIS  وب سروری با رتبه دوم ، دارای سهم بزرگی در بازار است (32٪ با توجه به نظرسنجی که در بالا ذکر شد). درواقع خود این وب سرور رایگان است ، اما از آنجایی که این وب سرور تنها می تواند در سیستم عامل های ویندوز اجرا شود ، بنابراین هزینه های license به صورت غیر مستقیم این وب سرور را تحت تأثیر قرار می دهد.

همچنین از تفاوت های عمده وب سرور های apache و iis میتوان به این نکته اشاره نمود که iis یک نرم افزار اختصاصی است، به این معنی که کد قفل شده و برای عموم قابل دسترس نیست. ویژگی های جدید، رفع اشکالات و پشتیبانی توسط خود مایکروسافت ارائه می شود.

اگرچه سرعت توسعه این وب سرور به اندازه سرعت توسعه توسط جامعه توسعه دهنده ها نیست اما این توسعه می تواند بیشتر قابل اعتماد باشد.درمورد شباهت های وب سرور های apache و iis میتوان گفت که IIS  نیز مانند Apache ، دارای تعداد زیادی از ویژگی های مفید است که ویژگی های این وب سرور به عنوان افزونه در اختیار کاربران گذاشته شده است.

افزونه های IIS تنها توسط مایکروسافت توسعه می یابد. بر خلاف آپاچی، IIS بر روی سیستم عامل های ویندوز نصب شده است و برنامه های آن ازASP.NET و پایگاه داده MSSQL استفاده می کنند. بسته نرم افزار IIS بصورت ITPRO مخفف Windows IIS MSSQL ASP.NET وجود دارد.

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

وب سرور IIS این توانایی را دارد که از پلتفرم مایکروسافتی .NET Framework مایکروسافت پشتیبانی کند و اسکریپت های ASPX را براحتی اجرا می کند

به عنوان نکته ی تخصصی در مقایسه وب سرور های apache و iis ، بر اساس برخی از آزمون ها، IIS سریعتر از آپاچی است (هرچند هنوز هم از nginx کندتر است).

وب سرور iis مقدار کمتری از پردازنده را مصرف می کند، دارای زمان پاسخ بهتری است و می تواند جوابگوی درخواست های بیشتری را در هر ثانیه باشد .

با این حال، لازم به ذکر است که این آزمون 100٪ قابل اعتماد نیست، به این علت که این نرم افزارها معمولا در پچ های نرم افزاری مختلف اجرا می شوند (برنامه های IIS با استفاده از چارچوب دات نت در ویندوز اجرا می شوند ، در حالی که Apache معمولا برنامه های PHP را در سیستم عامل های لینوکس اجرا می کند).


بیشتر مطالعه کنید ...آموزش زبان PHP 

آزمون عملکرد وب سرور های apache و iis

این آزمون با تعداد متعددی از مشتریان انجام شده است ، درخواست ها به ازای هر مشتری و درخواست ها به ازای هر ثانیه انجام می شود.

هر دو نرم افزار وب سرور از همان سخت افزار در نمونه های آزمایشی AWS استفاده می کنند:

  • Intel Xeon CPU — 2.4 GHz
  • 1GB RAM memory

ماشین مجازی آپاچی دارای نرم افزارهای زیر است :

  • Ubuntu 14.04
  • Apache
  • MySQL
  • PHP 5

از سوی دیگر، نرم افزارهای دستگاه IIS نیز بدین صورت خواهند بود:

  • Windows Server 2012
  • IIS 8.0
  • MSSQL
  • ASP .NET 4.5

این آزمون پارامترهای زیر را مورد بررسی قرار می دهد :

  1. تاخیرزمان پاسخ (در ms) – مدت زمان بین ارسال درخواست و دریافت پاسخ اولیه
  2. زمان نمونه (در ms) – زمان مورد نیاز برای انجام کامل درخواست ، یعنی تأخیر + پاسخ

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

یعنی 2 درخواست در هر ثانیه.

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

وب سرور های apache و iis
وب سرور های apache و iis
وب سرور های apache و iis
وب سرور های apache و iis

نتیجه :

در این تست، آپاچی در هردو زمینه زمان و زمان پاسخ  به طور قابل توجهی سریعتر از IIS عمل کرد . برای تحقیقات بیشتر، جالب است که همان آزمایش را روی پیکربندی سخت افزاری قوی انجام دهیم. همچنین جالب است که سرعت یک برنامه PHP 7 را در Apache 2 و ASP.NET در IIS 8 مقایسه کنید.

منبع : urmiasite.com

 

دیگر مقالات مرتبط :

7 مورد از بهترین وب سرورهای متن باز جهان

وب سرور ها پس از اینکه  توسط Tim Berners-Lee در سال 1990 به عنوان بخشی از پروژه ای که اولین مرورگر وب، توسعه یافتند ، راه زیادی را در راستای پیشرفت وب طی کرده اند . در ابتدايي ترين سطح، وب سرور يك برنامه كامپيوتري است كه صفحه هاي وب خواسته شده را كنار هم قرار مي دهد. اما در شكل كلي وب سرور سامانه اي است که توانایی پاسخگوئی به يك مرورگر وب و ارسال صفحه درخواستی مرورگر را داراست .

شناخته شده ترین وب سرور های متن باز جهان ، NGINX , Apache , Lighttpd , Hiawatha , Cherokee , Monkey , Apache Tomcat هستند که در ادامه به معرفی و توضیح مختصر آنان میپردازیم  .

بهترین وب سرور های متن باز موجود در جهان

1. NGINX HTTP Server

وب سرور
وب سرور

NGINX توسط مهندس روسی ایگور سوزوف در سال 2002 در پاسخ به رشد ترافیک وب سایت ها ، پهنای باند و در نتیجه نیاز روز افزون به مدیریت بیش از 10،000 اتصال به صورت همزمان  توسعه داده شد.

راه حل او یک معماری مبتنی بر رویداد ناهمگام بود که به عملکرد و کارایی مشهور است.

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

بیش از دو برابر تعداد یک سال پیش که آن را تبدیل به موتور وب سرور منتخب برای اکثریت 100،000 از شلوغ ترین سایت های جهان کرده است.

این وب سرور به طور مخصوص برای مقیاس پذیری و حداقل منابع مورد نیاز برای بارگذاری های سنگین به شهرت رسیده است.

همچنین این وب سرور می تواند به عنوان یک پروکسی معکوس همینطور به عنوان یک سرور پروکسی ایمیل عمل کند.

 


بیشتر مطالعه کنید ...سئو معنایی چیست؟مهم ترین راهکارها برای کسب رتبه بالاتر

2. Apache HTTP Server

وب سرور
وب سرور

آپاچی در سال 1995 تاسیس شد و در سال بعد بیشترین استفاده از سرور HTTP را به خود اختصاص داد، آپاچی شرکتی است که به مدت 20 سال سابقه دارد .

مایکروسافت در ماه جولای 2014 از رقبای خود پیشی گرفت و همزمان آپاچی سهم خود را در بازار از دست داد .

با این وجود در حال حاضر این وب سرور مجموعا بیش از 374 میلیون سایت را تأسیس کرده است و تا آوریل 2018 بیشترین بازار سایت های فعال را با 42.4 درصد به خود اختصاص داد.

نام Apache به مدت طولانی به نظر می رسید که برگرفته از کلماتA Patchy Serverاست ،

تا زمانی که یکی از بنیانگذاران اعلام کرد که این عنوان برگرفته از عنوان استراتژی تهاجمی قبیله بومیان آمریکا نامگذاری شده است.

Apache از یک معماری مدولار برای رفع نیازهای مختلف هر زیرمجموعه فردی است.

این وب سرور برای امنیت و قابلیت اطمینان آن همچنین طیف گسترده ای از ویژگی ها آن و پشتیبانی از بسیاری از زبان های برنامه نویسی سمت سرور شناخته شده است.

3. Lighttpd

وب سرور
وب سرور

Lighttpd” کلمه ای متشکل از light و “httpd” است که تلفظ آن به صورت “lighty” می باشد که برای توصیف سرعت ، انعطاف پذیری و ثبات آن است.
سرور lightweight برای محیط های با عملکرد و سرعت بالا بهینه سازی شده است که به طور ایده آل برای سرورهای با بار سنگین مناسب است.

Jan Kneschke این سرور را با همان هدف بنیانگذار Igor Syosev,  NGINX  برای حل مشکل c10k ، مدیریت 10،000 اتصالات همزمان در یک سرور توسعه داده است

طراحی مفهومی که او هنگام نوشتن پایان نامه دانشگاه در سال 2003 شروع به توسعه کرد، در حال حاضر یکی از محبوب ترین وب سرورهای موجود است.

Lighttpd دارای حافظه نسبتا پایین ، CPU-load کم و مجموعه ای از ویژگی های پیشرفته است.

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

 


بیشتر مطالعه کنید ...از کلیک به مشتریان: 5 راه برای بهبود فروش وب سایت

4. Hiawatha

Hiawatha توسط Hugo Leisink  در سال 2002 توسعه یافت در حالی که او در رشته علوم کامپیوتر در هلند در حال تحصیل بود می خواست از سرورهای اینترنتی در خانه های دانشجویی پشتیبانی کند.

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

سروری که او توسعه داد تعدادی از ویژگی های امنیتی منحصر به فرد را ارائه میدهد که در تمام معیارهای منظم سایر وب سرور های پیشرو موجود است .

همچنین این وب سرور از دستورالعمل پیکربندی قابل خواندنی استفاده می کند که می تواند بدون نیاز به تخصص در HTTP یا CGI مورد استفاده قرار گیرد.

نقاط قوت Hiawatha در حجم کم ، امنیت چشمگیر و سهولت نصب آن است .

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

5. Cherokee

وب سرور
وب سرور

چروکی نام ورودی سوم لیست ما است که از نام قبیله بومیان آمریکا برگرفته شده است .

این وب سرور در سال 2001 توسط Alvaro Lopez Ortega مدیر مهندسی Akamai Technologies ساخته شد.

او می خواست سرعت و عملکرد را در طراحی مدولار و سبک وزن ترکیب کند.

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

طیف گسترده ای از ویژگی ها شامل رابط کاربری مبتنی بر وب به نام cherokee-admin که پشتیبانی از یک پیکربندی ساده سرور و تمام ویژگی های آن را شامل می شود.

چروکی بر روی لینوکس، Mac OS X، BSD و سولاریس اجرا می شود، اما در ویندوز اجرا نمی شود .


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

6. Monkey HTTP Server

وب سرور
وب سرور

Monkey HTTP یک سرور سبک و توسعه یافته است که در ابتدا برای لینوکس بهینه سازی شده بود ، اما هم اکنون با Mac OS X نیز سازگار است.

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

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

این سرور از طریق یک مکانیزم ترکیبی که هر موضوع را با ظرفیت حضور هزاران نفر از مشتریان فراهم می کند، عمل می کند.

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

7. Apache Tomcat

 

Apache Tomcat یک سرور Servlet و شامل سرورهای صفحات جاوا است که تحت مجوز آپاچی توسعه یافته است که می تواند به هر دو عنوان عمل کند هم به عنوان  وب سرور مستقل و هم به عنوان وب سرور افزوده شده به Apache.

در حالی که Apache HTTP به عنوان یک سرور سنتی برای صفحات وب استاتیک عمل می کند، Tomcat عمدتا طراحی شده است برای راه اندازی جاوا اسکریپت و JSP ها در وب سایت های پویا و توسعه دهندگان جاوا برای اجرای برنامه های وب استفاده می شود.

source : computerworlduk.com

 

دیگر مقالات مرتبط :