در دنیای امروز، دانستن حداقل یک زبان برنامهنویسی، میتواند برای شما یک امتیاز ویژه محسوب شود. با توسعه مهارتهای خود در برنامهنویسی، شما قادر خواهید بود تا پس از گذشت چند ماه، کسب و کاری ایجاد کنید یا به استخدام یک شرکت نرمافزاری درآیید.
یکی از چارچوب (framework) های مطرح در دنیای برنامهنویسی چارچوب «روبی آن ریلز» (به انگلیسی: Ruby on Rails) نام دارد که با زبان برنامهنویسی روبی و معماری MVC ساخته شده است و همچنین برای شما امکان استفاده از معماری Rest و مفاهیم مربوط با آن (همچون احراز هویت JWT) را به سادگی فراهم میآورد.
زبان برنامهنویسی روبی در دهه ۹۰ میلادی و توسط شخص «یوکیهیرو ماتسوموتو» (Yukihiro Matsumoto) با ایدهگیری از زبانهایی چون ایفل، اسمالتاک و پرل ساخته شد. این زبان، ابتدا ساخته شد تا زبانی برای پردازش متن و جایگزینی برای Perl در سیستمهای شبهیونیکس (مانند لینوکس یا مکینتاش) باشد. اما دیری نپایید که روبی راه خود را به سایر حوزهها همچون توسعه وب نیز باز کرد.
در سال ۲۰۰۵، شخص «دیوید هاینمایر هنسن» (که در فضای مجازی با نام DHH نیز شناخته میشود) وبسایت و اپلیکیشن Basecamp (که یک ابزار برای مدیریت تیم و پروژه است) را با زبان روبی توسعه داد. پس از آن، چارچوب توسعه نرمافزار را از پروژه خود استخراج کرد و سپس با نام «روبی آن ریلز» به جهانیان عرضه کرد.
دیری نپایید که بسیاری از توسعهدهندگان و مهندسین نرمافزار از سراسر دنیا، به روبی آن ریلز رو آورده و پروژههای خود را با آن پیش بردند.
روبی آن ریلز حتی باعث ایدهگیری افراد برای توسعه ابزارها و چارچوبهای جدیدی چون لاراول (زبان PHP) و یا ASP .NET MVC (تکنولوژی مایکروسافت مبتنی بر زبان برنامهنویسی سیشارپ) و … شد.
همچنین بسیاری از کسب و کارها و شبکههای اجتماعی موفق و مطرح جهان نیز از روبی آن ریلز استفاده کردند که از نامدارترینها میتوان به AirBnB, Shopify, Github و توییتر اشاره کرد (لازم به ذکر است که توییتر هماکنون از روبی آن ریلز استفاده نمیکند).
پروژههای اوپن سورس نیز از این قاعده مستثنی نبودند و خیلی سریع، به سمت روبی آن ریلز آمدند. پروژههایی مانند Greenlight (که ابزار مدیریت نرمافزار Big Blue Button محسوب میشود)، شبکه اجتماعی نامتمرکز ماستودون، گیتلب، ابزار مدیریت پروژه Redmine و همچنین نخستین پروژهای که با روبی آن ریلز ساخته شد، یعنی Basecamp همه و همه با روبی آن ریلز نوشته شده اند.
اما سوال مهم این است که چگونه میتوانیم روبی آن ریلز را یاد بگیریم؟ و این که آیا یادگیری روبی آن ریلز، میتواند به کسب درآمد یا شروع کسب و کار ما کمک کند؟
در این مطلب هدف غایی این است که علاوه بر آشنایی شما با روبی آن ریلز، نقشه راهی برای یادگیری آن نیز برای شما ترسیم شود.
برای یادگیری روبی آن ریلز، مانند هر چارچوب دیگری، شما نیاز دارید که ابتدا پایههای برنامهنویسی را در خود تقویت کنید. یادگیری زبان روبی به نسبت سایر زبانهای برنامهنویسی سادهتر و شاید سریعتر باشد، اما در نهایت قرار است شما را در مسیر استخدام در شرکتهای بزرگ و یا همچنین ایجاد کسب و کار خودتان، یاری کند.
پس از یادگیری زبان روبی، شما نیاز دارید تا با مفاهیم مرتبط با توسعه وب آشنا شوید. یادتان باشد که یکی از پرکاربردترین پروتکلهای وب در دنیای حال حاضر HTTP است و شما نیاز دارید تا این پروتکل و متدهای آن را فرا بگیرید.
معمولا لازم است تا شما GET, POST, PUT و DELETE را بلد باشید. این متدها ذهن شما را با مفاهیم CRUD آشنا میکند. همچنین لازم است تا با مفاهیمی مانند REST و MVC نیز آشنا باشید (برای یادگیری میتوانید به اینجا مراجعه کنید). این به این معناست که شما لازم دارید تا کمی با مفاهیم مهندسی نرمافزار نیز آشنایی داشته باشید.
قدم بعدی، این است که شما پایگاه دادهها را یاد بگیرید. روبی آن ریلز به صورت پیشفرض، از پایگاه داده های رابطهای به واسطه Active Record پشتیبانی مینماید. همچنین به واسطه ORM (Object relational mapping یا نرمافزاری که واسطه آن چارچوب میتواند با پایگاه داده ارتباط برقرار کند) های دیگر، میتواند با پایگاه داده های غیر رابطهای مانند MongoDB نیز ارتباط برقرار کند.
پس از آشنایی با مفاهیم پایهای مهندسی نرمافزار و پایگاه داده، شما میتوانید نخستین پروژه MVC خود را با روبی آن ریلز ایجاد کنید. اما دقت کنید که معماری MVC به جز موارد خاص، در دنیای امروز معماری مردهای محسوب میشود. پس راه حل ما چه خواهد بود؟ راه حل ما این است که به سراغ معماریهای جدیدتر و شاید کاراتر، مانند REST برویم.
پس از این که با CRUD و REST آشنا شدید (لینک آموزش)، میتوانید با پروژههای جدیتری پیش بروید. اما یادتان باشد که این، همه ماجرا نیست.
پس از این که نخستین پروژه REST خود را نوشتید، لازم است تا برای آن یک سیستم احراز هویت طراحی کنید. بهتر است برای احراز هویت، به روشهایی مانند OAuth (که امکان ثبتنام یا ورود با شبکههای اجتماعی را فراهم میآورد، مثل ورود با گوگل یا فیسبوک) یا JWT (مخفف JSON Web Token) فکر کنید (یا از این لینک یاد بگیرید) و از پیادهسازیهای مربوط به آنها، ایده بگیرید.
پس از این که شما نرمافزاری نوشتید که هم احراز هویت داشت و هم پایههای مهندسی نرمافزار در آن رعایت شده بود، میتوانید با قرار دادن کد و مستندات (Documentها، راهنمای استقرار و …) در وبسایتهای اشتراک کد مانند Github یا Git Lab آن را بعنوان نمونهکار خود عرضه کنید.
داشتن این نمونه کارها، باعث میشود تا شما پروسه استخدام را راحتتر طی کرده و یا برای شروع کسب و کار خود، راحتتر بتوانید با سایر توسعهدهندگان ارتباط بگیرید.
در انتها، لازم است اشاره شود که دنیای تکنولوژی به صورت روزانه در حال پیشرفت است و برای یادگیری و بهبود مهارتها، لازم است که همیشه در حال یادگیری و تحقیق باشید.
#توجه: این مطلب یک رپرتاژ تبلیغاتی بوده و محتوای آن توسط تبلیغ دهنده تهیه و نگارش شده است.
دیجیرو مسئولیتی در قبال محتوای تبلیغاتی ندارد.