Προς το περιεχόμενο

H Microsoft ενοποιεί την ανάπτυξη Win32 και UWP εφαρμογών με το Project Reunion


Hal9000

Προτεινόμενες αναρτήσεις

Πιο εύκολη θέλει να κάνει η Microsoft τη ζωή ενός προγραμματιστή που θέλει να αναπτύξει μια desktop εφαρμογή για τα Windows, ανακοινώνοντας σήμερα στα πλαίσια του συνεδρίου Build 2020, το Project Reunion.

Με το Project Reunion η Microsoft επιθυμεί να «ενοποιήσει» κατά κάποιο τρόπο τα παραδοσιακά apis που γνωρίζουμε μέχρι σήμερα ως Win32, με αυτά του Universal Windows Platform (UWP) προκειμένου να παρέχει μια κοινή πλατφόρμα ανάπτυξης εφαρμογών για Windows, με backward υποστήριξη. Η νέα πλατφόρμα δίνει έμφαση σε ένα πιο μοντέρνο σχεδιασμό εφαρμογών, με τα apis να είναι διαθέσιμα κυρίως μέσω εργαλείων όπως το NuGet και όχι μέσω του λειτουργικού συστήματος. Στόχος της Microsoft είναι οι developers να μπορούν να δημιουργήσουν μία Windows εφαρμογή η οποία θα τρέχει όχι μόνο στο 1 δισεκατομμύριο συστήματα που αποτελούν την ενεργή βάση χρηστών Windows 10 αλλά και σε παλαιότερες εκδόσεις του λειτουργικού συστήματος.

Το επόμενο διάστημα, η Microsoft θα συνεχίζει να εκσυγχρονίζει τα υπάρχοντα api, προσθέτοντας νέα ενώ σημαντικό μέρος του Project Reunion είναι το WinUI 3, ένα UI Framework που επιτρέπει στις desktop εφαρμογές να έχουν ένα μοντέρνο περιβάλλον το οποίο θα μπορεί να προσαρμόζεται ανάλογα τη συσκευή στην οποία τρέχουν. Το πρώτο api που αποτελεί μέρος του Project Reunion είναι το WebView2 που επιτρέπει σε developers να ενσωματώσουν ένα WebView βασισμένο στη Chromium engine, σε UWP εφαρμογές, Windows Forms και WPF.

engaging-ui-powered-by-winui-in-aarms-clock-app-100842431-orig.jpg.11fecaff7c07b8c9a7b2990f57af2c0c.jpg

WinUI 3

a34b1321eab452d081212359a3cde237.gif.ec0f72d8eabaab8aa7e9fe2cbbd952f3.gif

WebView2

Στο μέλλον, η Microsoft αναφέρει ότι οι εφαρμογές που θα προκύψουν από το Project Reunion, θα είναι δυνατό να τρέξουν και εκτός Windows όπως μέσω cloud κάνοντας χρήση του Windows Virtual Desktop η οποιασδήποτε εφαρμογής απομακρυσμένης διαχείρισης.


Διαβάστε ολόκληρο το άρθρο

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Θα τρέχουν και σε παλιότερα windows; Γιατί; Αφού οι insomniac λένε για την ύπουλη microsoft που παράτησε τα windows 7 μόλις μετά από 11 χρόνια για να τους αναγκάσει να πάνε σε windows 10. Θα τους μπερδέψει τώρα, δεν τους λυπάται;

Επεξ/σία από Retromaniac
  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

"Η νέα πλατφόρμα δίνει έμφαση σε ένα πιο μοντέρνο σχεδιασμό εφαρμογών" 

Δεν το δίνει η νέα πλατφόρμα αυτό. Αυτό υπάρχει ήδη εδώ και χρόνια, αλλά πρόσβαση είχαν μόνο οι UWP (WinUI 2.1) εφαρμογές.

Επίσης είναι γνωστό εδώ και καιρό (περίπου 1 μιση χρόνο) το ότι νέες ή υπάρχουσες desktop εφαρμογές θα είναι σε θέση να χρησιμοποιούν το UI framework της UWP ως WinUI 3.

Τα καινούρια καλά νέα είναι ότι Win32 και UWP συγκλίνουν ακόμη περισσότερο, ενώ οι προσθήκες νέων χαρακτηριστικών θα γίνονται έξω από το λειτουργικό (ανεξάρτητα των νέων εκδόσεων των Windows 10). 

  • Like 4
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλή σας ημέρα !

Είμαι βέβαιος ότι αυτή η ιδέα της ενοποίησης και κυρίως της "προς τα πίσω" συμβατότητας θα δώσει μεγάλο πλεονέκτημα στη Microsoft.
Επιπλέον πιστεύω ότι αυτός είναι κι ένας από τους λόγους που η συγκεκριμένη εταιρεία κατέχει τη μερίδα του λέοντος στον τομέα του λογισμικού εδώ και πολλά χρόνια.
  Αρκεί να θυμηθούμε τα γνωστά Compatibility layers που έχει ενσωματώσει η εταιρεία στις περισσότερες εκδόσεις των Windows, με αποτέλεσμα μεγάλο ποσοστό παλιών εφαρμογών να μπορούν να λειτουργήσουν απρόσκοπτα ακόμα και σήμερα.
 Για να εχουμε ένα μέτρο σύγκρισης, ας μην ξεχνάμε ότι όταν π.χ. βγήκε το Mac OS System 7 (το λεγόμενο Big Bang) στα μέσα Μαϊου του 1991 -ενώ εγώ ήμουν μόλις 11 χρόνων-, οι μισές εφαρμογές του System 6 δεν δουλεύανε στο νέο λειτουργικό. Αυτό κι αν αποτελεί ασέβεια για την επένδυση του χρήστη !
 Ναι μεν μπορεί λοιπόν η Microsoft να κατηγορείται για διάφορα πράγματα, αλλά στον τομέα της συμβατότητας τα έχει πάει καλά και οφείλουμε σ' αυτό να είμαστε δίκαιοι στην κριτική μας.

Ευχαριστώ,

Ο Άσπρος Γάτος

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, White_Cat είπε

στον τομέα της συμβατότητας τα έχει πάει καλά και οφείλουμε σ' αυτό να είμαστε δίκαιοι στην κριτική μας.

Τα έχει πάει καλά στη συμβατότητα όσον αφορά τo dekstop (x86 αρχιτεκτονική).

Στην ARM (WinRT, phones) είχε θέματα (δεν υπήρχε συμβατότητα), τα οποία δικαιολογούνται κατά τη γνώμη μου, καθώς ήθελε αφενός να προσφέρει μια πλατφόρμα ανάπτυξης native εφαρμογών (κυρίως) για mobile χρήση, στα WM10 (καλύτερη διαχείριση ενέργειας -suspend state-, μεγαλύτερη ασφάλεια, υποστήριξη πολλαπλών διαφορετικών μορφών εισόδου -touch, voice, ink, keyboard, gamepad κ.τ.λ.), αφετέρου να προσθέσει όσο το δυνατόν περισσότερες λειτουργίες/χαρακτηριστικά, έτσι ώστε οι εφαρμογές να μπορούν να τρέξουν και σε dekstop περιβάλλον ή και στο Xbox ή και σε οποιαδήποτε μελλοντική συσκευή με Windows 10 ή με Windows 10ARM ή με μελλοντική άλλη έκδοση του λειτουργικού όπως είναι τα Windows 10X. Και φυσικά να συντηρούνται οι εφαρμογές εύκολα αφού πρόκειται για τον ίδιο κώδικα. Αυτό είναι η UWP και αυτά ισχύουν από το '15 και έπειτα. Τα περισσότερα components (start menu,  action center, ρυθμίσεις) και αρκετές εφαρμογές των Windows 10 είναι UWP,  η έκδοση Windows 10X θα βασίζεται σχεδόν εξ' ολοκλήρου στη UWP.

Το πρόβλημα για τη UWP είναι ότι η MS απέτυχε εμπορικά στα mobiles (είτε με τα RT, είτε με τα Windows Phones), εκεί δηλαδή που δεν είχε άλλη εναλλακτική πλατφόρμα ανάπτυξης εφαρμογών. Αναφέρομαι πάντα στις native εφαρμογές. Κάποιος dev αυτή τη στιγμή θα επέλεγε την UWP μόνο αν ήθελε να αναπτύξει συγκεκριμένου τύπου native εφαρμογή για το Xbox (ή και παιχνίδι συμβατό με Xbox/desktop) ή αν ήθελε να χρησιμοποιήσει UI components των Windows 10 (WinUI 2.1). Διαφορετικά δε θα επιλέξει κάποιος την UWP, γιατί στο desktop υπάρχουν κάποιοι περιορισμοί (αν και όχι τόσο σημαντικοί για συγκεκριμένου τύπου εφαρμογές) σε σχέση με τη Win32, είτε για λόγους ασφαλείας (π.χ. file system access), είτε λόγω περιορισμένου χρόνου ανάπτυξης. Η Win32 αναπτύσσεται/συντηρείται 30+ χρόνια, η UWP περίπου 6. 

Το project του άρθρου αυτά -της προηγούμενης παραγράφου- θα προσπαθήσει να τα συγκλίνει. Αφενός οι Win32 εφαρμογές να μπορέσουν να εκ-μοντερνιστούν (πρόσβαση στα UI components των Windows 10) με το WinUI 3 και να χρησιμοποιήσουν λειτουργίες της UWP, αφετέρου οι UWP εφαρμογές να αποκτήσουν δυνατότητες αντίστοιχες των desktop. π.χ. βελτιωμένη πρόσβαση στο σύστημα αρχείων, πρόσβαση σε οπτικά μέσα αποθήκευσης κ.τ.λ.

Επεξ/σία από marios28
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ο Nadella και οι αποφάσεις του, είναι οτι πιο ευτυχές θα μπορούσε να βρεθεί για την Microsoft. Αυτά πρέπει να τα βλέπουν κάτι γερομάστορες τύπου Ballmer και να ντρέπονται για την σαπίλα της οπτικής τους γωνίας για το τι εστί computing.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 20/5/2020 στις 9:42 ΠΜ, Retromaniac είπε

Από ποια άποψη;

από την άποψη ότι δεν πουλάει, οι developers δεν γράφουν εφαρμογές, σε περιορίζει και το βήμα της ενοποίησης σημαίνει ότι το έχουν καταλάβει και προσπαθούν να το κρατήσουν όσος μπορούν. το UWP ήταν για τα windows phones και το xbox και κατά συνεχεια στα windows απλά όταν πέθαναν τα windows phone πέθανε και όλη η πλατφόρμα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

 

Στις 22/5/2020 στις 2:57 ΜΜ, MadSheep είπε

από την άποψη ότι δεν πουλάει, οι developers δεν γράφουν εφαρμογές, σε περιορίζει και το βήμα της ενοποίησης σημαίνει ότι το έχουν καταλάβει και προσπαθούν να το κρατήσουν όσος μπορούν. 

Οι developers δε γράφουν -γενικά- εφαρμογές για τα Windows και σ' αυτό δεν φταίει η UWP ή η ενοποίηση. Αλλά το ότι ο κόσμος έχει αλλάξει και έχουμε πάει σε Web και σε mobile εφαρμογές. Παρόλα αυτά μου φαίνεται χλωμό κάποιος dev να μη θέλει η εφαρμογή του (είτε native, είτε όχι) με τον ίδιο κώδικα να τρέχει σε όσο το δυνατόν περισσότερες διαφορετικού τύπου συσκευές και να υποστηρίζει όλες τις μορφές εισόδου δεδομένων, εφόσον του δίνεται η δυνατότητα, του είναι εύκολο (τόσο η ανάπτυξη, όσο και η συντήρηση) και είναι και αποδοτικές οι εφαρμογές του.

Στις 22/5/2020 στις 2:57 ΜΜ, MadSheep είπε

το UWP ήταν για τα windows phones και το xbox και κατά συνεχεια στα windows απλά όταν πέθαναν τα windows phone πέθανε και όλη η πλατφόρμα.

Το Xbox ξέρεις υπάρχει ακόμη. Οι μόνες εφαρμογές που υποστηρίζει είναι UWP εφαρμογές. Τα Windows 10X είναι το νέο light λειτουργικό της MS. Δεν ξέρω αν είσαι ενημερωμένος, αλλά οι μόνες εφαρμογές που θα τρέχουν natively, είναι οι UWP εφαρμογές. Άρα δεν ήταν μόνο τα windows phones. Επίσης με τις προσθήκες των τελευταίων ετών, στέκονται ανετότατα σε desktop περιβάλλον. Προφανώς παίρνουν βελτίωση, εξ' ου και το reunion.

Παρακάτω μερικά σχήματα για να καταλάβεις περί τίνος πρόκειται και αν όλα αυτά είναι ή δεν είναι ενοποίηση.

Όσον αφορά τις πλατφόρμες ανάπτυξης εφαρμογών (web, Windows, cross platform κ.τ.λ.)... Τι ισχύει τώρα:

DotNet-Architecture.jpg

 

Τι θα ισχύει (τέλος του '20)

DotNet5.jpg

 

Όσον αφορά το UI.. Τι ισχύει τώρα:

roadmap_winui2.png

Τι θα ισχύει:

roadmap_winui3.png

Ενδεικτικά το project reunion:

https://github.com/microsoft/ProjectReunion/blob/master/docs/projectreunion.gif

Τέλος στη MS Build ανακοινώθηκε και κάτι ακόμη σημαντικό σχετικά με την ανάπτυξη cross-platform (native UI) εφαρμογών. Χamarin.Forms --> MAUI (τέλος του '21, .NET6) 

maui-01-overview.png

 

Προφανώς μένει να τα δούμε όλα αυτά.

Επεξ/σία από marios28
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...