Τα ελαττώματα των Universal Apps

Εικονίδιο ώρας ανάγνωσης 4 λεπτό. ανάγνωση


Οι αναγνώστες βοηθούν στην υποστήριξη του MSpoweruser. Ενδέχεται να λάβουμε προμήθεια εάν αγοράσετε μέσω των συνδέσμων μας. Εικονίδιο επεξήγησης εργαλείου

Διαβάστε τη σελίδα αποκάλυψης για να μάθετε πώς μπορείτε να βοηθήσετε το MSPoweruser να διατηρήσει τη συντακτική ομάδα Διάβασε περισσότερα

Η Microsoft έχει αρχίσει να ενθαρρύνει τους προγραμματιστές να μετεγκαταστήσουν τις εφαρμογές τους σε εφαρμογές Universal, ωστόσο ορισμένοι προγραμματιστές εξακολουθούν να μην έχουν πειστεί. Έγραψα ένα editorial αναφέροντας προγραμματιστές πριν από λίγο καιρό σχετικά με τη σκοπιμότητα των καθολικών εφαρμογών και γιατί δεν βάζουν ακόμα φωτιά στον κόσμο. Σήμερα, ένας άλλος προγραμματιστής δημοσίευσε ένα κομμάτι για τις εμπειρίες του με καθολικές εφαρμογές (το οποίο θα αναπαράγουμε εδώ με άδεια)

 

Το Windows Phone 8.1 XAML και οι Universal Apps περιλάμβαναν WinRT API που έχουν πολλά προβλήματα, συμπεριλαμβανομένων ορισμένων για τα οποία δεν υπάρχει λύση. Αλλά πρώτα, ας μιλήσουμε μόνο για το όνομα "Καθολικές εφαρμογές". Νομίζω ότι είναι πολύ αλαζονικό, το να αποκαλούμε καθολικό κάτι που στοχεύει δύο πλατφόρμες, που ειλικρινά δεν χρησιμοποιούν ή ενδιαφέρονται τόσοι πολλοί χρήστες. Επίσης, αν σκέφτεστε μόνο τις πλατφόρμες των Windows, αυτές οι εφαρμογές δεν είναι επίσης καθολικές, επειδή δεν μπορούν να στοχεύσουν τις πιο συχνά χρησιμοποιούμενες εκδόσεις των Windows (7 και XP). Αλλά ξεφεύγω.

Αυτός τονίζει εδώ το σημείο, το οποίο έθεσα πριν από λίγο. Ούτε το WP8.1 ούτε το W8.1 παρέχουν αρκετή αξία για να αναπτύξουν οι προγραμματιστές για κανέναν από τους δύο ακόμη, επειδή, όπως είπα «Τα Windows ΕΧΟΥΝ χρήστες, αλλά αυτοί οι χρήστες δεν θέλουν απαραίτητα εφαρμογές. Οι χρήστες των Windows Phone θέλουν εφαρμογές, αλλά δεν υπάρχουν πολλές από αυτές».

Ωστόσο, οι χρήστες δεν είναι το μόνο πράγμα που εμποδίζει τους προγραμματιστές να μετακινηθούν σε εφαρμογές WinPRT 8.1. Υπάρχουν και τεχνικά ζητήματα:

 

Περισσότερα μπερδεμένα API

Άρα το API αναπαραγωγής ήχου στο παρασκήνιο για Windows Phone 8.1 είναι μπερδεμένο, κάτι άλλο; Σίγουρος. Το BackgroundDownloader είναι ένα άλλο παράδειγμα. Στο Silverlight, υπήρχε ένα BackgroundDownloader που ήταν αρκετά περιορισμένο, αλλά λειτούργησε. Στις Universal Apps, υπάρχει ένα νέο BackgroundDownloader με ορισμένες νέες δυνατότητες και λείπουν κάποιες βασικές. Για παράδειγμα, στο Silverlight, κάθε λήψη θα μπορούσε να έχει μια ετικέτα, όπου μπορείτε να αποθηκεύσετε οποιαδήποτε δεδομένα, ώστε να γνωρίζετε κάτι για τη λήψη όταν ολοκληρωθεί (σε ποια επιχειρηματική οντότητα ανήκει κ.λπ.). Όχι πλέον στις Universal Apps. Δεν υπάρχει Ετικέτα, επομένως πρέπει να δημιουργήσετε και να διαχειριστείτε το δικό σας ευρετήριο για όλες τις λήψεις, ώστε να μπορείτε πραγματικά να τα αντιστοιχίσετε με τις οντότητες της επιχείρησής σας. Μια ενόχληση, αλλά τίποτα που δεν μπορείτε να διαχειριστείτε, σωστά.

Ένας σχολιαστής στο ιστολόγιο πρόσθεσε επίσης ότι τα api της κάμερας δεν ήταν τόσο καλά όσο αυτά του Silverlight και μου είπαν ότι τα api 8.1 δεν διαθέτουν ενσωμάτωση φακού.

Το Camera API στο WP8.1 είναι επίσης φρικτά ανεβασμένο. Δεν υπάρχει τρόπος να λάβετε καρέ προεπισκόπησης. Με το Silverlight API μπορείτε απλά να εγγραφείτε σε ένα συμβάν και να προωθήσετε τα καρέ χαμηλής ανάλυσης μέσω του ZXing σε πολλά fps. Στο WinRT το καλύτερο που μπορείτε να κάνετε είναι να τραβάτε πολλές φωτογραφίες μετά την άλλη, με φλας μερικές φορές και να σαρώνετε περίπου 0.8 καρέ ανά δευτερόλεπτο.

Η απόδοση πλήττεται επίσης, καθώς η ποσότητα εργασίας που απαιτείται για την ομαλή κύλιση έχει αυξηθεί σε 8.1 έναντι 8.0.

επίδοση

Στο Silverlight, χρησιμοποιούσα συνήθως το LongListSelector για την εμφάνιση δεδομένων, χρησιμοποιώντας το με ένα WrapPanel όταν χρειαζόταν να δημιουργήσω μια διάταξη δύο στηλών. Το LongListSelector έχει φύγει, στις Universal Apps πρέπει να χρησιμοποιήσετε το GridView και στο Windows Phone. Ή μπορείτε να χρησιμοποιήσετε το ListView με ένα προσαρμοσμένο πλαίσιο αναδίπλωσης που γράφετε μόνοι σας ή κατεβάζετε κάπου, αλλά χρειάζεται λίγη προσπάθεια για να γίνει σωστά η εικονικοποίηση.

Επομένως, χρησιμοποιείτε το GridView τόσο στα Windows Phone 8.1 όσο και στα Windows 8.1 για να το κάνετε συνεπές. Προσθέστε δεκάδες αντικείμενα με εικόνες σε αυτό και η απόδοση αρχίζει να υποφέρει πραγματικά. Θα εμφανιστούν γκρι σύμβολα κράτησης θέσης και το πιο σημαντικό, δεν εξαφανίζεται ποτέ. Δεν χρειάζεστε εικόνες, απλώς προσθέστε περίπου 300 στοιχεία μόνο κειμένου στο GridView και τα γκρι σύμβολα κράτησης θέσης θα αρχίσουν να εμφανίζονται κατά την κύλιση

Ο σκοπός αυτής της ανάρτησης δεν είναι να πλήξει τη Microsoft, αλλά να εξηγήσει γιατί οι προγραμματιστές μπορεί να μην είναι πρόθυμοι να δημιουργήσουν καθολικές εφαρμογές ακόμα. Δεν είναι μια απολύτως καλύτερη μέθοδος, είναι μια αναβάθμιση σε ορισμένους τομείς και μια υποβάθμιση σε άλλους (οι χρήστες των Windows Phone γνωρίζουν καλά αυτό το συναίσθημα). Εάν η Microsoft θέλει να προσελκύσει προγραμματιστές, πρέπει να εργαστούν πιο γρήγορα από ό,τι κάνουν αυτή τη στιγμή, το "σύντομα" και το "τους επόμενους μήνες" δεν είναι ελκυστικά για τους ανθρώπους των οποίων τα προς το ζην εξαρτώνται από το "σύντομα" να είναι "χθες". Ευτυχώς, υπάρχουν ενδείξεις ότι αυτό μπορεί να αλλάξει. Το WP 8.1.1 έφερε μερικά νέα apis (αν και περιορισμένα) και το 8.1.2 λέγεται ότι (σε ​​μια κρυφή πλέον ανάρτηση) επιτρέπει στους προγραμματιστές να δημιουργούν νέες φοβερές εφαρμογές. Η Microsoft μπορεί να αλλάξει στο μέλλον και αυτό είναι υπέροχο. Ωστόσο, για πολλούς προγραμματιστές που πιέζονται να δημιουργήσουν καθολικές εφαρμογές τώρα, το μέλλον δεν μπορεί να φτάσει εδώ αρκετά σύντομα.

Για περισσότερα από τα αποσπάσματα που λαμβάνετε εδώ, διαβάστε ολόκληρο το κομμάτι εδώ. Για το πιο αναλυτικό κομμάτι μου, βλ εδώ.

Περισσότερα για τα θέματα: προγραμματιστές, Γενικές εφαρμογές, παράθυρα 10

Αφήστε μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *