فناوری نقش بسیار مهمی در زندگی روزمره ما دارد. از سادهترین برنامهها تا ابتداییترین اختراعات، همه و همه با فناوری درگیر هستند. هر وبسایت یا نرمافزاری که با آن روبرو میشویم توسط یک توسعه دهنده وب ساخته شده است. اما توسعه وب دقیقا چیست و یک توسعه دهنده وب چه کاری انجام میدهد؟
توسعه وب میتواند از بیرون مانند یک مهارت پیچیده، گیج کننده و در عین حال غیر قابل یادگیری به نظر برسد. بنابراین لازم است تا یک معرفی کامل بر توسعه وب و آنچه برای تبدیل شدن به آن لازم است داشته باشیم تا این باور اشتباه را از بین ببریم.
در این مقاله، اصول اولیه توسعه وب را با جزییات بررسی خواهیم کرد و اساسیترین مهارتها و ابزارهایی را که برای ورود به این صنعت لازم دارید، به شما نشان خواهیم داد. بهتر است تا در ابتدا یک پیش زمینه کلی از آن داشته باشیم. ما باید یاد بگیریم که قبل از دویدن راه برویم.
خب شروع کنیم!
- توسعه وب چیست؟
- تاریخچه مختصری از شبکه جهانی وب
- یک توسعه دهنده وب دقیقا چه کاری انجام میدهد؟
- نگاهی بر زبانهای برنامهنویسی، کتابخانهها و فریمورکها
- چه چیزی برای تبدیل شدن به یک توسعه دهنده وب نیاز دارید؟
1 – توسعه وب چیست؟
توسعه وب، یک فرآیند برای ساخت وبسایتها و اپلیکیشنهای کاربردی در اینترنت یا شبکه خصوصی است که بهعنوان یک اینترانت شناخته میشود. توسعه وب مربوط به طراحی وب نیست بلکه تمام آن در مورد کد نویسی و برنامهنویسی است که عملکرد وبسایتتان را تامین میکند.
از سادهترین چیزها مانند صفحات وب استاتیک گرفته تا پیچیدهترین سیستمها مانند سیستم عاملها و برنامههای رسانههای اجتماعی، از وبسایتهای تجارت الکترونیک گرفته تا سیستمهای مدیریت محتوا (CMS). همه ابزارهایی که روزانه از طریق اینترنت به آنها دسترسی داریم و از آنها استفاده میکنیم، توسط توسعهدهندگان وب ساخته شده اند.
توسعه وب به سه لایه تقسیم میشود: برنامهنویسی سمت کاربر (frontend)، برنامهنویسی سمت سرور (backend) و تکنولوژی پایگاههای داده.
بیایید با جزئیات بیشتری به هر یک از این لایهها نگاهی بیندازیم.
سمت کاربر
برنامهنویسی سمت کاربر یا توسعه فرانت اند، به تمامی چیزهایی که کاربر نهایی به طور مستقیم تجربه میکند، اشاره دارد. کدهای مربوط به این بخش، در یک مرورگر وب اجرا میشوند و مستقیما به آنچه افراد در هنگام بازدید از وبسایت مشاهده میکنند، مربوط میشود. مواردی مانند چیدمان، فونتها، رنگها، منوها و فرمهای تماس تماما توسط کدنویسی در بخش فرانت اند، ساخته میشوند.
سمت سرور
برنامهنویسی سمت سرور یا توسعه بک اند، تماما درباره اتفاقاتی است که در پشت صحنه وبسایت رخ میدهد. بک اند در واقع بخشی از وبسایت است که کاربر آن را نمیبیند. این بخش مسئول ذخیره و سازماندهی دادهها و اطمینان از اجرای صحیح کدها در بخش فرانت اند است. او این کار را با برقراری ارتباط با بخش فرانت اند انجام میدهد. هر وقت اتفاقی در بخش فرانت اند رخ میدهد- مثلا کاربر یک فرم را پر میکند- مرورگر یک درخواست را به سمت سرور ارسال میکند. بخش بک اند نیز با دریافت اطلاعات ارسال شده توسط فرانت اند، پاسخ مناسب را ارسال میکند و سپس مرورگر آن پاسخ را تفسیر کرده و به کاربر نمایش میدهد
تکنولوژی پایگاههای داده
وبسایتها به فناوری پایگاه داده نیز متکی هستند. این پایگاه داده شامل تمامی فایلها و مطالب لازم برای عملکرد یک وبسایت میباشد. این پایگاههای داده اطلاعات را به گونهای ذخیره میکنند که امکان بازیابی، ساماندهی، ویرایش و ذخیره آنها به سادگی فراهم باشد. پایگاه داده بر روی سرور اجرا میشود و بیشتر سایتها نیز به طور معمول از نوعی سیستم مدیریت پایگاه داده رابطهای (RDBMS)، استفاده میکنند.
به طور خلاصه فرانت اند، بک اند و پایگاه داده، همگی در کنار هم برای ایجاد و اجرای یک وبسایت یا برنامه کاملا کاربردی همکاری میکنند و در واقع میتوان گفت این سه لایه پایه و اساس توسعه وب را تشکیل میدهند.
تفاوت بین توسعه وب و طراحی وب
ممکن است تا بحال بارها اصطلاح توسعه وب و طراحی وب را شنیده باشید و حتی آنها را به جای یکدیگر نیز به کار برده باشید اما باید بدانید که این دو کاملا با یکدیگر متفاوت هستند.
یک طراح وب و یک توسعه دهنده وب را تصور کنید که برای ساخت یک خودرو با یکدیگری همکاری میکنند: توسعه دهنده از تمام اجزای عملکردی مانند موتور، چرخها و چرخ دندهها مراقبت میکند، در حالی که طراح مسئولیت هر دو جنبه بصری را به عهده دارد. این که طراحی کلی خودرو چگونه بنظر برسد، طراحی داشبوردها چگونه باشد، صندلیها به چه شکل طراحی شوند، تجربه کاربری استفاده از خودرو چگونه باشد و در کل خودرو چگونه به شکلی مناسب طراحی و تولید شود.
طراحان وبسایت، ظاهر کلی سایت و احساساتی را که پس از استفاده از آن در کاربر بوجود میآید را طراحی میکنند. آنها طرح وبسایت را الگوبرداری میکنند، آن را کاربرپسند و دلپذیر کرده و تلاش میکنند تا طرحی را درست کنند که استفاده از آن راحت و منطقی باشد. آنها تمامی عناصر بصری مختلف را در نظر میگیرند. اینکه از چه فونتها و رنگهایی استفاده شود، اینکه چه دکمهها و منوهای کشویی باید در طرح گنجانده شوند، اینکه بهترین مکان برای قرار دادن آنها در کدام قسمت است و اینکه کاربر در مسیر رسیدن از نقطه A به نقطه B، با چه ویژگیهای تعاملی ارتباط برقرار میکند. طراح وب همچنین معماری اطلاعات وبسایت را در نظر میگیرد، تعیین میکند که چه محتوایی در آن گنجانده شود و همچنین مشخصی میکند که آن محتوا در کجا قرار بگیرد.
طراحی وب یک زمینه بسیار گسترده است و اغلب به زیر شاخههای خاصتری از قبیل طراحی تجربه کاربری (UX)، طراحی رابط کاربری (UI) و معماری اطلاعات تقسیمبندی میشود.
وظیفه توسعه دهنده وب این است که این طراحی را از طراح سایت دریافت کند و آن را به یک وبسایت زنده و کاملا کاربردی تبدیل کند. برای مثال برنامهنویس فرانت اند، جلوه بصری طراحی شده را از طراح سایت میگیرد و آن را با استفاده از HTML، CSS و زبان قدرتمند Javascript به یک قالب وبسایت تبدیل میکند. برنامهنویس بک اند نیز که همانند برنامهنویس فرانت اند یک توسعه دهنده به شمار میرود، قابلیتهای پیشرفتهتر سایت مانند عملکرد پرداخت در سایتهای تجارت الکترونیکی را ایجاد میکند.
به طور کاملا خلاصه، طراح وب نقشی مانند یک معمار برای یک ساختمان دارد، در حالیکه توسعه دهنده وب، سازنده یا مهندس آن ساختمان به شمار میرود.
2- تاریخچه مختصری از شبکه جهانی وب
همانطور که امروزه میدانیم، از بوجود آمدن دنیای وب دهها سال میگذرد. برای کمک به درک شیوه عملکرد وب، بیایید به جایی برگردیم که همه چی از آنجا آغاز شده است و نحوه تحول اینترنت در طول این سالها را بررسی کنیم.
1965: اولین WAN (شبکه گسترده)
اینترنت در واقع شبکهای از شبکهها است که تمامی WANها را به یکدیگر متصل میکند. WAN مخفف عبارت Wide Area Network است؛ یک شبکه ارتباطی که مسافت جغرافیایی زیادی دارد. اولین WAN در سال 1965 در انستیتوی فناوری ماساچوست تاسیس شد. بعدا این WAN با نام ARPANET شناخته شد و در ابتدا توسط آژانس پروژههای تحقیقاتی پیشرفته وزارت دفاع ایالات متحده آمریکا، روی آن سرمایه گذاری شد.
1969: اولین پیام اینترنتی
در اکتبر 1969، چارلی کلاین، دانشجوی UCLA، اولین پیام اینترنتی را ارسال کرد. او سعی کرد از طریق شبکه ARPANET کلمه "ورود" را به موسسه تحقیقاتی استنفورد، ارسال کند اما این سیستم پس از دو حرف اول، از کار افتاد. با این حال، حدود یک ساعت بعد، سیستم بازیابی شد و متن کامل با موفقیت ارسال شد.
دهه 1970: ظهور LAN (شبکه محلی)
در اوایل دهه 70، جهان شاهد توسعه چندین فناوری LAN آزمایشگاهی بود. LAN مخفف Local Area Network است؛ یک شبکه رایانهای که دستگاههای اطراف را در مکانهای مانند مدارس، دانشگاهها و کتابخانهها به یکدیگر متصل میکند. برخی دیگر از نقاط عطف قابل توجه در این دوران شامل توسعه اترنت در Xerox Parc در بین سالهای 1973-1974 و توسعه ARCNET در سال 1976 است.
1989-1982: پروتکل کنترل انتقال (TCP)، پروتکل اینترنت (IP)، سیستم نام دامنه و دسترسی به Dial-Up
در سال 1982، پروتکل کنترل انتقال (TCP) و پروتکل اینترنت (IP) بهعنوان پروتکل ARPANET، پدیدار شدند و TCP/IP امروزه پروتکل استاندارد امنیت در دنیای وب است. در سال 1983، سیستم نام دامنه تاسیس شد که روشی کاربر پسندتر را برای تعیین مالکیت وبسایتها (بجای قرار دادن یک سری اعداد) فراهم کرد.
در سال 1987، سیسکو از اولین روتر خود رونمایی کرد و در سال 1989، World.std.com، بهعنوان اولین ارائه دهنده تجاری دسترسی به اینترنت dial-up معرفی شد.
1990: تیم برنرز لی و ورود HTML
در سال 1990، تیم برنرز لی، دانشمند CERN (سازمان اروپایی تحقیقات هستهای)، HTML را که مخفف HyperText Markup Language است، توسعه داد. بعد از آن HTML تبدیل به ساختمان اساسی اینترنت شد و هنوز هم در این جایگاه قرار دارد.
1991: شبکه جهانی وب وارد مسیر اصلی خود شد
با ظهور مرورگرهای اینترنتی بصری، شبکه جهانی وب راه خود را برای ورود به جریان اصلی به منظور همه گیر شدن پیدا کرد. از سال 2018، بیش از 4 میلیارد نفر در سراسر جهان به اینترنت دسترسی دارند.
3- یک توسعه دهنده وب دقیقا چه کاری انجام میدهد؟
نقش اصلی توسعه دهنده وب ایجاد و نگهداری وبسایتها است. توسعهدهندگان وب میتوانند به صورت سازمانی یا فریلنسینگ کار کنند و وظایف آنها بهعنوان یک توسعه دهنده کاملا به این بستگی دارد که در چه نقشی فعالیت میکنند؛ برنامهنویس فرانت اند، برنامهنویس بک اند یا برنامهنویس فول استک. برنامهنویسان فول استک هم در فرانت اند و هم در بک اند تخصص دارند. در ادامه جزییات بیشتری درباره آنچه که یک برنامهنویس فول استک انجام میدهد، ارائه خواهیم داد.
توسعهدهندگان وب مسئول ساخت محصولی هستند که هم نیاز مشتری و هم نیاز کاربر را بر آورده کند. آنها به منظور درک بیشتر این فرآیند، با مشتریان و طراحان همکاری میکنند و همواره به دنبال این هستند که این سوال را به خوبی پاسخ دهند: چگونه وب سایت نهایی باید ظاهر خوب و عملکرد روان و مناسبی داشته باشد؟
بخش بزرگی از توسعه وب نیز مربوط به شناسایی و رفع اشکالات است تا دائما بهینهسازی و بهبود یک وبسایت یا سیستم انجام بگیرد. بنابراین توسعهدهندگان وب همواره به دنبال افرادی برای حل مشکلات هستند تا مدام راهحلهای مختلفی را ارائه دهند و فرآیند توسعه را هموارتر کنند.
همه توسعهدهندگان وب حداقل به یک زبان برنامهنویسی مسلط هستند. با این حال این زبانها بسته به عنوان شغلی و حوزه تخصص، متفاوت هستند. بیایید با جزییات بیشتری به لایههای مختلف توسعه وب و کارهای مرتبط به آن بپردازیم.
یک برنامهنویس فرانت اند دقیقا چه کار میکند؟
وظیفه برنامهنویسان فرانت اند این است که ظاهر سایتها یا اپلیکیشنها را ایجاد کنند. یعنی بخشی از وبسایت یا اپلیکیشن که کاربر آن را میبیند و با آن تعامل برقرار میکند. آنها دادهها را از سمت سرور (بک اند) گرفته و آن را به چیزی تبدیل میکنند که برای کاربران به راحتی قابل درک، لذت بخش و کاملا کاربردی باشد. آنها روی طرحی که توسط طراح وب ارائه شده، کار میکنند و آن طرح را با استفاده از HTML، CSS و Javascript به یک قالب وبسایت تبدیل میکنند. (توضیحات بیشتر در ادامه)
توسعه دهنده فرانت اند، عناصر تعاملی وبسایت مانند دکمهها، نوارهای اسکرول، تصاویر، محتوا و لینکهای داخلی (لینکهایی که از یک صفحه به صفحه دیگر در همان وبسایت میروند) را پیادهسازی میکنند.
آنها همچنین مسئول اطمینان از نمایش صحیح سایت در مرورگرها و دستگاههای مختلف هستند. این توسعهدهندگان وبسایتها را به گونهای کدگذاری میکنند که باعث میشود تا آنها در اندازههای مختلف از صفحههای نمایش، به شکلی مناسب و بدون بهم ریختگی نمایش داده شوند. به طوری که کاربر همان تجربهای را که از مشاهده سایت با دسکتاپ کسب میکند، با تلفن همراه نیز تجربه کند.
توسعهدهندگان فرانت اند همچنین آزمایشهای قابلیت استفاده را انجام داده و هر گونه ایراد ناشی از آن را برطرف میکنند. در عین حال آنها بهترین شیوهها را برای سئوی سایت در نظر میگیرند، مدیریت گردش کار نرمافزار را حفظ میکنند و ابزارهایی را توسعه میدهند که نحوه تعامل کاربر با یک وبسایت در هر مرورگری را تقویت میکند.
یک برنامهنویس بک اند دقیقا چه کاری انجام میدهد؟
بک اند در اصل مغز متفکر یک وبسایت است که در پشت چهره سایت (فرانت اند) قرار گرفته است. بنابراین یک توسعه دهنده بک اند، وظیفه ساخت و نگهداری فناوری مورد نیاز برای تامین قدرت بخش فرانت اند را دارد که از سه بخش تشکیل شده است: یک سرور، یک اپلیکیشن و یک بانک اطلاعاتی.
کدی که توسط توسعهدهندگان بک اند نوشته میشود، در صورت اصولی بودن، باعث میشود تا تمامی موارد ایجاد شده توسط توسعه دهنده فرانت اند به درستی کار کند. این کار توسعه دهنده بک اند است که مطمئن شود سرور، اپلیکیشن و بانک اطلاعاتی با یکدیگر ارتباط برقرار میکنند. اکنون ممکن است برای شما سوال شود که آنها چگونه این کارها را انجام میدهند؟ توسعهدهندگان بک اند ابتدا از زبانهای سمت سرور مانند Python، Ruby، PHP و Java برای ساخت برنامه اصلی استفاده میکنند. سپس از ابزارهایی مانند Oracle، MySQL و SQL Server برای پیداکردن، ذخیره یا ویرایش دادهها و ارسال مجدد آنها به سمت فرانت اند و نمایش به کاربر، بهره میگیرند.
درست مانند توسعهدهندگان فرانت اند، توسعهدهندگان بک اند نیز برای درک نیازها و احتیاجات کاربران و صاحبان مشاغل، با آنها ارتباط برقرار میکنند و از آنها بازخورد میخواهند. آنها بسته به ویژگیهای پروژه، موارد لازم را به روشهای مختلفی به بخش فرانت اند انتقال میدهند. وظایف یک توسعه دهنده بک اند شامل ایجاد، ادغام و مدیریت بانکهای اطلاعاتی، ساختن نرمافزار سمت سرور با استفاده از چهارچوبهای بک اند، توسعه و بکارگیری سیستمهای مدیریت محتوا (به عنوان مثال برای یک وبلاگ)، کار با فناوریهای وب سرور، یکپارچهسازی APIها و همچنین بهرهبرداری از سیستمهای مختلف است.
توسعهدهندگان بک اند، وظیفه آزمایش و اشکال زدایی عناصر موجود در سمت سرور یک وبسایت یا اپلیکیشن را نیز به عهده دارند.
یک توسعه دهنده فول استک دقیقا چه کاری انجام میدهد؟
یک توسعه دهنده فول استک کسی است که به تمامی ابعاد تکنولوژیهای مربوط به طراحی سایت تسلط دارد و میتواند روی آنها کار کند؛ یعنی فرانت اند و بک اند. این توسعهدهندگان در هر مرحله از فرآیند توسعه وب خبره هستند و میتوانند موارد لازم در هر دو سمت را به راحتی پیادهسازی کنند. آنها همچنین به استراتژیهای بروز و ترفندهای کاربردی نیز مسلط هستند.
بیشتر این توسعه دهندگان، سالها در نقشهای مختلف تجربه کسب کردند که باعث شده است تا پایه و اساس کاملی در حوزه طراحی وب داشته باشند. آنها در بحث فرانت اند، بک اند، فریمورکها، محیطهای سرور، شبکه و هاستینگ ماهر هستند و درباره منطق کسب و کار و مباحث مربوط به تجربه کاربری نیز اطلاعات کامل دارند.
توسعهدهندگان موبایل
توسعهدهندگان وب ممکن است در توسعه برنامههای تلفنهای همراه نیز تخصص داشته باشند (چه برای iOS و چه برای Android)
توسعهدهندگان iOS برنامههایی را تولید میکنند که به طور خاص با سیستم عامل iOS کار میکنند و تنها در دستگاههای ساخته شده توسط اپل قابل اجرا هستند. آنها به زبان برنامهنویسی Swift مسلط هستند؛ زبانی که اپل به طور انحصاری برای برنامههای خود ایجاد کرده است.
توسعهدهندگان Android برنامههایی را میسازند که با تمامی دستگاههای Android مانند تلفنهای هوشمند سامسونگ سازگار است. جاوا زبان رسمی برنامه نویسی برای سیستم عامل اندروید است.
ادامه این مطالب را در مقاله بعدی ارائه میدهیم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید