در این مقاله قصد داریم به مصاحبه ای که در اواسط سال 2017 با ایوان یو (Evan You)، خالق فریمورک Vue.js، انجام شده، بپردازیم. در این مصاحبه، مصاحبه کننده سوالاتی از ایوان یو می پرسد و پاسخ هر یک از این سوالات نیز از زبان ایوان داده می شود.
مصاحبه با ایوان یو خالق Vue.js:
کمی از دوران کودکی خود و اینکه کجا بزرگ شده اید، بگویید.
من در چین به دنیا آمدم، زادگاه من شهر ووکسی (Wuxi) نام دارد. ووکسی یک شهر متوسط است که در کنار شانگهای قرار دارد. در واقع من سه سال برای دبیرستان به شانگهای که حدود 150 کیلومتر فاصله داشت می رفتم. بعد از دبیرستان برای کالج به آمریکا رفتم. چون فکر میکردم که در آمریکا زودتر به رایانهها دسترسی پیدا می کنم، اما پس از ورود به آمریکا واقعاً زیاد وارد برنامهنویسی نشدم. من بیشتر به بازیهای رایانه ای علاقه داشتم و زمانی که دبیرستان بودم با Flash بازی میکردم، زیرا واقعاً از تجربیات داستانگویی تعاملی لذت میبردم.
اولین تجربه برنامه نویسی شما چه بود؟
صادقانه بگویم، وقتی به کالج در ایالات متحده رفتم، نمیدانستم میخواهم چه کاره شوم و در هنر استودیو و تاریخ هنر تحصیل میکردم. وقتی می خواستم فارغ التحصیل شوم، متوجه شدم که پیدا کردن شغلی در زمینه هنر استودیویی و تاریخ هنر بسیار سخت است.
فکر کردم شاید بتوانم یک کارشناسی ارشد هنرهای طراحی بگیرم که بیشتر با علایقم مطابقت داشته باشد و مهارت های بیشتری را توسعه دهم. من به پارسونز (مدرسه ای در نیویورک آمریکا که برای یادگیری کارهای طراحی تأسیس شده است) رفتم و کارشناسی ارشد هنرهای زیبایی را برای طراحی و فناوری خواندم. واقعاً برنامه جالبی بود زیرا همه افراد نیمی طراح و نیمی توسعه دهنده بودند. در آنجا چیزهایی مانند openFrameworks، پردازش، انیمیشن های الگوریتمی را به ما آموزش می دادند و همچنین مجبور بودید برنامه ها و رابط ها را طراحی کنید.
پارسونز واقعاً جاوا اسکریپت زیادی را آموزش نداد، اما من به دلیل توانایی ساختن چیزی و به اشتراک گذاری آنی آن با جهان، جذب جاوا اسکریپت شدم. به راحتی می توانستم آن را در وب قرار می دهم، و یک URL دریافت می کنم، سپس آن را برای هر کسی که مرورگر دارد ارسال کنم. این بخشی بود که من را جذب وب و جاوا اسکریپت کرد.
در آن زمان، افزونه های کروم به تازگی منتشر شده بود و من کاملاً متحیر شدم. بلافاصله وارد جاوا اسکریپت شدم و خودم شروع به یادگیری آن کردم و شروع به ساختن چیزهایی شبیه به افزونه های کروم کردم. من آن چیزها را در نمونه کار خود قرار دادم و سپس به نوعی توسط بخش استخدام آزمایشگاه خلاق Google دریافت شد. من به عنوان بخشی از گروه به برنامه پنج پیوستم. هر سال آزمایشگاه خلاق، پنج فارغ التحصیل جدید جذب می کند. اساساً یک تیم کوچک با یک کپیرایتر، یک فنآور خلاق، یک طراح گرافیک، یک استراتژیست و یک عمومی کار (wildcard) است.
خوب، چه زمانی یا چگونه Vue.js را کشف کردید؟
کار من در شرکت گوگل شامل نمونه سازی زیادی در مرورگر بود. ما این ایده را داشتیم و میخواستیم هر چه سریعتر به چیزی ملموس برسیم. در آن زمان برخی از پروژه هایی که ما با آن درگیر بودیم از Angular استفاده می کردند. تنها چیزهایی که من در Angular از آنها استفاده می کرد، دو ویژگی منحصر به فرد آن یعنی اتصال داده (data binding) و کار با DOM بود. اما Angular مفاهیم زیادی داشت که استفاده از آنها کار دشوار و سنگینی بود. با توجه به این موضوع، این ایده عالی را داشتم که تنها مفاهیمی را از Angular استخراج کنم که به آنها نیاز دارم و در عین حال چیزی سبک باشد. این همان چیزی است که در نهایت به Vue.js منجر شد.
من روی آن کار کردم و احساس کردم پتانسیل بالایی دارد، زیرا خودم از استفاده از آن لذت بردم. کمی بیشتر برای آن وقت گذاشتم و به درستی دسته بندی کردم، نامش را Vue.js گذاشتم. این موضوع در سال 2013 بود. بعداً فکر کردم، “من زمان زیادی برای این کار گذاشتم. شاید باید آن را با دیگران به اشتراک بگذارم تا حداقل از آن بهره ببرند، یا شاید برایشان جالب باشد.”
در فوریه 2014، اولین بار آن را به عنوان یک پروژه واقعی منتشر کردم. من آن را در Github قرار دادم و یک لینک به Hacker News فرستادم و در واقع به صفحه اول رای داده شد. چند ساعتی آنجا ماند. بعداً، مقالهای نوشتم تا دادههای استفاده از هفته اول و آموختههایم را به اشتراک بگذارم.
این اولین تجربه من از دیدن افرادی بود که به Github میرفتند و در یک پروژه فعالیت میکردند. فکر می کنم در هفته اول چند صد ستاره گرفتم. اون موقع فوق العاده هیجان زده بودم.
اگر بخواهید چند چیز اصلی را فهرست کنید که Vue در مقایسه با سایر فریمورک ها تعریف میکند، چه میگویید؟
من فکر میکنم، از نظر تمام فریمورکهای موجود، Vue احتمالاً شبیهترین فریمورک به React است، اما در یک مفهوم گستردهتر، در بین همه فریمورکها، اصطلاحی که خودم ابداع کردم یک فریمورک پیشرو است. ایده این است که Vue از این هسته تشکیل شده است که فقط اتصال داده و کامپوننت مشابه React دارد. این یک مجموعه بسیار متمرکز و محدود از مشکلات را حل می کند. در مقایسه با React، Vue کمی تمرکز بیشتری روی قابلیت دسترسی دارد. اطمینان از اینکه افرادی که اصول اولیه مانند: HTML، جاوا اسکریپت و CSS را می دانند، می توانند آن را با بیشترین سرعت ممکن یاد بگیرند.
شما اشاره کردید که توانستید حامی مالی پیدا کنید زیرا این پروژه خیلی سریع رشد کرد. آیا مجبور بودید بازاریابی انجام دهید؟ یا پروژه به صورت ارگانیک رشد کرد؟
به نظر من هیچ پول واقعی در بازاریابی وجود ندارد. من نه تبلیغاتی خریدم نه چیز دیگری. بیشتر، فقط چند پست وبلاگ نوشتم. خیلی اوقات من فقط حساب توییتر را مدیریت می کردم. گاهی اوقات من یک پست در Medium می نوشتم.
شما در نهایت در بازارهای بین المللی جذابیت زیادی کسب کردید، که احتمالاً بسیار منحصر به فرد است. ما دوست داریم که بدانیم برخی از چالشها و بهترین روشها برای تعامل با توسعهدهندگان خارج از ایالات متحده چگونه این اتفاق افتاد.
بازار چین بی نظیر است. من چینی هستم و بسیار درگیر جامعه جاوا اسکریپت چینی هستم. بسیاری از مردم Vue را میشناختند زیرا من را میشناختند. ما تمام این ترجمه اسناد Vue را به چینی واقعاً خوب نوشتیم، بنابراین به پذیرش Vue در چین کمک زیادی کرد. بسیاری از کاربران همچنین میدانند، "نویسنده این کتابخانه چینی است." Vue به تازگی توسط شرکتهای بیشتری در چین، از جمله تیمهایی در Alibaba، Tencent و Baidu استفاده میشود. اینها همه شرکت هایی با ارزش میلیارد دلاری در چین هستند. React نیز در چین دارای افکار بسیار بزرگی است.
یک کلون Quora در چین به نام Zhihu وجود دارد، مردم انواع سؤالات تصادفی را در آنجا می پرسند و من به بسیاری از سؤالات جاوا اسکریپت و Vue.js برای آنها پاسخ می دهم.
آیا پیشنهادی برای شرکتها، استارتآپها یا پروژههای منبع باز دارید که به راحتی قادر به تعامل یا برقراری ارتباط با جوامع بینالمللی نیستند؟
من حدس می زنم که مانع یادگیری زبان احتمالاً سخت ترین قسمت باشد. ایده این است که اگر واقعاً تلاش اختصاصی برای پیشبرد چیزی در کشور چین انجام ندهید، هیچ کس متوجه آن نخواهد شد، مگر اینکه به اندازه React باشید. شما به کسی نیاز دارید که بتواند چینی صحبت کند، کسی که بتواند چینی بومی صحبت کند تا واقعاً این کار را انجام دهد.
نکته جالب دیگر این است که در واقع کاربران زیادی از دیگر مناطق جهان مانند ایتالیا، اسپانیا، پرتغال و ژاپن وجود دارند. برخی از فعال ترین مشارکت کنندگان از ژاپن هستند. آنها واقعاً در ترجمه اسناد دقیق هستند.
چه چیزی را یک نتیجه موفق برای Vue.js در نظر می گیرید؟
این یک سوال سخت است زیرا دامنه Vue.js قطعاً در طول زمان افزایش یافته است. ما اکنون کل این اکوسیستم فریمورک را داریم، و همچنین در حال گسترش برای کشف مواردی مانند Weex (منظور همان Vuex است که در حال حاضر در این فریمورک قابل استفاده است) هستیم که اجزای Vue را به یک رابط کاربری بومی ارائه میکند.
من همچنین واقعاً به بخش دسترسی پذیری Vue اهمیت می دهم که ریشه در این باور دارد که فناوری باید افراد بیشتری را قادر به ساختن چیزها کند.
برخی از قهرمانان برنامه نویسی خود را نام ببرید.
واضح است که TJ Holowaychack (بنیانگذار و توسعه دهنده نرم افزار Apex) و Guillermo Rauch (بنیانگذار Vercel و توسعه دهنده چند نرم افزار دیگر). من مدرک رشته علوم کامپیوتری ندارم، من اساساً برنامه نویسی را از طریق منابع و کتاب های آنلاین تصادفی یاد گرفتم، اما راه مهمی که یاد گرفتم فقط با خواندن کد دیگران بود. وقتی کدهای TJ را می خوانم، همیشه احساس می کنم که واقعاً تمیز و ظریف است. این کلمه ای است که به ذهنم می رسد و من را بسیار تحت تأثیر قرار می دهد. تی جی قطعاً برای من یک قهرمان است.