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

Κριτική: Το Visual Studio 2017 είναι το καλύτερο ποτέ

Πριν από δύο χρόνια, όταν εξέτασα το Visual Studio 2015, έφυγα από τη σκέψη ότι το IDE της Microsoft είχε γίνει το πιο περίπλοκο προϊόν ποτέ και η Microsoft θα έπρεπε να το απλοποιήσει στο μέλλον. Έκανα λάθος από μία άποψη: Παρόλο που η Microsoft παρουσίασε μερικές δυνατότητες για το Visual Studio 2017, πρόσθεσε πολλά περισσότερα. Όμως σίγουρα, η Microsoft κατάφερε να προσφέρει ένα απλούστερο - και nimbler - IDE στο Visual Studio 2017, παρά τις αυξημένες δυνατότητές του.

Σε αντίθεση με ορισμένες προηγούμενες εκδόσεις του Visual Studio που επικεντρώθηκαν στην εισαγωγή περίπλοκων νέων τεχνολογιών για τη Microsoft, όπως το Windows Communication Foundation και το Windows Workflow Foundation, το Visual Studio 2017 εγκαθιστά και λειτουργεί καλύτερα και γρηγορότερα, υποστηρίζει περισσότερες γλώσσες και πλατφόρμες προγραμματισμού, βελτιώνει την παραγωγικότητα του προγραμματιστή και ισχύει να φορτώσουν τις πλατφόρμες εργασίας με φυσικούς τρόπους.

Για τους περισσότερους χρήστες του Visual Studio 2015, η αναβάθμιση σε Visual Studio 2017 θα είναι χωρίς προβλήματα. Ας διερευνήσουμε γιατί.

Μεγαλύτερο και μικρότερο

Από ορισμένες απόψεις, το Visual Studio 2017 μοιάζει ακόμη περισσότερο με μια μεγάλη τσάντα με επίμονα σχετικά προϊόντα από τις προηγούμενες εκδόσεις του Visual Studio. Η διευρυμένη συλλογή στόχων ανάπτυξης περιλαμβάνει τώρα Windows, Android, iOS, Linux, MacOS, .Net Core, Anaconda, Azure εφαρμογές web και συνδεδεμένες υπηρεσίες, Docker, Office και ανάπτυξη ιστοσελίδων με ASP.Net, HTML5 / CSS3, JavaScript, Node .js, Python ή (μεγάλη αναπνοή) TypeScript. Τι λίστα - και δεν είναι καν ολοκληρωμένη, καθώς υπάρχουν πρόσθετες υποστηριζόμενες τεχνολογίες, όπως SQL Server, Visual Studio Extensions και R.

Πώς ξεκινά κανείς να συνδέει την ανάπτυξη ιστού με το ASP.Net στην ανάπτυξη Android και iOS; Λοιπόν, υπάρχει ένας τρόπος να κάνετε όλα τα παραπάνω στο C #, με τις Xamarin και Mono να είναι οι τεχνολογίες για την κινητή πλευρά. Ωστόσο, αυτή δεν είναι η μόνη επιλογή για κινητά στο Visual Studio 2017.

Ίσως δεν σας αρέσει το C #, αλλά εξακολουθείτε να θέλετε να αναπτύξετε για Android και iOS. Τότε τι γίνεται με τη χρήση C ++ ή JavaScript; Και οι δύο γλώσσες έχουν υποστηρίξει φόρτο εργασίας για ανάπτυξη κινητών. Καθώς σκάβετε βαθύτερα, η στρατηγική του Visual Studio να έχει κάτι για όλους συνδεδεμένους μαζί με κοινές διεπαφές (τόσο UI όσο και API) αρχίζει να έχει νόημα. Σε τελική ανάλυση, οι περισσότεροι προγραμματιστές λογισμικού είναι αναγκαστικά πολύγλωσσο όταν πρόκειται για γλώσσες προγραμματισμού και σχετικές τεχνολογίες. Οι μέρες που μπορούσα να γράψω τα πάντα στο Fortran έχουν περάσει πολύ. Και οι περισσότερες εταιρείες έχουν ισχυρές απόψεις σχετικά με τις «τυπικές» γλώσσες και τα περιβάλλοντά τους.

Τι γίνεται όμως με την εγκατάσταση; Το τεράστιο μέγεθος της εγκατάστασης του Visual Studio υπήρξε πρόβλημα από το πρώτο προϊόν του Visual Studio πριν από 20 χρόνια. Το Visual Studio 2017 διαθέτει πολύ πιο αρθρωτό πρόγραμμα εγκατάστασης από τις προηγούμενες εκδόσεις (δείτε την παρακάτω εικόνα), μια ευπρόσδεκτη βελτίωση. Η ελάχιστη εγκατάσταση είναι, εκπληκτικά, μια σχετικά λεπτή εκατοντάδες megabyte. Ωστόσο, μια πλήρης εγκατάσταση της Enterprise Edition διαρκεί 30 GB έως 40 GB ανάλογα με τις προϋποθέσεις που ήδη υπάρχουν στο σύστημα. Η Microsoft μου λέει ότι η μέση εγκατάσταση είναι περίπου το μισό.

Το μέγεθος της πλήρους εγκατάστασης δεν είναι λάθος της Microsoft. Για παράδειγμα, το Google Android Emulator μόνο χρησιμοποιεί περισσότερα από 17 GB. Αυτό σημαίνει ότι το ίδιο το Visual Studio είναι πολύ μικρότερο από το παρελθόν, αν και καλύπτει όλα τα πρόσθετα συστήματα στόχου.

Τι νέα?

Τι νέο και συναρπαστικό στο Visual Studio 2017 μπορεί να σας δελεάσει να κάνετε αναβάθμιση από το Visual Studio 2015 με το τρέχον service pack; Η Microsoft ισχυρίζεται ότι το IDE είναι ταχύτερο «από την εκκίνηση έως το κλείσιμο» και τώρα παρέχει έναν τρόπο προβολής, επεξεργασίας και εντοπισμού σφαλμάτων κώδικα χωρίς έργα και λύσεις. Η Microsoft ισχυρίζεται επίσης ότι οι βελτιώσεις στην πλοήγηση κώδικα, στο IntelliSense, στο refactoring, στις διορθώσεις κώδικα και στον εντοπισμό σφαλμάτων εξοικονομείτε χρόνο και προσπάθεια σε καθημερινές εργασίες ανεξάρτητα από τη γλώσσα ή την πλατφόρμα. Σίγουρα όλα αυτά είναι ωραία, αλλά η βελτιωμένη παραγωγικότητα είναι αρκετή για να σας κάνει να κάνετε αναβάθμιση; Θα προσπαθήσω να περιγράψω πώς αισθάνονται στην πράξη όταν συζητάω για το IDE.

Αν εσύ όχι θέλετε να κάνετε μια πλήρη εγκατάσταση, είτε επειδή δεν έχετε χώρο στο δίσκο είτε δεν ενδιαφέρεστε για κάθε πτυχή του προϊόντος, το αρθρωτό πρόγραμμα εγκατάστασης είναι πολύ πιο βολικό από το πρόγραμμα εγκατάστασης του Visual Studio 2015. Από την άλλη πλευρά, πόσο συχνά εγκαθιστάτε το Visual Studio; Μερικές φορές το χρόνο, με ενημερώσεις κάθε λίγες εβδομάδες; Εκτιμώ τη βελτίωση, αλλά δεν θα έχει μεγάλο αντίκτυπο, εκτός εάν έχετε περιορισμένο χώρο στο δίσκο - για παράδειγμα, εάν αναπτύξετε σε φορητό υπολογιστή που συνοδεύει δίσκο 128 GB στερεάς κατάστασης.

Ένα ταχύτερο IDE, από την άλλη πλευρά, έχει τεράστιο αντίκτυπο. Η εκκίνηση του Visual Studio και το φορτίο λύσεων έχουν γίνει αισθητά ταχύτερα τις τελευταίες επαναλήψεις, πηγαίνοντας από το "Καλύτερα να βράζω νερό και να παρασκευάζω τσάι ενώ το έργο μου ανοίγει" στο Visual Studio 2008 έως το τρέχον "Επιτρέψτε μου να σηκωθώ και να τεντώσω για λίγα δευτερόλεπτα ενώ το έργο μου ανοίγει. " Όσο για την εργασία με κώδικα μείον έργα και λύσεις, λοιπόν, το ήθελα μόνο για 20 χρόνια, από το Visual Studio 97.

Η Microsoft προσφέρει μια ενσωματωμένη σουίτα εργαλείων Azure που σας επιτρέπει να διαμορφώσετε, να δημιουργήσετε, να διορθώσετε, να συσκευάσετε και να αναπτύξετε εφαρμογές και υπηρεσίες στο Microsoft Azure απευθείας από το IDE. Εάν χρησιμοποιείτε το Azure, αυτό είναι μια νίκη: Η μετάβαση μεταξύ της κονσόλας Azure, της γραμμής εντολών Azure και του Visual Studio μπορεί να αποσπάσει την προσοχή και να διακόψει τη ροή σας. Εάν το AWS είναι το κύριο σύννεφο σας, ωστόσο, ενδέχεται να μην σας ενδιαφέρει καθόλου.

Τέλος, η Microsoft υπόσχεται ότι με το Visual Studio 2017 και το Xamarin, είναι πιο γρήγορο και πιο εύκολο από ποτέ να δημιουργήσετε, να δοκιμάσετε και να εντοπίσετε σφάλματα για εφαρμογές για Android, iOS και Windows. Εάν ο Xamarin έχει τελικά καταργηθεί για να δουλέψει σε Android και iOS χωρίς σφάλματα (που έχω δεν δοκιμαστεί εκτενώς), και αν ο σχεδιαστής XAML έχει γίνει αρκετά γρήγορος για χρήση χωρίς να με κάνει να θέλω να πετάξω τον υπολογιστή στο δρόμο, αυτό θα είναι ένα μεγάλο πλεονέκτημα.

Σχετικά με το τελευταίο ζήτημα, η Microsoft ισχυρίζεται ότι περίπου το 90 τοις εκατό του γενικού ανοίγματος του σχεδιαστή XAML έχει φύγει. Σύμφωνα με αυτόν τον ισχυρισμό, παρατηρώ τώρα μια παύση πέντε δευτερολέπτων με ένα μήνυμα "φόρτωση του σχεδιαστή ...", το οποίο είναι σίγουρα καλύτερο από το λεπτό περίπου που έπαιρνε ο σχεδιαστής για να φορτώσει. Βλέπω επίσης μια ταχύτερη απόκριση τόσο στη μεταφορά γραφικών στην επιφάνεια σχεδίασης όσο και στην πληκτρολόγηση στο παράθυρο κώδικα XAML. Η καθυστέρηση κατά το συγχρονισμό των δύο παραθύρων εξακολουθεί να είναι αισθητή, αλλά δεν με κάνει πλέον να πιστεύω ότι το Visual Studio ενδέχεται να είχε καταρρεύσει.

Μπορείτε επίσης να αναπτύξετε εφαρμογές για κινητές συσκευές πολλαπλών πλατφορμών στο Visual Studio 2017 με το Apache Cordova ή το Visual C ++. Η περίπτωση χρήσης για ανάπτυξη κινητών με JavaScript και Cordova είναι ξεκάθαρη και πολλοί άνθρωποι ήδη βασίζονται σε αυτήν για εφαρμογές για κινητά πολλαπλών πλατφορμών. Γιατί όμως χρειαζόμαστε την ανάπτυξη βιβλιοθηκών μεταξύ πλατφορμών Visual C ++ μεταξύ iOS και Android; Αποδεικνύεται ότι υπάρχουν πολλοί προγραμματιστές C ++ για κινητά που θα το εκτιμήσουν. Για παιχνίδια για κινητά και εφαρμογές για καταναλωτές, ο κοινός κώδικας, συνήθως σε C ή C ++, αποδεικνύεται σημαντικό ποσοστό του έργου, με ένα UI γραμμένο στο Objective C ++ ή Java στην κορυφή.

Παρόλο που το Visual Studio 2017 υποστηρίζει κάποια ανάπτυξη iOS και MacOS από Windows, χρειάζεστε ακόμα Mac. Γιατί; Για εντοπισμό σφαλμάτων εφαρμογών κονσόλας και ASP.Net για MacOS, για δημιουργία GUI για MacOS και για δημιουργία και εντοπισμό σφαλμάτων εφαρμογών για iOS.

Το C ++ είναι το ίδιο μοντέλο μιας σύγχρονης φορητής γλώσσας και χρησιμοποιείται συχνά για την ανάπτυξη εφαρμογών που εκτελούνται σε πολλαπλά λειτουργικά συστήματα. Αυτός είναι εν μέρει ο λόγος για τον οποίο η Microsoft πρόσθεσε επίσης την υποστήριξη C ++ για ανάπτυξη Linux σε αυτήν την έκδοση και βελτίωσε την τυπική συμμόρφωσή της C ++.

Τι πήγε;

Το Visual Studio 2017 έχει παραλείψει πολλές σπάνια χρησιμοποιούμενες δυνατότητες. Μπορείτε, ωστόσο, να βασιστείτε σε ορισμένες από τις δυνατότητες που έβλεπαν τα φιόρδ. εξακολουθούν να είναι διαθέσιμα, αλλά μόνο εάν εκτελείτε μια παλιά έκδοση δίπλα-δίπλα με τη νέα. Αυτό μπορεί ακόμη να εμποδίσει την υιοθέτησή σας, επειδή η εγκατάσταση πολλαπλών παρουσιών του Visual Studio (ειδικά των παλαιότερων εκδόσεων) σε έναν μόνο δίσκο επαινεί ουσιαστικά ένα πρόβλημα χώρου στο δίσκο.

Το Silverlight, ένα ακατάλληλο υποσύνολο του Windows Presentation Foundation για την παράδοση πολυμέσων και πλούσιων διαδραστικών εφαρμογών από ένα πρόσθετο προγράμματος περιήγησης, ήταν όλη η οργή στις αρχές της δεκαετίας του 2010 και έχει πλέον καταργηθεί. Θα παραλείψω τον εσωτερικό αγώνα εξουσίας της Microsoft μεταξύ του στρατοπέδου Silverlight και του στρατοπέδου HTML5. αρκεί να πούμε ότι ο Silverlight έχασε. Επομένως, δεν αποτελεί έκπληξη το γεγονός ότι το Visual Studio 2017 παραλείπει την υποστήριξη ανάπτυξης Silverlight. Εάν πρέπει να διατηρήσετε παλιές εφαρμογές Silverlight, θα πρέπει να συνεχίσετε να χρησιμοποιείτε το Visual Studio 2015.

Ομοίως, η Microsoft δεν κατασκευάζει πλέον smartphone Windows Phone και καταργεί παλαιότερες εκδόσεις Windows Phone και Windows Store υπέρ των Windows 10. Ανάλογα με την έκδοση του Windows Phone που πρέπει να διατηρήσετε, διατηρήστε το Visual Studio 2015 ή το Visual Studio 2012.

Η Microsoft έχει εγκαταλείψει τη μοντελοποίηση UML από το Visual Studio 2017 και δεν σχεδιάζει να επενδύσει περαιτέρω στο UML. Αντ 'αυτού, έχει μοντελοποίηση επιπέδων, διαγράμματα εξάρτησης και ελέγχους επιπέδου αρχιτεκτονικής για κώδικα. Μπορείτε επίσης να δημιουργήσετε και να αναπτύξετε επεκτάσεις μοντελοποίησης επιπέδων.

Εάν χρειάζεστε πραγματικά UML στο Visual Studio 2017, μπορείτε να χρησιμοποιήσετε ένα από τα εκατοντάδες εργαλεία UML που είναι διαθέσιμα σήμερα, πολλά από τα οποία είναι δωρεάν και ανοιχτού κώδικα, και μερικά από τα οποία περιλαμβάνουν επεκτάσεις Visual Studio.

Εγκατάσταση του Visual Studio 2017

Εγκατέστησα το Visual Studio 2017 σε δύο υπολογιστές με Windows 10: έναν φορητό υπολογιστή με πολύ μικρό SSD και έναν πύργο με σκληρό δίσκο αξιοπρεπούς μεγέθους. Σημειώστε ότι χρησιμοποιούσα μια κυκλοφορία υποψήφιος από τον Φεβρουάριο, όχι η τελική έκδοση που θα κυκλοφορήσει τη δεύτερη εβδομάδα του Μαρτίου. Ο φορητός υπολογιστής είχε ήδη εγκαταστήσει το Visual Studio 2015. στον πύργο είχε εγκατασταθεί η προεπισκόπηση του Visual Studio 15, η οποία ήταν ο προκάτοχος του Visual Studio 2017. Χρησιμοποίησα το πρόγραμμα εγκατάστασης ιστού από το MSDN. Στην πραγματικότητα, δεν είδα ποτέ μια εικόνα εγκατάστασης ISO που προσφέρεται, αν και αυτό δεν σημαίνει ότι δεν υπάρχει.

Ελπίζω ότι το πρόγραμμα εγκατάστασης του Visual Studio 2017 θα ήταν αρκετά έξυπνο για να προσφέρει την κατάργηση του Visual Studio 2015 όταν είδε ότι δεν υπήρχε αρκετός χώρος στο SSD του φορητού υπολογιστή και για τις δύο εκδόσεις. Όχι τέτοια τύχη. Επειδή υπάρχουν περιπτώσεις χρήσης για το Visual Studio 2017 και το Visual Studio 2015 στον ίδιο υπολογιστή, η εγκατάσταση του Visual Studio 2017 βασικά διέφυγε. Έπρεπε να καταφέρω να καταργήσω χειροκίνητα οτιδήποτε μοιάζει με το Visual Studio 2015 και παλαιότερες εκδόσεις σχετικών τεχνολογιών, όπως ο SQL Server, μια δουλειά που μου πήρε περίπου μία ώρα και χρειάζονταν συνεχείς παρεμβάσεις. Τότε μπόρεσα να εγκαταστήσω ένα χρήσιμο μεγάλο κομμάτι του Visual Studio 2017. Το πρόγραμμα εγκατάστασης κράτησε μια καρτέλα λειτουργίας των απαιτήσεων χώρου στο δίσκο των φόρτων εργασίας και των μονάδων που είχα επιλέξει και δεν θα προχωρούσε μέχρι να ήταν σίγουρο ότι όλα τα επιλεγμένα θα ταιριάζουν.

Ειλικρινά πίστευα ότι η μη αυτόματη απεγκατάσταση ήταν μια περιττή δυσκολία. Από την άλλη πλευρά, το μόνο πράγμα που θα μπορούσα να σκεφτώ ότι θα διευκόλυνε τη δουλειά μου θα ήταν ο οδηγός απεγκατάστασης για παλιές εκδόσεις του Visual Studio.

Στον πύργο, μπόρεσα να επιλέξω όλους τους φόρτους εργασίας του Visual Studio 2017 και να πατήσω το Install. Η διαδικασία μπορεί να χρειαστεί μια ώρα. Δεν ξέρω σίγουρα γιατί μπόρεσα να φύγω και επέστρεψα για να το βρω. Νομίζω ότι είναι η πρώτη φορά που κατάφερα να το πω αυτό για μια εγκατάσταση του Visual Studio.

Η νέα αρθρωτή εγκατάσταση φαίνεται σαν μια μεγάλη νίκη. Οι επιλογές που προσφέρει χωρίζονται λογικά σε "φόρτους εργασίας" και μέσα σε οποιονδήποτε φόρτο εργασίας μπορείτε εύκολα να συμπεριλάβετε ή να αποκλείσετε συγκεκριμένα στοιχεία, όπως το Google Android Emulator που έπρεπε αρχικά να αποκλείσω στον φορητό υπολογιστή για να εγκαταστήσω το υπόλοιπο φόρτο εργασίας Xamarin Mobile. Υποτίθεται ότι μπορείτε να εγκαταστήσετε μόλις μερικές εκατοντάδες megabyte και να έχετε ακόμα ένα περιβάλλον εργασίας, το οποίο είναι καλό για τα μέλη της ομάδας με εστιασμένες ευθύνες και μικρούς δίσκους.

Ταχύτερη, εξυπνότερη, καλύτερη

Για όσο διάστημα χρησιμοποιώ (και ανέπτυξα) IDE, που είναι πάνω από 25 χρόνια, το όνομα του παιχνιδιού ήταν παραγωγικότητα προγραμματιστή. Ακόμα και στις κακές παλιές μέρες των μικροϋπολογιστών και των σταθμών εργασίας, το μεγαλύτερο κόστος δημιουργίας λογισμικού ήταν οι μισθοί των προγραμματιστών. Τώρα που το κόστος υλικού και λογισμικού μετράται σε χιλιάδες δολάρια αντί για δεκάδες χιλιάδες, και οι ετήσιοι μισθοί προγραμματιστών ξεπερνούν τα 100.000 $ αντί για κάτω από 50.000 $, η παραγωγικότητα του προγραμματιστή είναι ακόμη πιο σημαντική για την κατώτατη γραμμή. Ας δούμε τις δυνατότητες του Visual Studio 2017 που στοχεύουν στη βελτίωση της παραγωγικότητας - και "ενθουσιώσουν" τον προγραμματιστή, για να αναφέρουμε τη Microsoft.

Πίνακας βαθμολογίαςΙκανότητα (30%) Εκτέλεση (30%) Ευκολία στη χρήση (20%) Τεκμηρίωση (10%) αξία (10%) Συνολική βαθμολογία (100%)
Visual Studio 20171010989 9.5
$config[zx-auto] not found$config[zx-overlay] not found