ساخت یک وبسایت آسونتر از ده سال پیشه یا ساختتر؟ کیفیت پایه یک وبسایت بیشتر شده یا کمتر؟ من هیچ داده آماریای براتون ندارم؛ اما بدون هیچ اولویتی میتونم براتون نظراتم رو ارائه بدم.
HTML5 تنها تغییر بزرگ HTML در دهه گذشته بود و عملا خیلی مهیج نبود. جالبه که این نسخه، نسبت به قبلیها مثل HTML3، نسخه آزادتریه. این نسخه، قابلیت تطبیق بالاتری داره؛ مثلا، شاید برچسبم (<br />) رو ببند و شاید نبندم (<br>). داشتن برچسب های معنایی بهتر (برای مثال article ) عالیه. مدلهای ورودی شگفت انگیزن. ولی هیچ کدوم اینها باعث نمی شه که HTML به طرز قابل توجهی ساده یا سختتر شده باشه.
CSS ساده تر شده. تعداد کارهای فنی موجود در این زبان برنامهنویسی مدام در حال کمتر و کمتر شدنه. من بی اغراق میتونم این رو اعلام کنم. CSSای که ما امروزه مینویسیم به نظر خیلی مستقیم و نزدیک به ماهیت اون در ذهن ماست. احساس میکنم که ده سال پیش هر عنصری توی این زبان، یک کارکرد عجیب هم داشت، و امروز تقریبا هیچ کدوم ندارند. اگه CSS ذرهای به نظر سختتر میاد، من شرط میبندم به این دلیله که سایتهایی که ما الان میسازیم بزرگتر و پیچیدهترند، پس سیستمهای طراحیشون باید قویتر باشه و احتمال این که ایراد داشته باشند، خیلی زیاده.
مطمئنا هم راجع به سختتر شدن و هم راجع به آسونتر شدن جاوااسکریپت نظرات متفاوتی وجود داره. خود زبان، شاید، با تمام نوآوریهای نحویش... شاید آسونتر شده باشه. اما چیزی که از جاوااسکریپت خواسته میشه تا انجام بده، و کاری که ما باهاش انجام می دیم، به طور وحشتناکی وسیعتر شده و این مسئله بدون شک باعث شده که جاوااسکریپت به یک زبان سخت تبدیل بشه. میشه گفت که این زبان برنامهنویسی از این لحاظ به CSS شبیهه، اما حتی از اون هم سختتر شده؛ چون ما تنها همون کاری که قبلا با اون انجام میدادیم رو انجام نمیدیم؛ بلکه داریم رابطهای کاربری کاملی رو در این زبان به شکلی می سازیم که قبلا نمیساختیم.
اشاره به این مسئله مهمه، چون یک قدم خیلی مهم در مسیر راهاندازی یک وبسایته.
فکر نمی کنم که خرید یک نام دامنه آسونتر شده باشه. نام های دامنه یک بازار کالای خامه، پس کمپانیهایی که اونها رو به شما میفروشند دارن اونها رو به یه دلیل دیگه میفروشند. به زبان ساده، اونا قصد دارند که در کنار دامنه، سایر محولات خودشون رو هم به شما بفروشند. در مورد فردی که کاملا بی تجربه است، می تونم تصور کنم که اون در این بین کاملا سرگشته است و یا حتی اون قدر توو این بازار گیج میشه که حتی نمیتونه حجم سرگشتگی رو درک کنه. با خودش میگه: یه پیج بیلدر بگیرم؟ مجبورم یه پیج بیلدر بگیرم؟ آیا به این محافظ WHOIS نیاز دارم؟ اوه خدایا، اصلا DNS چیه؟ حدس می زنم که ایمیل رو قطعا نیاز دارم، درسته؟ یا اون مثلا یه ایمیل عجیب با هاست خاص لازمه؟ ای وای. من مساوی اعلامش میکنم. در این یک دهه، هیچ چیزی چندان سختتر یا آسونتر نشده.
اون قدر پول زیادی در هاستینگ در گردشه که این که نوآوری دیگهای در این زمینه نمی بینیم، من رو شوکه میکنه. میتونم بگم که این روزها هاستینگ کمی آسونتر شده. ولی هاستینگ رده پایین نسبت به ده سال قبل تفاوت چندانی نکرده. هنوز هم در این رده شاهد همون فرایندهایی هستیم که ده سال پیش اتفاق میافتاد.
هاستینگ در مقیاس بزرگ شاهد نوآوریهای جذابی بوده؛ مثلا AWS یه نوآوری بزرگ به حساب میاد؛ اما گمون نکنم کسی باشه که این نوآوری رو ساده به حساب بیاره. بیش ترین نوآوری حال حاضر، کار شرکتهایی مثل Netfly و Zeit بوده که به تجربهی توسعه دهندهها نگاهی کلی دارند. از ایجاد ابزارهایی برای تسهیل مدیریت محلی سایت، تا آزمایش ساختارها در مراحل مختلف و پیدا کردن شکاف های امنیتی. خیلی دوست دارم که همه شرکتهای هاستینگ متوجه بشن که تک تک مشتریهاشون نیاز دارند که کدهاشون رو به پلتفرمهاشون انتقال بدن و اون ها این فرصت رو دارن که به ما کمک کنند که این کار رو به صورت مستقیم انجام بدیم.
من فکر کردن راجع به HTML، CSS و جاوا اسکریپت رو دوست دارم. ولی البته تعداد خیلی کمی از مردم با این فناوریها شروع به ساخت وبسایت میکنند. در واقعیت، با اونها به عنوان فناوریهای زیربناییای برخورد میشه که جاهایی در کنار تعداد خیلی زیادی فناوری دیگه ازشون استفاده می شه.
شما می تونید با استفاده از یه فایل index.html یه وبسایت کامل بسازید. به نظرم آدمهای بیشتری باید این کار رو انجام بدن. ولی مردم به دنبال راههای کاملتر و قابلیت شخصیسازی بیشترند. میدونم که من هم این کار رو میکردم. از اولین وبسایتهایی که من ساختم wordpress بودند چون یک وبسایت کامل توی یک باکس بود (با درگیری های خودش) و من به دلخواه خودم ساختمش. مردم هنوز هم امروزه این کار رو می کنند؛ احتمالا بیش تر از ده سال پیش، و من احساس نمیکنم که استفاده از وردپرس به طرز قابل توجهی سختتر یا آسونتر شده باشه. این روش همچنان از همون مسیر آشنای قدیمی به نتیجه میرسه. چند وقت پیش یه وبسایت یک صفحهای index.html ساختم، فقط برای این که توسط یه توسعه دهنده دیگه استفاده بشه و اون برنامه نویس، تبدیلش کرد به یک سایت create-react-app ؛ اما سایر پارامترها رو تغییر ندادند. اونها نمیدونستند بدون react چه جوری روش کار کنند.
مثلا اونها از wordpress یا squarespace یا wix یا shopify یا BigCommerce استفاده میکنند؛ میدونید که منظورم چیه. مسئله کاری که مردم میتونند انجام بدن نیست؛ مسئله کاریه که مردم واقعا انجام میدن. و برای بیشتر مردم، این نرمافزارها راهی برای سادهتر کردن فرایند ساخت یک وبسایت به شمار میاد.
پس برای یه آدم عادی، ساختن یه وبسایت سختتر شده یا آسونتر؟
وقتی داریم راجع به خلق کردن چیزی از صفر صحبت می کنیم، بد نیست که بدونیم که در این مبحث چه افرادی احساس میکنند که کنترل رو در دست دارند. تمام ایده این پست از یک مکالمه که با یک توسعهدهنده فرانت اند به وجود اومد. دوستی که ازش خواسته بودند که یک وبسایت بسازه. اون رد کرد چون کارفرماش دقیقا نمیدونست که چی میخواد.
بخشی از این ماجرا مایه تعجب من نمیشه. در همین لحظه که من در حال نوشتن این مطلبم ، دنیا پر از توسعه دهندههای مخصوص ریاکته که دارند روی سایتهای بزرگ کار میکنند. بخشی از این قضیه به خاطر نیاز بازار و بخشی از اون هم دلایل دیگهای داره. اونها در یک اکوسیستم مشخص خیلی خلاقانه کار میکنند و درک صحیحی از اون دارند؛ اما راجع به کلیت ماجرای ساخت یک سایت، درک کاملی ندارند.
متخصصین، متخصصند!
بخش دیگهای از ماجرا من روکاملا متعجب کرده. همونطور که می دونید، یه فایل index.html که حاوی جمله :«سلام، دنیا!» باشه هم میتونه یه وبسایت باشه؛ درسته؟ دیوایسهای ریاکت به صورت کلی برای create-react-app طراحی شدهاند و با اونها میشه یه سایت رو راه انداخت. ابزارهایی مثل Stackbit یه وبسایت JAMstack براتون سر هم میکنه که میتونه به هر چیزی که دوس دارین تبدیل بشه. این روزا برای توسعهدهندهها، خیلی راحتتر شده که یه وبسایت رو صفر تا صد راه بندازن.