همکار در کدنویسی به صورت بلادرنگ مسئله ای است که در چند سال اخیر رشد بسیار زیادی داشته است، این مسئله بسته به رفتاری بوده که توسعهدهنده با کدها داشته است. در این مقاله قصد داریم تا بهترین مواردی که در این زمینه میتوانید استفاده کنید را به شما آشنا سازیم.
ابزارها
مطمئنم هر توسعهدهندهای در زندگی کاری خود این تجربه را داشته که برای کار خاصی یا اینکه همکاری را برای حل مشکلش پیدا کند، کدهایش را به اشتراک بگذارد. سناریوهای معمولی برای این حالت شامل ارائه پیشنمایشها، کپی کردن قطعات نرم افزاری، قرار دادن در یک مخزن و موارد بسیار دیگری بوده است.
ابزارهایی که در زیر قرار است ارائه شود، مجموعهای است که براساس تحقیقات، گذر از مستندات، آزمایش کردن به صورت شخصی و موارد دیگری انتخاب شده است. برخی از این ابزارها نیاز دارند که کدها در آن به محیط کاری پورت شوند اما برخی دیگر نیز یک محیط لوکال را برای شما ایجاد میکنند که مشکلی در این زمینه وجود نخواهد داشت.
۱. Atom
Teletype یک پکیج رایگان و متن باز است که به صورت مخصوص برای اتم طراحی شده است. برای افرادی که نگران امنیت به اشتراک گذاری هستند باید بگویم که این ابزار از یک ارتباط رمزنگاری شده PTP استفاده میکند. سرورها هیچوقت فایلهای شما را مشاهده یا ویرایش نمیکنند، بنابراین این موضوع باعث میشود که امنیت شما پایدار باشد و همکاری و به اشتراک گذاری کدهایتان بدون تاخیر انجام شود.
برای اینکه Teletype را نصب کنید میتوانید از دستور apm زیر در قسمت ترمینال خود استفاده کنید:
apm install teletype
همچنین میتوانید از قسمت مدیریت پکیجهای خود در ویرایشگر اتم، با وارد کردن «teletype» آن را نصب کنید. وقتی آن را نصب کردید، قدمهای زیر را انجام دهید:
- روی آیکون آنتن یا antenna در قسمت اعلان وضعیت اتم کلیک کنید (سمت راست پایین).
- با استفاده از گیتهاب احرازهویت کنید.
- Teletype را از طریق منو پکیجهای اتم انتخاب کنید و share portal را انتخاب نمایید.
- Portal ID تولید شده در قسمت پایین سمت راست ادیتورتان را کپی کنید.
- این کد را به هر طریقی که دوست دارید با مشارکت کننده به اشتراک بگذارید.
- در نهایت مشارکت کننده بعد از وارد کردن Portal ID، روی Join کلیک میکند و تمام.
بعد از وارد شدن به پورتال، مشارکت کنندگان یک تب جدید را مشاهده میکنند که با انتخاب آن میتوانند کدهای شما را مشاهده و تغییر دهند. هر فردی برای خود مکاننمای منحصر به فرد دارد و هرکسی میتواند در یک زمان کدنویسی بکند. اما نکته مهم اینجاست که تنها صاحب اصلی پورتال میتواند کدها را ذخیره بکند. در حال حاضر Teletype تنها قادر است که متون را ارسال کند، اما ایده بسیار خوبی است اگر یک اپلیکیشن ارتباط صوتی را نیز به آن اضافه نمایید. در نهایت سازندگان امیدوار هستند که بتوانند این مورد را نیز به صورت مستقیم در خود پکیج فراهم نمایند.
لینکهای کمکی برای ادامه دادن با این ابزار:
- teletype.atom.io
- teletype on GitHub
- Code together in real time with Teletype for Atom
- Introducing Teletype for Atom: Code collaboratively in real time
- Teletype by Atom on YouTube Zachary R Newton
۲. Brackets
این کد ادیتور که توسط ادوبی توسعه داده شده به شما امکان مشارکت کدها را از طریق یک پلاگین میدهد. برای شروع کار با این افزونه میتوانید قدمهای زیر را دنبال کنید:
- پوشهای که شامل پروژه شما میشود را باز کنید
- روی sync در قسمت ابزارهای سمت راست کلیک کنید
- آیدی همان قسمت را وارد کنید
- دوباره روی sync کلیک کنید و آن قسمت را ترک نمایید، میتوانید به سیستم ویس کال دسترسی داشته باشید و یا اینکه کدها را دریافت نمایید.
براکتس به صورت پیشفرض اجازه دسترسی میکروفون را نمیدهد، اما با وارد کردن دستور زیر میتوانید این امکان را برای قسمت صوتی فعال کنید:
brackets --args –enable-media-stream
این افزونه کدها را به سرور نویسنده اصلی ارسال میشود و تا زمانی که از نسخه WebRTC استفاده کنید، این موضوع به همین صورت خواهد بود.
لینکهای کمکی برای ادامه دادن با این ابزار:
- http://brackets.io
- multihack-brackets on GitHub
- multihack.github.io (web version)
3. Coda
کاربران Coda ممکن است این موضوع را ندانند که به صورت پیشفرض در این کدادیتور یک ویژگی برای همکاری بلادرنگ وجود دارد. این مورد توسط Coding Monkeys طراحی شده است و بعد از نسخه ۱ این مورد وجود داشته است. این مورد به کاربران اجازه میدهد که روی یک ارتباط LAN دو یا تعداد بیشتری از افراد با همدیگر ارتباط داشته باشند. این ارتباط میتواند با داشتن آيپی آدرس کامپیوترها انجام شود و یا اینکه میشود از یک Sharing URL برای ارتباط داشتن استفاده کنید.
این مورد اجازه میدهد که چندین فرد به صورت همزمان روی یک فایل به صورت بلادرنگ کار کنند.
برای کار کردن با این ویژگی نیاز است که کاربر گزینه file sharing را از منو preferences انتخاب کند. وقتی تمام شد:
- فایلی که برای اشتراک گذاری میخواهید را انتخاب کنید.
- روی دکمه Share کلیک کنید.
- آدرس به اشتراک گذاری را از منو > فایل کپی کنید.
- کاربر دیگر لینک را بررسی میکند و آن را از طریق ادیتور باز میکند. در نهایت فایل برای وی به نمایش درمیآید.
لینکهای کمکی برای ادامه دادن با این ابزار:
- coda homepage
4. SublimeText
Remote Collab یک پلاگین متن باز برای Sublime text است که اجازه میدهد چندین توسعه دهنده به صورت ریموت با همدیگر کار کنند و کدهایشان را با همدیگر به اشتراک بگذارند. این مورد را میتوانید در قسمت پکیج کنترل تحت عنوان «RemoteCollab» پیدا کنید.
- فایلی که قصد به اشتراک گذاری آن را دارید باز کنید.
- Command Palette را از قسمت ابزارها باز کنید.
- Remote: Host Session را انتخاب نمایید.
- آیپی آدرس خود را به همکارتان بدهید.
- مجددا Command Palette را از طریق قسمت ابزارها باز کنید.
- گزینه Remote: Connect to Session را انتخاب کنید.
- آیپی آدرس هاستی که میخواهید با آن ارتباط برقرار کنید را وارد نمایید.
- حال می توانید به صورت مشارکتی با هاست، فایل ها را ویرایش کنید.
لینکهای کمکی برای ادامه دادن با این ابزار:
- RemoteCollab (free/OS)
- remote-sublime (free/OS)
- floobits (paid)
- floobits-sublime on GitHub (paid)
5. CodePen
اگر با حساب Pro در Codepen آشنایی داشته باشید میدانید که از طریق Collab Mode میتوانید هرچند فرد را برای کار کردن روی یک پروژه اضافه کنید. وقتی Collab Mode را باز میکنید، آدرس هر پروژه یا Pen شما در قسمت نوار آدرس تغییر میکند. این آدرس را کپی کنید و با هرفردی که قصد همکاری دارید به اشتراک بگذارید.
اپلیکیشنهای مبتنی بر ابر مانند CodePen توسعهدهنده را ایجاب میکنند که برای کار روی کدهای خود تمام فایلها را روی محیط ابری قرار دهند و روند کاریشان را تغییر دهند. Collab همچنین با یک ویژگی گفتگو نیز عرضه میشود. این ویژگی اجازه میدهد که در یک جلسه کاری توسعهدهندگان با یکدیگر ارتباط برقرار کنند. هربار که فردی از آن استفاده میکند برای اطلاع رسانی یک نوتیفیکیشن فعال میشود و رنگ قسمت گفتگو نیز تغییر میکند. مشارکت کنندگان میتوانند کدها را ویرایش بکنند اما نمیتوانند آنها را مستقیما ذخیره نمایند، اما قابلیت لایک و انشعاب گرفتن را دارند. این افراد همچنین میتوانند فایلهای خارجی را اضافه کنند و تنظیمات را تغییر دهند.
بسته به پلنی که در این وبسایت دارید، شما با یکسری از ویژگیها محدود میشوید، به یاد داشته باشید که تنها کدنویس اصلی باید حساب Pro داشته باشد، افرادی که مشارکت میکنند نیازی به این موضوع ندارند. هر کس دیگری میتواند با یک حساب رایگان و یا حساب ناشناس روند همکاری را انجام دهد. این ابزار یکی از بهترین و سادهترین ابزارها برای همکاری کردن و مواردی مشابه است.
لینکهای کمکی برای ادامه دادن با این ابزار:
- codepen.io
- Collab Mode on CodePen blog
- Collab Session on Vimeo
6. Codeshare
Codeshare یک سرویس اپلیکیشن مبتنی بر وب است که هدف آن ساده بودن است. برای کار کردن با این ابزار نیاز است که کدهای محیط محلیتان را روی این ابزار پورت کنید، اما امکان بسیار خوب این ابزار توانایی چت به صورت تصویری در آن است. این موضوع را میتوان برای پیادهسازی در انواع مختلف سناریوها، بررسی کد، یادگیری، مصاحبه کاری و موارد دیگر به کار برد.
به اشتراک گذاری کدها در این ابزار رایگان است اما تا زمانی که در آن ثبت نام نکنید و وارد نشوید نمیتوانید فایلها را به صورت دائم ذخیره کنید، اگر به صورت ناشناس وارد شوید کدهایتان تنها ۲۴ ساعت ذخیره میشوند.
لینکهای کمکی برای ادامه دادن با این ابزار:
7. Visual Studio
مطمئنا با ويژوال استدیو کد آشنایی دارید، این ادیتور توسط مایکروسافت عرضه شد و بعد از عرضه، توانست علاقهمندان بسیاری را پیدا کند. همچنین در کنار این روی افزونهای به نام «Live Share» نیز کار کردند که میتواند همکاری را به صورت بلادرنگ بوجود بیاورد. Live Share به شما اجازه میدهد که محتوای کدهایتان را به اشتراک بگذارید. با استفاده از این افزونه میتوانید همکاری فوری و جهتیافتهای را دریافت کنید.
برای کار کردن با این ابزار نیاز است که ابتدا آن را نصب کنید و بعد از آن از طریق حساب مایکروسافتی وارد شوید. همچنین میتوانید از طریق حساب گیتهاب احرازهویت کنید. بعد از آن دعوت کننده یک لینک برای شما ارسال میکند که از طریق آن می توانید به تمام فایلهای موجود در پروژه دسترسی داشته باشید.
در گشتزنی من داخل این افزونه چند مورد کلی را پیدا کردم که شامل موارد زیر میشود:
- آیکون زیرین به شما اجازه میدهد که فردی که در حال ویرایش است را پیدا کنید.
- میتوانید یک محیط لوکال را از طریق پورت به سرور Live بیاورید.
- هر دو طرف میتوانند پروژهای که در حال کار روی آن هستند را ذخیره نمایند.
- پروژههای مبتنی بر نود میتوانند به صورت زنده دیباگ شوند.
من در حال حاضر یکی از کاربران اتم هستم اما با دیدن امکاناتی که Live Share ارائه میدهد بسیار علاقه پیدا کردهام که به ویژوال استدیو مراجعه کنم.
لینکهای کمکی برای ادامه دادن با این ابزار:
- code.visualstudio.com
- Introducing Visual Studio Live Share
- VS Code: Showcasing The Power of Real Time Collaboration (and Other Cool Features) on YouTube
- Introducing Visual Studio Live Share video
8. Slack
اولین باری که از Screenhero (حال با Slack ادغام شده است) استفاده کردم، واقعا متعجب و شگفت زده شدم، این ابزار اجازه میدهد که ابزارتان را به صورت ریموت کنترل کنید.
وقتی که قابلیت تماس ویدیویی نیز برقرار شد از آن به بعد دیباگ کردن و کنترل کردن موارد بسیار آسان شد. البته این مورد حال در Slack پولی است و برای اکانتهای رایگان مهیا نیست.
لینکهای کمکی برای ادامه دادن با این ابزار:
- slack.com
- Share your screen with Slack Calls
- Screen Hero for Remote Pair Programming screen sharing on YouTube
9. Codeanywhere
این کد ادیتور از ابتدا با در نظر گرفتن قابلیت همکاری ایجاد و طراحی شد. همچنین در آن یک ترمینال داخلی وجود دارد که به کاربران امکان دسترسی به FTP، SSH و… را میدهد.
با استفاده از Codeshare همکاری به صورت ریموت بسیار ساده است، تنها کافیست لینک همکاری را برای اعضایی که میخواهید همکاری داشته باشند ارسال کنید. مشارکتکنندگان بعد از کلیک روی لینک وارد وبسایت میشوند و پس از مجوزهایی که کاربر اصلی وضع میکند میتواند مشاهداتی داشته باشد. البته میتوانید تمام پروژه که شامل فایلها و پوشههای مختلف میشود را نیز با افرادی دیگر به اشتراک بگذارید. میتوانید روند برنامهنویسی افراد دیگر و مشارکتکنندگان را نیز در این کد ادیتور مشاهده کنید. هیچ محدودیتی نیز برای تعداد افراد در نظر گرفته نشده است.
لینکهای کمکی برای ادامه دادن با این ابزار:
در پایان
مطمئنا تعداد بسیار بیشتری ابزار برای اینکه توسعهدهندگان بتوانند با همدیگر کار کنند وجود دارد. آیا تا به حال از ابزاری لیست بالا استفاده کردهاید؟ چه چیزهایی به خوبی کار میکردند و چه چیزهایی نه؟ آیا تجربهای مشابه دارید؟ بسیار دوست داریم که نظرات و دیدگاه شما را نیز متوجه شویم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید