Συστατικά

Η μυθική «εφαρμογή Vista»

Διαμόρφωση Πρωτοκόλλου Ίντερνετ

Διαμόρφωση Πρωτοκόλλου Ίντερνετ
Anonim

Υπόθεση: Τα Windows Vista και το "gap app."

Evans Data Corporation (EDC) , λιγότερο από το 10% των προγραμματιστών γράφουν για την τρέχουσα κατάσταση της τεχνολογίας της Microsoft. Η πλειοψηφία (49%) εξακολουθεί να γράφει για XP, ενώ ένα μικρό, αλλά αυξανόμενο, ενδεχόμενο (13%) επικεντρώνεται στο Linux. Εν τω μεταξύ, οι μυριάδες μεγάλα μέσα ενημέρωσης συνεχίζουν να καταγγέλλουν την έλλειψη νέων εφαρμογών Vista. "Είναι το OS που κανείς δεν θέλει", λένε, και οι προγραμματιστές "αντιδρούν αναλόγως". Φυσικά, κάνουν λάθος. Και πάλι.

[Περαιτέρω ανάγνωση: Τα καλύτερα μας κόλπα για τα Windows 10, συμβουλές και βελτιώσεις]

Βλέπετε, δεν υπάρχει καμία εφαρμογή Vista. Ακριβώς όπως δεν υπάρχει καμία τέτοια εφαρμογή XP. Ή εφαρμογή Windows 2000. Οι προγραμματιστές που γράφουν για Windows σπάνια στοχεύουν σε μια συγκεκριμένη έκδοση. Αντίθετα, επιλέγουν ένα συγκεκριμένο πλαίσιο API - για παράδειγμα MFC / ATL ή.Net - και προχωρούν από εκεί. Το αν η προκύπτουσα εφαρμογή τρέχει σε μια δεδομένη έκδοση των Windows εξαρτάται από τις εκάστοτε επεκτάσεις API για συγκεκριμένη έκδοση, τις οποίες χρησιμοποιεί ο προγραμματιστής στο έργο τους.

Για τους περισσότερους τύπους εφαρμογών, αυτό είναι μη εκδοτικό: API λειτουργίες, που τους επιτρέπει να τρέχουν σε οποιαδήποτε έκδοση των Windows που υποστηρίζει αυτό το πλαίσιο. Και δεδομένου ότι η Microsoft έχει καλή δουλειά να υποστηρίζει νέα πλαίσια στις παλαιότερες πλατφόρμες OS της, οι προγραμματιστές σπανίως αντιμετωπίζουν μια επιλογή μεταξύ της πλούσιας λειτουργικότητας του API ή μιας ευρείας εγκατεστημένης βάσης (η αξιοσημείωτη εξαίρεση είναι οι προγραμματιστές παιχνιδιών για τους οποίους η μόχλευση του DirectX 10 committing to Vista).

Έτσι, το όλο επιχείρημα του Vista "gap gap" είναι λίγο άχυρο. Το πραγματικό ερώτημα θα πρέπει να είναι: Γιατί οι προγραμματιστές δεν αξιοποιούν τις διάφορες επαναλήψεις του πλαισίου.Net; Όπως θα επιβεβαιώσει ο καθένας που ακολουθεί τον αναπτυξιακό οδικό χάρτη της Microsoft, το μεγαλύτερο μέρος της εξέλιξης API της αιχμής της εταιρείας πραγματοποιείται στο.Net. Στην πραγματικότητα, όταν οι "εμπειρογνώμονες" μιλάνε για νέους προγραμματιστικούς πόρους στα Vista - το Windows Presentation Foundation (WPF), το Windows Communication Foundation (WCF) και ούτω καθεξής - μιλούν πραγματικά για το.Net framework 3.0. Και δεδομένου ότι το.Net 3.0 είναι διαθέσιμο σε πλατφόρμες κάτω-επιπέδου (όπως τα Windows XP), το επιχείρημα κυκλώνει πίσω σε μια ερώτηση σχετικά με την αποδοχή του.Net μεταξύ των προγραμματιστών - και γιατί έχουν (μέχρι στιγμής) αποφύγει. η απάντηση είναι διπλή: Πρώτον, οι προγραμματιστές δεν επιθυμούν να στοχεύσουν API που δεν είναι ευρέως διαθέσιμα σε όλη την εγκατεστημένη βάση. Παρά την επιθετική υποστήριξη της Microsoft για εκδόσεις κάτω επιπέδου, εξακολουθεί να υπάρχει μεγάλη διαφορά μεταξύ του "διαθέσιμου" και του "διαθέσιμο μετά τη λήψη 20MB-plus των πολύπλοκων βιβλιοθηκών και την εγκατάστασή τους σε διάφορα μέρη του συστήματός σας". Το γεγονός είναι ότι το.Net δεν μεταφέρεται ως μέρος των Windows XP και αυτό σημαίνει ότι οι προγραμματιστές πρέπει να πείσουν τους χρήστες να εγκαταστήσουν πρώτα την απαιτούμενη έκδοση του πλαισίου.Net προτού να εγκαταστήσουν ένα κομμάτι του λογισμικού - πάντοτε μια εύκολη πώληση, ειδικά στον κλειδωμένο κόσμο της επιχείρησης IT.

Το πρώτο λειτουργικό σύστημα που θα εγκατασταθεί με το.Net πλαίσιο εγκατεστημένο από προεπιλογή, η Vista υποτίθεται ότι θα ενθαρρύνει την ανάπτυξη εφαρμογών.Net 3.0. Ωστόσο, δεδομένου ότι υποστηρίζει επίσης κληρονομιά των εφαρμογών Win32, COM, ATL, MFC και down-level.Net, δεν υπάρχει πραγματική έλλειψη προγραμμάτων Vista. Στην πραγματικότητα, αν δεν έχετε μόλις αποκτήσει αυτή την τελευταία και μεγαλύτερη λειτουργικότητα πλαισίου WPF / WCF, δεν υπάρχει τίποτα που να σας παρακινήσει, τον προγραμματιστή, να κάνετε το άλμα στο.Net 3.0 ή ακόμα και 2.0. Υποθέτοντας ότι δεν εισέρχεστε στο μηχανισμό ελέγχου λογαριασμού χρήστη (UAC), η εφαρμογή "παλαιού τύπου" των Windows πιθανότατα φαίνεται και λειτουργεί πολύ κάτω από το Vista όπως είναι. Ξέρω, γιατί αυτό ήταν το ίδιο με τον δικό μου κώδικα: Λίγα τσιμπήματα για να φιλοξενήσουν UAC (κυρίως μετατοπίζοντας κάποια προσωρινά αρχεία μακριά από τις πρόσφατα προστατευόμενες δομές καταλόγων) και οι εφαρμογές και οι υπηρεσίες μου τρέχουν σαν champs κάτω από Vista - Windows XP, Server 2003 και Windows 2000. Γιατί να το διορθώσετε όταν δεν έχει καταστραφεί;

Ο δεύτερος λόγος που οι προγραμματιστές αποφεύγουν. Είναι ότι είναι αργή. Πολλές κοινές λειτουργίες απλώς χρειάζονται περισσότερο χρόνο στο.Net, αναγκάζοντας τους προγραμματιστές να επιλέξουν μεταξύ της πολυπλοκότητας API και της ακατέργαστης απόδοσης. Δεν αποτελεί έκπληξη το γεγονός ότι οι περισσότεροι προγραμματιστές επιλέγουν το τελευταίο, όπως κάποτε αναγκάστηκα να κάνω όταν ανακάλυψα ότι το ισοδύναμο.Net του βοηθού Data Performance Helper (PDH) ήταν εντελώς άχρηστο για δειγματοληψία σε πραγματικό χρόνο των δεδομένων μετρητών απόδοσης των Windows. Ως αποτέλεσμα, είμαι αναγκασμένος να διατηρήσω μια γήρανση (περίπου το 1997) Visual Studio 6 κώδικα βάσης, ενώ περιμένουν για τη Microsoft να τελειοποιήσει τελικά. Net σε ένα σημείο όπου είναι μια βιώσιμη εναλλακτική λύση. Είναι μια παλιά ιστορία και είναι πολύ συνηθισμένη στους προγραμματιστές των Windows

Bottom Line: Όταν οι αναλυτές (και οι συνεργάτες τους στα μέσα) καταγγέλλουν την έλλειψη «εφαρμογών Vista» απλώς τρομάζουν τη δική τους άγνοια

Υποθέτω ότι είναι Mac πράγμα: Τόσοι πολλοί από τους συγχρόνους μου έχουν εμπλακεί στο πεδίο της παραμόρφωσης της πραγματικότητας ότι η ιδέα μιας σχέσης μεταξύ της λειτουργικότητας του API και της έκδοσης του λειτουργικού συστήματος έχει γίνει ένα αποδεκτό μέρος της συμβατικής σοφίας. Είναι ένα τίμιο λάθος, εξισώνοντας το αρχαϊκό συνονθύλευμα των εξαρτήσεων έκδοσης της Apple με την ατελή, αλλά πολύ πιο ευέλικτη, εκδοχή API της Microsoft.

Πάρα πολλά φρούτα θα σας το κάνουν