Προγραμματισμός

Το GitHub παίρνει το Visual Studio Code online

Στην ομιλία του στην πρόσφατη δορυφορική εκδήλωση του GitHub, ο διευθύνων σύμβουλος Nat Friedman είπε: «Στην εποχή της κοινωνικής απόστασης, οι άνθρωποι στρέφονται στην κοινωνική κωδικοποίηση». Δουλεύουμε από το σπίτι, χρησιμοποιώντας τα εργαλεία που είναι ενσωματωμένα στο GitHub για να αντικαταστήσουμε τα κενά στη ροή εργασίας μας που ήταν γεμάτα με αλληλεπιδράσεις με συναδέλφους. Εργαλεία όπως το GitHub έχουν γίνει κάτι περισσότερο από το μέρος που αποθηκεύουμε και μοιράζουμε τον κώδικα. Είναι τώρα οι εικονικοί χώροι εργασίας μας, που περιλαμβάνουν περισσότερες από τις ροές εργασιών ανάπτυξης.

Η σχέση μεταξύ GitHub και Microsoft είναι ενδιαφέρουσα. Η Microsoft κατέχει το GitHub, αλλά λειτουργεί ως ξεχωριστή οντότητα με πολύ λίγη επαφή μεταξύ των δύο οργανισμών. Είναι ένα τμήμα που έχει νόημα, καθώς ο ρόλος του GitHub ως παγκόσμιου αποθετηρίου για αποκλειστικό λογισμικό και λογισμικό ανοιχτού κώδικα απαιτεί να είναι ένας ουδέτερος κόμβος — ένα λογισμικό Ηνωμένων Εθνών. Αυτό επέτρεψε στο GitHub να συνεχίσει να λειτουργεί με τη δική του υποδομή, με βάση τα δικά του εργαλεία και τεχνολογίες. Εν τω μεταξύ, η Microsoft αύξησε τις εξαρτήσεις της από το GitHub, δημιουργώντας τα δικά της εργαλεία στο πλαίσιο του GitHub's Electron και χρησιμοποιώντας το GitHub στις δικές του διαδικασίες ανάπτυξης.

Δημιουργήστε το στο GitHub Codespaces

Είναι ενδιαφέρον να βλέπουμε το GitHub να χτίζει ένα από τα νεότερα χαρακτηριστικά του πάνω από μια τεχνολογία Microsoft (αν και διαθέτει ισχυρή βάση ανοιχτού κώδικα). Η Microsoft άλλαξε πρόσφατα το όνομα του περιβάλλοντος ανάπτυξης που φιλοξενείται στο cloud από το Visual Studio σε Visual Studio Codespaces και το Satellite είδε το GitHub να λανσάρει ένα παρόμοιο προϊόν χρησιμοποιώντας το ίδιο όνομα.

Είναι σημαντικό να σημειωθεί ότι παρόλο που τόσο το Visual Studio Codespaces όσο και το GitHub Codespaces είναι κατασκευασμένα πάνω από το πρόγραμμα επεξεργασίας κώδικα Visual Studio της Microsoft, είναι πολύ διαφορετικά προϊόντα. Καθώς το Visual Studio Code χρησιμοποιεί το GitHub's Electron, είναι μια εφαρμογή TypeScript. Αυτό καθιστά εύκολη τη μεταφορά στο Διαδίκτυο και τα σύγχρονα προγράμματα περιήγησης στο Web, με τον ανοιχτό κώδικα του επεξεργαστή κώδικα του Μονακό. Η Microsoft χρησιμοποιεί το Codespaces ως έναν τρόπο για να επεκτείνει το περιβάλλον ανάπτυξης της επιφάνειας εργασίας σας στο cloud και να το μοιραστεί με ad hoc συνεργάτες. Το GitHub αντιμετωπίζει τους Codespaces πολύ διαφορετικά, δίνοντάς σας ένα περιβάλλον επεξεργασίας που φιλοξενείται από πρόγραμμα περιήγησης ως μέρος ενός αποθετηρίου κώδικα.

Η ιδέα πίσω από το GitHub Codespaces είναι να δοθεί στους συνεργάτες πρόσβαση στον κώδικα καθώς αλλάζει, οπουδήποτε κι αν είναι: έλεγχος κώδικα, εργασία με ζητήματα που έχουν εγγραφεί ή έλεγχος κώδικα που έχει υποβληθεί με αίτημα έλξης. Είναι ένας τρόπος να μεταβείτε γρήγορα σε ένα αποθετήριο για να επεξεργαστείτε κώδικα, εάν έχετε ένα δωρεάν λεπτό και ένα σύγχρονο πρόγραμμα περιήγησης στο Web. Εάν προτιμάτε να χρησιμοποιήσετε ένα πρόγραμμα επεξεργασίας, η επέκταση του Visual Studio Codespaces για τον κώδικα VS θα λειτουργεί επίσης με το GitHub Codespaces.

Η δημιουργία περιβάλλοντος ανάπτυξης cloud στο GitHub Codespaces σας δίνει την επιλογή να ορίσετε τους προεπιλεγμένους πόρους που χρησιμοποιεί ο επεξεργαστής ως μέρος ενός αποθετηρίου, χρησιμοποιώντας γνωστά dotfiles. Οι χρήστες μπορούν να έχουν τις δικές τους διαμορφώσεις, οι οποίες φορτώνονται από το προφίλ τους. Υπάρχει υποστήριξη για το υπάρχον μοντέλο επέκτασης του VS Code και το Visual Studio Code Marketplace, ώστε να μπορείτε να εγκαταστήσετε τις επεκτάσεις που χρειάζεστε για να εργαστείτε με ένα συγκεκριμένο έργο. Εάν εργάζεστε με μια εφαρμογή Go, μπορείτε να εγκαταστήσετε τις κατάλληλες επεκτάσεις Go. Το ίδιο για τα Rust, C # και Flutter. το περιβάλλον GitHub Codespaces είναι τόσο ευέλικτο όσο ο ίδιος ο κώδικας

Για να επιταχύνει τα πράγματα, το GitHub προσφέρει ένα αποθετήριο προκαθορισμένων εκδόσεων κοντέινερ Codespaces, με παρουσίες για Node, Go, .NET Core, C ++ και άλλα. Αυτά περιλαμβάνουν εργαλεία για την κατασκευή και τον εντοπισμό σφαλμάτων κώδικα, που εκτελούνται στο κοντέινερ Codespaces. Παραδίδοντας μια ολόκληρη αλυσίδα εργαλείων σε ένα κοντέινερ, μπορείτε να κάνετε πολλά περισσότερα από την επεξεργασία κώδικα, για παράδειγμα δοκιμή και επαλήθευση αλλαγών πριν από τη συγχώνευση ενός αιτήματος έλξης.

Κάθε πρόγραμμα επεξεργασίας Codespaces θα έχει μια έκδοση της επέκτασης VS Code GitHub για να βοηθήσει στη διαχείριση ζητημάτων και να τραβήξει αιτήματα, καθώς και να συνεργαστεί με πολλούς κλάδους του κώδικα σας. Μπορείτε να κλωνοποιήσετε αποθετήρια, σε συνεργασία με τη γνωστή ροή εργασίας του Git. Υπάρχει το περιθώριο συνεργασίας των Codespaces με ιδιωτικά αποθετήρια, αλλά η έκδοση beta θα υποστηρίζει μόνο προσωπικά και δημόσια αποθετήρια. Εάν χρησιμοποιείτε το GitHub Enterprise, μπορείτε να χρησιμοποιήσετε άλλα εργαλεία για να εργαστείτε με τον κωδικό σας. ίσως ακόμη και Visual Studio Codespaces.

Το GitHub Codespaces χρειάζεται πολλούς πόρους για να λειτουργήσει και παρόλο που η υπηρεσία είναι δωρεάν κατά τη διάρκεια της έκδοσης beta, είναι πιθανό να είναι μια δυνατότητα πληρωμής μόλις ξεκινήσει. Κάθε παρουσία απαιτεί ένα κοντέινερ για να φιλοξενήσει τους διακομιστές γλώσσας του Visual Studio Code. Το περιβάλλον χρήστη βρίσκεται στο πρόγραμμα περιήγησής σας, αλλά μεγάλο μέρος της βαριάς ανύψωσης που απαιτείται για την εκτέλεση των εργαλείων προγραμματιστή του VS Code πρέπει να εκτελεστεί στο κοντέινερ Codespaces. Με πολλά εκατομμύρια προγραμματιστές που χρησιμοποιούν το GitHub και κάθε κοντέινερ Codespaces που απαιτούν δύο πυρήνες και 4 GB μνήμης, η χρήση θα μπορούσε να αυξηθεί πολύ γρήγορα. Ωστόσο, η GitHub σχεδιάζει να προσφέρει τιμολογιακές τιμές, οι οποίες θα πρέπει να περιορίζουν το κόστος στο ελάχιστο.

Συζητήστε το στις συζητήσεις του GitHub

Η επεξεργασία στο cloud αποτελεί μόνο μέρος της εκτεταμένης ιστορίας κοινωνικής κωδικοποίησης του GitHub. Πολλή πρόσφατη δουλειά του GitHub διευκολύνει τους συνεργάτες να συνεργαστούν με την κοινότητα που έχει συνενωθεί με τον κώδικά τους. Παρόλο που είναι πιθανό να έχετε Slack ή άλλες πλατφόρμες συνεργασίας ως μέρος μιας συνδυασμένης ροής εργασίας, τα έργα ανοιχτού κώδικα συχνά δεν μπορούν να πληρώσουν για σχέδια που τους επιτρέπουν να αρχειοθετήσουν συζητήσεις. Ο διαχωρισμός της συνομιλίας και του κώδικα καθιστά δύσκολη την παροχή άμεσων συνδέσμων μεταξύ των δύο, και παρόλο που τα σχόλια και τα ζητήματα μέσα στο GitHub προσφέρουν έναν τρόπο σύνδεσης τους, είναι ακόμα πολύ πιο επίσημα από τα περισσότερα κοινωνικά μέσα.

Ο δορυφόρος είδε την έναρξη των συζητήσεων GitHub, έναν τρόπο ενσωμάτωσης συνομιλιών με νήμα μέσα σε ένα αποθετήριο. Κάπως θυμίζει τις ομάδες συζήτησης Usenet παλιού σχολείου, είναι ένας χρήσιμος τρόπος για να δημιουργήσετε συνεργατική τεκμηρίωση γύρω από ένα έργο. Το Stack Overflow χρησιμοποιεί μια δομή όπως αυτή, αλλά οι συνομιλίες είναι πιο ελεύθερες με την επιλογή ψήφου για περιεχόμενο, καθώς και απευθείας συνδέσμους σε κάθε στοιχείο συζήτησης. Οι συντηρητές μπορούν να χρησιμοποιήσουν συνδέσμους για να μεταφέρουν περιεχόμενο από συζητήσεις σε άλλα έγγραφα, οπότε ένα στοιχείο συζήτησης θα μπορούσε να συνδεθεί με ένα ζήτημα για να επιτρέψει περαιτέρω συνομιλία.

Η διαχείριση συνομιλιών είναι σημαντική και οι συντηρητές έχουν την επιλογή να κλείσουν τις συζητήσεις όταν τελειώσει η χρήσιμη συνομιλία. Η πρόσβαση βάσει ρόλου μπορεί να ελέγχει συνομιλίες, για παράδειγμα, παρέχοντας μια συζήτηση που όλοι μπορούν να διαβάσουν, αλλά μόνο οι εγκεκριμένοι συνεργάτες μπορούν να δημοσιεύσουν. Εάν οι Συζητήσεις μπορούν να ανταποκριθούν στην υπόσχεσή της ως συγκεντρωμένου, σχετικού χώρου για συνεργασία γύρω από κώδικα και τεκμηρίωση, θα πρέπει να βοηθήσει πολύ τους προγραμματιστές να εργαστούν στο GitHub χωρίς εναλλαγή περιβάλλοντος μεταξύ εφαρμογών και απώλεια εστίασης, καθώς και αποφυγή μακροχρόνιων συνομιλιών λόγω αστάθειας , ανασφαλείς σύνδεσμοι βίντεο.

Η απομακρυσμένη συνεργασία δεν είναι εύκολη, επομένως είναι σημαντικό για ιστότοπους προσανατολισμένους στην κοινότητα, όπως το GitHub, να προσφέρουν όσο το δυνατόν περισσότερα εργαλεία και υπηρεσίες, με σκοπό να διευκολύνεται η συνεργασία μαζί, ανεξάρτητα από το πού και πώς εργάζεστε. Οι συνομιλίες GitHub Codespaces και GitHub φαίνεται να είναι σημαντικά βήματα σε αυτό το ταξίδι και θα είναι ενδιαφέρον να δούμε πώς χρησιμοποιούνται.