توسعه وب

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

به هرگونه فعالیتی که به توسعه یک وب‌گاه بر روی وب جهان‌گستر یا یک شبکه اینترانت منجر شود، توسعه وب می‌گویند.

توسعه وب می‌تواند موارد زیر را شامل شود:

1- توسعه تجارت الکترونیک

2- طراحی وب

3- توسعه محتوای وب

4- برنامه‌نویسی کاربر سو/کارپرداز

5- پیکره‌بندی کارپرداز وب

درمیان توسعه‌دهندگان حرفه‌ای وب، «توسعه وب» معمولاً فقط به جنبه‌های غیرگرافیکی ساخت وب‌گاه‌ها مانند برنامه‌نویسی و نشانه‌گذاری وب نسبت داده می‌شود. توسعه وب می‌تواند از توسعه ساده‌ترین برگه‌های ایستا (به انگلیسی Static Pages) با محتوای متن ساده تا پیچیده‌ترین نرم‌افزارهای مبتنی بر وب، تجارت‌های الکترونیکی یا خدمات شبکه‌های اجتماعی شامل شود.

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

توسعه وب به عنوان یک صنعت[ویرایش]

از اواسط دهه 90 میلادی، توسعه وب به یکی از صنایع پررونق در جهان تبدیل شد. در سال 1995 میلادی تنها کمتر از 1000 شرکت توسعه وب در ایالات متحده آمریکا وجود داشتند این در حالی است که در سال 2005 میلادی این تعداد به بیش از 30000 شرکت رسید. انتظار می‌رود گستره صنعت توسعه وب در سال 2010، بیست درصد افزایش داشته باشد. رشد این صنعت تحت تاثیر شرکت‌های بزرگی است که می‌خواهند محصولات و خدمات خود را به مشتری‌ها بفروشند و تجارت خود را به وسیله وب خودکار کنند.

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

سکوها و ابزارهای توسعه وب[ویرایش]

سکوها (Platforms) و ابزارهای توسعه وب بسیار پراهمیت هستند. برای انتشار رایگان و کمک به توسعه وب، سامانه‌های ترکیبی زیادی بوجود آمده‌اند. یکی از محبوب‌ترین سامانه‌های ترکیبی برای توسعه وب LAMP است که مخفف چهار واژه Linux (یک سیستم‌عامل متن‌باز)، Apache (یک راه‌انداز کارپرداز وب)، MySQL (یک فن‌آوری و سامانه مدیریت پایگاه داده) و PHP (یک زبان برنامه‌نویسی وب) است. سامانه ترکیبی LAMP معمولاً با هزینه کمی برای توسعه وب قابل استفاده است. سامانه ترکیبی LAMP، یکی از عواملی است که محبوبیت توسعه وب در جهان را افزایش داده است. عامل دیگر در توسعه وب، «نرم‌افزارهای توسعه وب» هستند که استفاده از آن‌ها بسیار آسان است. پرکاربردترین این نرم‌افزارها، WebDev، Adobe Dreamweaver، Microsoft Expression Studio (پیش‌ترMicrosoft Frontpage بود.) هستند. به شکل تقریبی هر کسی می‌تواند در مدت زمان کوتاهی با استفاده از این نوع نرم‌افزارها یک وب‌گاه طراحی کند. در هنگام استفاده از نرم‌افزارهای توسعه وب، نیازی به دانستن «زبان نشانه‌گذاری ابرمتن» (HTML) یا دیگر زبان‌های برنامه‌نویسی وب نیست اما برای تولید آثار حرفه‌ای تر، مقوله‌های مذکور توصیه می‌شود. نسل آینده ابزارهای توسعه وب برای تولید وب به عنوان راهی در جهت اجرای نرم‌افزارهای کاربردی به شکل برخطی از پیشرفت‌های نیرومندی در فن‌آوری‌های Microsoft .NET و LAMP استفاده می‌کنند. همینک توسعه‌دهندگان وب به تولید انواعی از نرم‌افزارهای کاربردی که به شکل خدمات وب ارائه می‌شوند، کمک می‌کنند تا بتوانند آنان را مانند نرم‌افزارهای کاربردی رومیزی رایانه، تجاری کنند.

تغییر روش ارتباطات با استفاده از توسعه وب[ویرایش]

به جای اجرای کدهای قابل اجرا بر روی یک رایانه محلی، کاربران از نرم‌افزارهای کاربردی برخطی برای تولید محتوای جدید بهره می‌گیرند. این موضوع روش‌های نوینی را در ارتباطات بوجود آورده است و اجازه داده است تا مجال و فرصت‌های بیشتری برای تمرکز-زدایی اطلاعات و توزیع رسانه‌ها ایجاد گردد. نمونه‌های زیادی وجود دارند که تغییرات در روش ارتباطات و تجارت را با استفاده از صنعت توسعه وب، نشان می‌دهند. وب‌گاه‌های حراجی برخط مانند eBay، روش مصرف مصرف‌کنندگان و پرداخت برای خدمات و کالاها را تغییر داده‌اند. فروشنده‌های برخطی واسطه مانند Amazon.com و Buy.com، روش‌های خرید و تجربه کسب سود را برای مصرف کنندگان زیادی تغییر داده‌اند.

یک نمونه بسیار خوب دیگر برای تغییر روش ارتباطات با استفاده از توسعه وب، «وب‌نوشت» (به انگلیسی Blog) است. نرم‌افزارهای کاربردی وب مانند مووبل تایپ و وردپرس، به راحتی محیط‌های وب‌نویسی کاملی را برای وب‌گاه‌های شخصی ایجاد کرده‌اند. سامانه‌های متن‌باز مدیریت محتوا مانند Typo3، Xoops، Joomla! و Drupal، با بهره‌گیری از حالت‌های نوینی از ارتباطات، توسعه وب را گسترش داده‌اند.

نواحی هم‌نوع (به انگلیسی Typical Areas)[ویرایش]

توسعه وب با استفاده از تعداد زیادی نواحی هم‌نوع امکان‌پذیر است که عبارتند از:

الف) برنامه‌نویسی سمت مشتری

ای‌جکس: روش‌های نوینی را در کاربرد جاوااسکریپت، پی‌اچ‌پی و دیگر زبان‌های برنامه‌نویسی برای بهبود تجربه کاربر فراهم کرده است.

فلش: نرم‌افزار Adobe Flash Player یک سکوی سمت مشتری قابل دسترس و آماده برای RIAها است. همچنین Flex 2 به Flash Player (نگارش 9 به بعد) این توانایی را داده است.

جاوااسکریپت: که رسماً EMCAScript نامیده می‌شود، یک ابزار برنامه‌نویسی سمت-کاربری آماده است.

■ مایکروسافت روشن‌نقره‌ای (به انگلیسی Microsoft Silverlight) یک افزونه مرورگر شرکت مایکروسافت است که توانایی خلق پویانمایی، گرافیک‌های برداری و ویدئوهای با وضوح تصویری بالا را داراست. این افزونه خود به وسیله زبان‌های برنامه‌نویسی .NET و XAML نوشته شده است.

ب ) برنامه‌نویسی سوی کارپرداز

■ ASP (محصولی از مایکروسافت)

■ ترکیب یخی (به انگلیسی ColdFusion – محصولی از شرکت Adobe و مایکرومدیا)

■ CGI و Perl (منبع باز)

■ جاوا به عنوان نمونه J2EE یا WebObject

■ لتوس دومنیو

■ PHP (منبع باز)

■ Ruby، به عنوان نمونه Ruby on Rails (منبع باز)

■ گفتگوی کوچک (به انگلیسی SmallTalk) به عنوان نمونه «کناردریا» (به انگلیسی Seaside)، AIDA/Web

■ SSJS: جاوااسکریپت سمت-کارپرداز به عنوان نمونه آپتانا ژاکسر (به انگلیسی Aptana Jaxer)، مازیلا رینو (به انگلیسی Mozilla Rhino )

■ گوی وبی (به انگلیسی Websphere – محصولی از IBM)

■ .NET (محصول مایکروسافت)

به هر حال دانستن زبان‌هایی مانند Ruby و Python به شکل جفتی همراه با دیگر خدمت دهنده پایگاه داده به غیر از MySQL کمتر پیش می‌آید. در زیر نمونه‌هایی از دیگر پایگاه‌های داده تحت استفاده در وب وجود دارند. برخی از توسعه‌دهندگان ترجیح می‌دهند از سامانه ترکیبی LAPR (عبارت است از: سیستم‌عامل لینوکس، راه‌انداز کارپرداز Apache، فن‌آوری پایگاه داده PostgreSQ و زبان برنامه‌نویسی وب Ruby on Rails) برای توسعه وب استفاده کنند.

فن‌آوری پایگاه داده[ویرایش]

■ Apache Derby

■ DB2

■ پرنده آتشین (Firebird)

■ مایکروسافت اس کیو ال سرور (Microsoft SQL Server)

■ اس کیو ال من (MySQL)

■ Oracle

■ PostgreSQL

■ SQLite

برخی از توسعه‌دهندگان وب برای تمرین تلاش می‌کنند تا به مهارت‌ها و وظایف علمی در این زمینه دست یابند. این مهارت‌ها عبارتند از:

طراحی گرافیک / طراحی وب

■ مدیریت محتوای صفحات وب

■ مدیریت برنامه نویسی و یکپارچه سازی و توسعه صفحات وب

■ تست استرسی وب سرور درمورد حجم ترافیک و ...

■ تست و آنالیز امنیتی وب سرور

معماری اطلاعات و قوانین درج و ویرایش برای دسترسی به وب و بهینه‌سازی موتور جستجو

■ مدیریت پروژه، تضمین کیفیت و دیگر مشارکت‌های جانبی برای توسعه فن‌آوری اطلاعات

فهرست بالا یک سلسله مراتب ساده برای توسعه وب‌گاه است و می‌تواند شامل انواع سمت-کاربر و سمت-کارپرداز شود. باید خاطرنشان کرد که توسعه وب عموماً به دو بخش تقسیم می‌گردد. نخست بخش برنامه‌نویسی سمت-کابر مانند طراحی و قالب‌بندی است، سپس برنامه‌نویسی سمت-کارپرداز است که کارکرد سامانه‌های زیرین را پوشش می‌دهد. برنامه‌نویسی سمت-کاربر مانند XHTML بر روی یک رایانه محلی (در یک مرورگر وب) ذخیره و اجرا می‌گردد. این در حالی است که برنامه‌نویسی سمت-پرداز بر روی یک رایانه محلی قابل دسترسی نیست و بر روی خادم وبی قابل اجراست که XHTML مناسب را تولید کند و سپس به یک رایانه محلی بفرستد. طبیعتاً برنامه‌نویسی سمت-کاربر به شما این اجازه را می‌دهد تا کدهای HTML را بر روی یک رایانه محلی تصحیح کنید و برگه‌ها را همراه با محتوای به‌روز شده، تازه کنید. از این‌رو طراحان وب به این عقیده می‌رسند که فایل‌های حاوی کدهای سمت-کارپرداز برای آن‌ها امنیت به همراه دارد. اگر یک سند حاوی کدهای سمت-کارپرداز، محتوایی را از یک سند سمت-کاربری تغییریافته بپذیرد، توسعه وب آن برگه از امنیت ضعیف‌تری برخوردار است.

ملاحظات امنیتی[ویرایش]

توسعه وب، ملاحظات امنیتی را با خود به همراه دارد. مانند بررسی خطا هنگام ورود داده‌ها بر روی یک فرم، پالایه کردن اطلاعات خروجی و رمزگذاری. اقدامات خراب‌کارانه مانند «تزریق SQL» (SQL Injection) می‌تواند به وسیله کاربرانی که قصد شرارت دارند، اجرا شود. برخی از اسناد وب ممکن است به شیوه‌ای طراحی شوند که کاربران بدخواه بتوانند دسترسی غیرمجاز به اسناد داشته باشند و برای گردآوری اطلاعاتی مانند نشانی‌های پست الکترونیک، گذرواژه‌ها و هر نوع محتوای حفاظت شده مانند شماره‌های کارت اعتباری تلاش کنند.

برخی از این ملاحظات امنیتی به محیط خدمت‌دهنده بستگی دارد. (مانند خدمات اطلاعات اینترنت مایکروسافت و یا آپاچی) که رایانه را برای کار با زبان‌های برنامه‌نویسی مانند PHP، Ruby، Python، Perl یا ASP آماده می‌کنند. بنابراین لازم است که توسعه‌دهنده وب، خدمت‌دهنده مناسبی را برای کار خود انتخاب نماید. با این حال آزمایش دقیق نرم‌افزارهای کاربردی وب پیش از انتشار عمومی، از نفوذهای امنیتی جلوگیری می‌کند.

نگهداری یک خدمت‌دهنده وب دور از نفوذهای بدون مجوز، اغلب «محدودکردن درگاه خدمت‌دهنده» نامیده می‌شود. بسیاری از فن‌آوری‌ها هنگامی به اجرا درمی‌آیند، که اطلاعات به شکل امن از مکانی به مکان دیگر انتقال داده می‌شود. برای نمونه مجوزهای رمزگذاری متعلق به «لایه حفره امنیتی» (به انگلیسی Secure Socket Layer - SSL) که به واسطه اسناد معتبر منتشر می‌شوند، از کلاه‌برداری‌های اینترنتی جلوگیری می‌کند. بسیاری از توسعه‌دهندگان وب اغلب هنگام انتقال و ذخیره اطلاعات حساس، شکل‌های متفاوتی از رمزگذاری را بکار می‌برند. درک اولیه مفاهیم امنیتی فن‌آوری اطلاعات اغلب بخشی از دانش یک توسعه‌دهنده وب است. به خاطر حفره‌های امنیتی نو در نرم‌افزارهای کاربردی وب که پس از آزمایش و اجرای آن‌ها، پیدا می‌شوند، به‌روزرسانی‌های وصله‌های امنیتی به شکل مستمر برای این نرم‌افزارها منتشر می‌شود. توسعه‌دهندگان وب اغلب برای به روز نگه داشتن نرم‌افزارهای وب، تلاش می‌کنند وصله‌های امنیتی مطابق با وضعیت امنیتی جدید کشف و منتشر کنند.

نمودار خطی زمان برای توسعه وب:[ویرایش]

Web development timeline.png

منبع[ویرایش]

مشارکت کاربران - دانشنامه ویکی‌پدیای انگلیسی