Firemonkey από απλό σε σύνθετο. Τι είναι το FireMonkey; έλλειψη υποστήριξης για την προσαρμογή των εγγενών τάξεων

Τι είναι το FireMonkey;


Το FireMonkey (FMX) είναι ένα πλαίσιο για ανάπτυξη πολλαπλών πλατφορμών τόσο για επιτραπέζιους υπολογιστές (Windows, Mac OS + υποστήριξη διακομιστή σε Linux σχεδιάζεται στο εγγύς μέλλον) όσο και για κινητά (iOS και Android) χρησιμοποιώντας τη γλώσσα Delphi/C++.

Ιδιαιτερότητες:

  • ενιαία βάση κώδικα για όλες τις πλατφόρμες.

  • οποιοδήποτε στοιχείο ελέγχου (οπτικό στοιχείο) μπορεί να είναι ένα δοχείο (γονικό) για άλλα εξαρτήματα.

  • η παρουσία μιας πολύ προηγμένης σχετικής διάταξης (20 τύποι) εξαρτημάτων στη φόρμα·

  • Το LiveBinding σάς επιτρέπει να συνδέετε οποιονδήποτε τύπο δεδομένων ή πληροφοριών σε οποιοδήποτε περιβάλλον χρήστη ή γραφικά αντικείμενα.

  • παρουσία στυλ φόρμας/συστατικού.

  • Η προεπισκόπηση πολλαπλών συσκευών σάς επιτρέπει να προσαρμόσετε την οπτική παρουσίαση για κάθε πλατφόρμα.

  • FireUI Live Preview - εμφανίζει την εμφάνιση της εφαρμογής σε πραγματικές συσκευές σε πραγματικό χρόνο.

Δυνατότητες:

  • χρήση του εγγενούς API κάθε πλατφόρμας, καθώς και δυνατότητα κλήσης εγγενών βιβλιοθηκών τρίτων.

  • αλληλεπίδραση με όλους τους αισθητήρες (GPS, Επιταχυνσιόμετρο, Πυξίδα, Bluetooth (συμπεριλαμβανομένου του LE) και άλλους).

  • υποστήριξη για ειδοποιήσεις push, IoT.

  • υποστήριξη για ασύγχρονα αιτήματα HTTP.

  • υποστήριξη για τις περισσότερες βάσεις δεδομένων (MsSQL, MySql, Oracle, PostgreSQL, MongoDB, κ.λπ.)

  • Εργασία με την Υπηρεσία Cloud (Amazon, Azure).

  • Υποστήριξη υπηρεσίας Android.

Μειονεκτήματα (προς το παρόν):

  • έλλειψη υποστήριξης για την προσαρμογή των εγγενών τάξεων.

  • Η υλοποίηση συγκεκριμένων πραγμάτων είτε είναι αδύνατη (widgets, επεκτάσεις (iOS) κ.λπ.) είτε απαιτείται χορός με ντέφι (υπηρεσία παρασκηνίου, εκπομπή μηνύματος κ.λπ.).

  • Η προσαρμογή της οθόνης Splash (αρχική οθόνη), για να το θέσω ήπια, λείπει.

  • Τα στοιχεία ελέγχου FMX χρησιμοποιούν τη δική τους απόδοση (οπτικοποίηση, σχεδίαση), η οποία είναι καθαρά οπτικά παρόμοια με την εγγενή.

  • Η χρήση εγγενών χειριστηρίων περιλαμβάνει μεγάλες κινήσεις του σώματος.

  • όταν υπάρχει μεγάλη ένθεση εξαρτημάτων, συμβαίνουν απίστευτα πράγματα: η εφαρμογή κολλάει σε διάφορα σημεία, χάνει την εστίαση, παγώνει κ.λπ.

  • το περιεχόμενο πληροφοριών του εντοπισμού σφαλμάτων μιας εφαρμογής σε πλατφόρμες για κινητές συσκευές είναι μηδενικό.

  • οι περιγραφές σφαλμάτων σε πλατφόρμες φορητών συσκευών μειώνονται στο άχρηστο "Σφάλμα 0x00000Χ".

  • Ο χρόνος μεταγλώττισης θέλει να είναι ο καλύτερος για μεσαία και μεγάλα έργα.

  • την ανάγκη χρήσης ενός αρχείου για την επεξεργασία εφαρμογών για κινητές συσκευές για κάθε πλατφόρμα·

  • δεν υπάρχει υποστήριξη για την αρχιτεκτονική Intel Atom.

  • ανεπαρκής τιμή σε σύγκριση με τους ανταγωνιστές.

Πλεονεκτήματα:

  • πολύ ενεργή ανάπτυξη τόσο του προϊόντος όσο και της κοινότητας τελευταία, υποστήριξη για όλο και περισσότερες νέες τεχνολογίες.

  • η παρουσία ενός τεράστιου αριθμού δωρεάν και εμπορικών εξαρτημάτων.

  • Η ταχύτητα της εφαρμογής είναι πολύ κοντά στην εγγενή.

  • πολύ προηγμένο οπτικό πρόγραμμα επεξεργασίας και γενικότερα περιβάλλον, η παρουσία στυλ.

  • τη δυνατότητα δοκιμής μιας εφαρμογής στο Win και μόνο μετά την ανάπτυξή της σε συσκευές, γεγονός που επιταχύνει σημαντικά την ανάπτυξη.

  • αλλαγή τρόπου/πλατφόρμας με μια κίνηση του καρπού.

  • Το PAServer παρέχει εύκολη αλληλεπίδραση με MacO κατά την ανάπτυξη για Apple OS.

  • Υποστήριξη τρισδιάστατων γραφικών εκτός συσκευασίας.

Εν κατακλείδι, θέλω να πω ότι τα τελευταία δύο χρόνια το FireMonkey έχει εξελιχθεί σε ένα επαγγελματικό εργαλείο για την ανάπτυξη επιχειρηματικών εφαρμογών μεταξύ πλατφορμών και όχι μόνο. Πολλές ελλείψεις επιλύονται σταδιακά και με κάθε κυκλοφορία το προϊόν γίνεται πιο σύγχρονο και αυτάρκης, ενώ εξαφανίζεται και ο υπάρχων σκεπτικισμός απέναντι στην ίδια τη γλώσσα των Δελφών, που συνδέεται με πολλά χρόνια στασιμότητας. Η σύνταξη νέων έργων στο FireMonkey είναι «ασφαλής» και πολλά υποσχόμενη.

Κυκλοφόρησε τον Σεπτέμβριο του περασμένου έτους, το Delphi XE2 περιέχει έναν αριθμό ρεκόρ καινοτομιών.
Σύντομες επισκοπήσεις των δυνατοτήτων του Delphi XE2 έχουν ήδη δημοσιευτεί στο Habré. Αλλά, προφανώς, η πιο εντυπωσιακή καινοτομία είναι η πλατφόρμα FireMonkey και εδώ θα ήθελα να της δώσω λίγη προσοχή.
Έχω κάνει μια μικρή επιλογή από συνδέσμους προς υλικά που, ελπίζω, θα σας βοηθήσουν να αποκτήσετε μια περισσότερο ή λιγότερο επαρκή ιδέα για αυτήν την πλατφόρμα. Πρώτα όμως, για όσους δεν το γνωρίζουν, θα σας πω εν συντομία τι είναι το FireMonkey.
Η Embarcadero Technologies τοποθετεί το FireMonkey ως πλατφόρμα για τη δημιουργία πλούσιων επιχειρηματικών εφαρμογών για Windows, Mac και iOS. Επιπλέον, αυτή η πλατφόρμα είναι εγγενής σε κάθε λειτουργικό σύστημα, δηλ. Κατά την εκτέλεση μιας εφαρμογής που δημιουργήθηκε με χρήση FireMonkey, δεν χρησιμοποιούνται πρόσθετα πρόσθετα.
Το FireMonkey συνδέεται απευθείας με μια εγγενή (από την άποψη του λειτουργικού συστήματος) βιβλιοθήκη γραφικών όπως το OpenGL ή το DirectX. Έτσι, προτείνεται η καλύτερη λύση από άποψη GPU.
Ο πυρήνας της αρχιτεκτονικής FireMonkey είναι μια ισχυρή βιβλιοθήκη κλάσεων (συμπεριλαμβανομένων οπτικών στοιχείων).
Η πλατφόρμα στόχος επιλέγεται κατά τη διαδικασία μεταγλώττισης.
Η πρώτη έκδοση του FireMonkey υποστήριζε μόνο Win32, Win64, MacOSX και iOS, αλλά η Embarcadero σχεδιάζει να το μεταφέρει σε πολλές άλλες πλατφόρμες στο μέλλον.

Τι πρέπει να λάβετε υπόψη;

Αν και η πλατφόρμα FireMonkey παρέχει εκτεταμένα εργαλεία για την ανάπτυξη τρισδιάστατων εφαρμογών, δεν θα πρέπει να θεωρείται μηχανή παιχνιδιών. Το FireMonkey τοποθετείται ειδικά ως πλατφόρμα για την ανάπτυξη επιχειρηματικών εφαρμογών.
Το προϊόν βρίσκεται επί του παρόντος στα αρχικά στάδια της εξέλιξής του. Και πολλά λειτουργικότηταΤο FireMonkey υφίσταται αλλαγές, τόσο ποιοτικές όσο και ποσοτικές.

Ελπίζω οι παρακάτω σύνδεσμοι να σας βοηθήσουν να κατανοήσετε τα κύρια χαρακτηριστικά της νέας πλατφόρμας.
Επίσημη σελίδα προϊόντος στον ιστότοπο Embarcadero (ρωσικά)

Μεταξύ του αγγλόφωνου υλικού θα ήθελα να επισημάνω τη σειρά (Αγγλικά)

Τι να δεις?

Σχετικά με τελευταία έκδοση Delphi, υπάρχει περισσότερο υλικό βίντεο αφιερωμένο στις δυνατότητες του προϊόντος και στον τρόπο εργασίας με αυτό από ποτέ. Τόσο επίσημα, από την Embarcadero, και από ανεξάρτητους προγραμματιστές. Υπάρχουν πολλά βίντεο σχετικά με το FireMonkey στο YouTube, μπορείτε απλώς να χρησιμοποιήσετε την αναζήτηση. Μεταξύ αυτής της αφθονίας υλικού, θα επισημάνω μια σειρά από τρία βίντεο από τη σελίδα προορισμού Marco Cantu - RAD in Action, δίνοντας έτσι στην έρευνά μου ένα διάνυσμα χρησιμότητας.

Πιθανότατα γνωρίζετε ότι η Embarcadero προωθεί ενεργά το νέο της όραμα για τη δημιουργία ενός cross-platform GUI - FireMonkey ( το αποκαλούν πλαίσιο, αλλά για την τρέχουσα κατάστασή του ακούγεται πολύ ωραίο). Ο ένας διαγωνισμός μετά τον άλλο ανακοινώνεται στο RuNet, διοργανώνονται διαδικτυακά σεμινάρια και παρόλο που η ποιότητα του τελευταίου αφήνει πολλά περιθώρια, η δραστηριότητα είναι ενθαρρυντική. Τώρα, στην πραγματικότητα, στο θέμα. Στο πλαίσιο του τελευταίου διαγωνισμού, προτάθηκε η ανάπτυξη κάποιου είδους εφαρμογής για μάθηση. Και χθες εμφανίστηκε ένα άλλο έργο με συγγραφέα τον Evgeniy Chmel ( Δεν ξέρω αν αυτό το επώνυμο έχει κλίση ή όχι). Σε αντίθεση με τις απλές «μονόμορφες» που είδαμε νωρίτερα, εδώ έγινε μια προσπάθεια να τραβήξουμε τον πίθηκο από όλα τα άκρα του: στυλιζάρισμα, 3D, εφέ σκίασης ( Οι ευαγγελιστές του Embarcadero λατρεύουν να μιλούν για γραφικά με επιτάχυνση GPU :))). Ας δούμε τι προέκυψε από αυτό. Για όσους δεν έχουν παρακολουθήσει τα διαδικτυακά σεμινάρια, θα κάνω μια μικρή παρέκβαση. Σε ένα από τα διαδικτυακά σεμινάρια, ο ευαγγελιστής του Embarcadero Vsevolod Leonov είπε μια συγκλονιστική ιστορία για το πώς έπρεπε να "επανεκκινήσει τον υπολογιστή, συγκεκριμένα, σκληρά" (αυτό είναι ένα απόσπασμα) λόγω του γεγονότος ότι το Silverlight SDK και Εξομοιωτής WindowsΤο τηλέφωνο 7 "δεν λειτούργησε" (αυτό είναι ένα απόσπασμα) στον υπολογιστή του επειδή... Δεν τους άρεσε ο προσαρμογέας βίντεο ή οι ρυθμίσεις GPU. Αλλά οι εφαρμογές που αναπτύχθηκαν με χρήση FireMokey, συνεχίζει η Vsevolod, δεν είναι καθόλου απαιτητικές σκεύη, εξαρτήματα. Ας δούμε πώς μας είπε ψέματα. Ο Process Explorer v15.05 από τον Mark Rusinovich θα είναι ο αμερόληπτος μάρτυρας μας. Λοιπόν, κατεβάστε την εφαρμογή του Evgeniy και ξεκινήστε ( Δεν παρέχω στιγμιότυπα οθόνης της εφαρμογής του Evgeniy, είναι διαθέσιμα στον σύνδεσμο της δουλειάς του. Σημειώστε τις θολές γραμματοσειρές).

Ξεκίνησε την εφαρμογή. Ας δούμε την κατανάλωση:

Άτιμος, αλλά μπορείς να συγχωρήσεις» προχωρημένη τεχνολογία" Μεταβείτε στην ενότητα "Μαθήματα" και επιλέξτε "Μάθημα 5". Αρχίζει η προετοιμασία της σκηνής. Αυτή η διαδικασία είναι μεγάλη ( Μου πήρε λίγο περισσότερο από ένα λεπτό, σε τετραπύρηνο Phenom II με συχνότητα 3,3 GHz), Κάνε υπομονή. Η σκηνή είναι χτισμένη. Ας δούμε την κατανάλωση:

Η μαϊμού ήταν καλοφαγωμένη. Πολύ καλά. Τώρα δοκιμάστε να μετακινήσετε το ποντίκι σας πάνω από τα κουμπιά επιλογής απάντησης. Φαίνεται ότι το GUI αντιδρά πολύ αργά, έτσι δεν είναι; Δείτε το γράφημα χρήσης της CPU ( Εννοώ ότι πρέπει να το δοκιμάσετε μόνοι σας, στον υπολογιστή σας) – αυτές τις στιγμές το φορτίο του πλησιάζει το 100% ( Είχα ~21,5% για έναν τετραπύρηνο επεξεργαστή, που ισοδυναμεί με 86% για έναν μονοπύρηνο επεξεργαστή). Αλλά κάποιος μας είπε για τα επιταχυνόμενα γραφικά GPU. Εντάξει, ας προχωρήσουμε. Απαντάμε σε όλες τις ερωτήσεις του μαθήματος. Ας δούμε την κατανάλωση:

Τα μάτια σου είναι διάπλατα; Τώρα κοιτάξτε, για σύγκριση, πόσο καταναλώνει το 3D shooter FarCry με το ενεργό παιχνίδι ( το επίπεδο λέγεται Factory, αν ενδιαφέρεται κάποιος) σε λειτουργία πλήρους οθόνης 1440x900:

Βγάλτε τα συμπεράσματά σας.

Έχουν περάσει περισσότερα από τρία χρόνια από τότε που το τμήμα CodeGear, υπεύθυνο για τη δημιουργία παγκοσμίου φήμης εργαλείων όπως οι Delphi, C++Builder και JBuilder, καθώς και το σύστημα διαχείρισης βάσεων δεδομένων Interbase, έγινε μέρος της Embarcadero Technologies, γνωστής για τα εργαλεία της για το σχεδιασμό και τη διαχείριση βάσεων δεδομένων, και δύο χρόνια από τότε που συζητήσαμε στις σελίδες του περιοδικού μας τι να περιμένουμε στην ανάπτυξη εργαλείων που είναι τόσο δημοφιλή Ρώσοι προγραμματιστές. Ζητήσαμε από τον David Intersimone, αντιπρόεδρο των σχέσεων προγραμματιστών και επικεφαλής ευαγγελιστή στην Embarcadero Technologies, και τον Kirill Rannev, επικεφαλής του γραφείου αντιπροσωπείας της Embarcadero Technologies, να μιλήσουν για το τι νέο έχει γίνει σε αυτόν τον τομέα τα τελευταία δύο χρόνια και τι να περιμένουμε στο το εγγύς μέλλον.Ρωσία. Για τους νεότερους αναγνώστες μας, θα σας ενημερώσουμε ότι αυτή δεν είναι η πρώτη συνέντευξη που δίνουν ο David και ο Kirill στο ComputerPress - η συνεργασία μας συνεχίζεται τη δεύτερη δεκαετία. Και για τα ίδια περίπου χρόνια, δημοσιεύουμε περιοδικά κριτικές εργαλείων διαχείρισης βάσεων δεδομένων, στις οποίες δίνεται μεγάλη προσοχή στα προϊόντα Embarcadero.

ComputerPress:Ντέιβιντ, το τμήμα σου είναι μέρος της Embarcadero εδώ και τρία χρόνια. Πριν από δύο χρόνια, ήσασταν ενθουσιασμένοι με το να γίνετε μέλος μιας εταιρείας κοντά στους στόχους και το πνεύμα σας. Έχει αλλάξει κάτι αυτό το διάστημα; Εσείς και οι συνάδελφοί σας εξακολουθείτε να έχετε τον ίδιο ενθουσιασμό;

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

Η κυκλοφορία του RAD Studio XE 2, το οποίο σκοπεύουμε να παρουσιάσουμε στη Μόσχα, είναι η μεγαλύτερη έκδοση αυτού του προϊόντος με τεράστιες δυνατότητες και μεγάλο αριθμό υποστηριζόμενων πλατφορμών από την πρώτη έκδοση του Delphi, που δημιουργήθηκε για την έκδοση 16-bit των Windows και το οποίο ήταν ένα καινοτόμο προϊόν που συνδύαζε την προσέγγιση στοιχείων και τη μεταγλώττιση σε κώδικα μηχανής. Τώρα υποστηρίζουμε την ανάπτυξη όχι μόνο για Windows, αλλά και για Macintosh, για να μην αναφέρουμε την ανάπτυξη ιστού και τη δημιουργία εφαρμογών για κινητές συσκευές, και αυτές οι εφαρμογές για διαφορετικές πλατφόρμες μπορούν να έχουν έναν μόνο κωδικό.

Η νέα πλατφόρμα ανάπτυξης - FireMonkey - είναι μια κοινή προσπάθεια μεταξύ της Embarcadero και της πρόσφατα εξαγορασθείσας ρωσικής εταιρείας KSDev από την UlanUde, έναν κατασκευαστή εξαρτημάτων για διανυσματικά γραφικά, DirectX και OpenGL, τεχνολογίες δημιουργίας γραφικών εφέ και Στοιχεία Delphiχρησιμοποιώντας GPUμε το PixelShader 2.0. Αποκτήσαμε την εταιρεία KSDev (βλ. ksdev.ru) πριν από ένα χρόνο και ξεκινήσαμε συνεργασίεςγια τη δημιουργία ενός εργαλείου ανάπτυξης πολλαπλών πλατφορμών που περιλαμβάνει την πλατφόρμα ανάπτυξης εφαρμογών FireMonkey με στοιχεία Delphi και C++Buider για δημιουργία διεπαφής χρήστη εφαρμογών, ενοποίηση βάσεων δεδομένων, επεξεργασία γραφικών GPU και ενοποίηση λειτουργικού συστήματος.

Χρησιμοποιώντας το FireMonkey, μπορείτε να δημιουργήσετε μια εφαρμογή που εκτελείται σε CPU και GPU μαζί και, στη συνέχεια, να χρησιμοποιήσετε διαφορετικούς μεταγλωττιστές και βιβλιοθήκες χρόνου εκτέλεσης (RTL) για να τη μεταγλωττίσετε για Windows, Mac OS ή iOS. Αντί να μάθουν να προγραμματίζουν χρησιμοποιώντας διαφορετικές βιβλιοθήκες γραφικών, να μαθαίνουν τα API διαφορετικών πλατφορμών που έχουν διαφορετικά συστήματα συντεταγμένων και διαφορετικές δυνατότητες, οι προγραμματιστές που χρησιμοποιούν το Delphi και το C++Builder μπορούν να χρησιμοποιήσουν την ίδια προσέγγιση βασισμένη σε στοιχεία, επεξεργάζοντας οπτικά φόρμες και συνδέοντας βάσεις δεδομένων μετακινώντας το στοιχείο με το ποντίκι. Αυτός είναι ένας θεμελιωδώς νέος τρόπος δημιουργίας εφαρμογών που τρέχουν σε διαφορετικές πλατφόρμες και είναι το μέλλον. Εάν θέλετε να προσθέσετε υποστήριξη για άλλα λειτουργικά συστήματα και πλατφόρμες στην εφαρμογή σας, δεν χρειάζεται να την σχεδιάσετε και να την αναπτύξετε ξανά - απλά πρέπει να την μεταγλωττίσετε ξανά.

Δημιουργούμε νέους μεταγλωττιστές που δημιουργούν εγγενή κώδικα. Σήμερα υπάρχουν μεταγλωττιστές Delphi για 32- και 64-bit εκδόσεις των Windows, εκδόσεις 32-bit του Mac OS 10. Και εργαζόμαστε για την επόμενη γενιά μεταγλωττιστών Delphi και C++Builder που θα σας επιτρέψουν να δημιουργήσετε κώδικα μηχανής υψηλής απόδοσης τόσο για αυτές όσο και για άλλες πλατφόρμες όπως το Android ή το Linux και κρατήστε το ίδιο σχέδιο, τα ίδια στοιχεία, τον ίδιο κώδικα χρησιμοποιώντας διαφορετικούς μεταγλωττιστές και βιβλιοθήκες χρόνου εκτέλεσης.

Όπως καταλαβαίνετε, έχω αρκετούς λόγους για ενθουσιασμό. Και οι προγραμματιστές που συναντώ σε όλο τον κόσμο γνωρίζουν ότι η Embarcadero επενδύει πολλά σε Delphi και C++Builder, καθώς και σε εργαλεία ανάπτυξης PHP.

KP:Ποιες επιτυχίες έχετε επιτύχει στην ενοποίηση των εργαλείων των δύο εταιρειών τα τελευταία δύο χρόνια; Ποια είναι τα σχέδια της Embarcadero για το μέλλον σε αυτόν τον τομέα;

DI.:Την εποχή που το CodeGear έγινε μέρος του Embarcadero, η εταιρεία είχε ομάδες ανάπτυξης στο Τορόντο, το Μοντερέι και τη Ρουμανία, βρισκόμασταν και εξακολουθούμε να βρισκόμαστε στο Scotts Valley και στη Ρωσία, στην Αγία Πετρούπολη. Το Embarcadero είχε εργαλεία για προγραμματιστές και διαχειριστές βάσεων δεδομένων, το CodeGear είχε εργαλεία για την ανάπτυξη εφαρμογών, αλλά οι τελευταίοι χρησιμοποιούν επίσης βάσεις δεδομένων. Η συγχώνευση εταιρειών είναι ένας συνδυασμός τεχνογνωσίας, γνώσης στον τομέα των βάσεων δεδομένων, βελτιστοποίησης κώδικα, συμπεριλαμβανομένου του κώδικα διακομιστή. Ο συνδυασμός των εταιρειών οδήγησε επίσης στη δημιουργία ενός νέου προϊόντος, του AppWave, μιας ειδικής τεχνολογίας για τη μετατροπή μιας κανονικής εφαρμογής Windows σε κάτι πολύ εύκολο στη χρήση (όπως εφαρμογές για iPhone ή άλλες συσκευές). Το AppWave σάς επιτρέπει να μην εγκαταστήσετε μια εφαρμογή, αλλά απλώς να την επιλέξετε και να την εκκινήσετε από τον προετοιμασμένο διακομιστή αποθήκευσης εφαρμογών (εφαρμογή) και θα εκτελεστεί στον υπολογιστή του χρήστη χωρίς να κάνετε αλλαγές στο μητρώο και στην περιοχή του συστήματος σύστημα αρχείων. Παρεμπιπτόντως, το πρόγραμμα περιήγησης εφαρμογής AppWave είναι γραμμένο στους Δελφούς. Η Embarcadero χρησιμοποιεί την Dephi για τη δική της ανάπτυξη και την τεχνογνωσία μας στην ανάπτυξη εφαρμογών.

Εφαρμογή iPhone (iOS) που δημιουργήθηκε από
χρησιμοποιώντας την πλατφόρμα FireMonkey

Μπορείτε επίσης να χρησιμοποιήσετε την ενοποίηση των εργαλείων ανάπτυξης και του DB Optimizer για να βελτιστοποιήσετε τα ερωτήματα SQL κατά τη δημιουργία εφαρμογών. Περνώντας τον κώδικα SQL απευθείας στο DB Optimizer, μπορείτε να το προφίλ, να το δοκιμάσετε και να επιστρέψετε μια βελτιστοποιημένη έκδοση στο περιβάλλον ανάπτυξης σας. Η τεχνογνωσία της Embarcadero στη βάση δεδομένων έχει επίσης βελτιώσει την τεχνολογία DataSnap. Χάρη στους προγραμματιστές από το Τορόντο, αποκτήσαμε πολλές γνώσεις σχετικά με την αρχιτεκτονική συστημάτων πολλαπλών επιπέδων και βάσεων δεδομένων. Τώρα έχουμε κοινή τεχνογνωσία στη δημιουργία κώδικα διακομιστή και αποθηκευμένων διαδικασιών και στις δύο εταιρείες. Διαθέτουμε εργαλεία όπως το RapidSQL και το DB Change Manager, καθώς και περιβάλλοντα ανάπτυξης που απλοποιούν τη δημιουργία κώδικα διακομιστή - για παράδειγμα, οι τεχνολογίες Code Insight και Code Completion επέτρεψαν τη δημιουργία τεχνολογιών SQL insight και SQL Completion. Οι κοινές μας προσεγγίσεις για τη δημιουργία κώδικα πελάτη και διακομιστή, η κοινή μας φιλοσοφία, μας επιτρέπουν να δώσουμε κοινά χαρακτηριστικά στα εργαλεία διαχείρισης βάσεων δεδομένων και στα εργαλεία ανάπτυξης εφαρμογών.

Kirill Rannev:Θέλω να προσθέσω κάτι σημαντικό. Από εμπορική άποψη, ο τρόπος με τον οποίο παραδίδουμε τα εργαλεία μας είναι πολύ σημαντικός. Για παράδειγμα, νέα έκδοσηΤο RAD Studio XE 2 Ultimate περιλαμβάνει την πλήρη σουίτα εργαλείων DB Power Studio. Αυτό είναι ένα πολύ ισχυρό σύνολο εργαλείων, συμπεριλαμβανομένου του περιβάλλοντος ανάπτυξης ερωτημάτων RapidSQL, του εργαλείου διαχείρισης αλλαγών του DB Change Manager και του εργαλείου βελτιστοποίησης ερωτημάτων DB Optimizer, που σας επιτρέπουν να πραγματοποιήσετε ένα σημαντικό μέρος της διαδικασίας ανάπτυξης και ανάπτυξης διαχειριζόμενες αλλαγές σε το μοντέλο δεδομένων, τη βάση δεδομένων, τον κώδικα και ούτω καθεξής. Αυτός είναι ένας πολύ καλός και σωστός συνδυασμός τεχνολογιών.

DI.:Ωστόσο, εάν είναι απαραίτητο, οι προγραμματιστές μπορούν να χρησιμοποιήσουν το Subversion για έλεγχο έκδοσης πηγαίος κώδικαςκαι DB Change Manager για έκδοση μεταδεδομένων. Μπορείτε να χρησιμοποιήσετε το προφίλ κώδικα και το DB Optimizer για τη βελτιστοποίηση του κώδικα διακομιστή, το RapidSQL για τη δημιουργία και τον εντοπισμό σφαλμάτων κώδικα διακομιστή και τα περιβάλλοντα ανάπτυξης μας για τη δημιουργία και τον εντοπισμό σφαλμάτων εφαρμογών. Αυτός ο συνδυασμός τεχνολογιών στο RAD Studio XE Ultimate Edition καταδεικνύει τους παραλληλισμούς μεταξύ μοντέλων ανάπτυξης βάσεων δεδομένων και εφαρμογών. Οι περισσότεροι προγραμματιστές που δημιουργούν επιχειρηματικές εφαρμογές με το Delphi και το C++Builder δουλεύουν με βάσεις δεδομένων και χρειάζονται αυτά τα εργαλεία, και το RAD Studio XE Ultimate Edition είναι ένας εξαιρετικός συνδυασμός για τέτοιους προγραμματιστές.

KP:Ο σύγχρονος χρήστης δεν είναι πλέον χρήστης μόνο της πλατφόρμας των Windows. Χρησιμοποιούμε κινητές συσκευές, iPhone, iPad, συσκευές που βασίζονται στην πλατφόρμα Android. Αυτό σημαίνει ότι οι προγραμματιστές πρέπει να αρχίσουν να στοχεύουν διαφορετικές πλατφόρμες χωρίς να αυξάνουν σημαντικά τις επενδύσεις στην εκπαίδευση - δηλαδή χρειάζονται καθολικά εργαλεία. Προφανώς, δεν είναι ρεαλιστικό να περιμένουμε καθολικά εργαλεία από κατασκευαστές πλατφορμών και σε αυτό το θέμα μπορούμε να βασιζόμαστε μόνο σε ανεξάρτητους κατασκευαστές εργαλείων. Πώς μπορούμε να βασιστούμε στον Embarcadero;

DI.:Έχουμε ακόμη πολλά να κάνουμε όσον αφορά την υποστήριξη της πλατφόρμας. Σήμερα εισάγουμε την υποστήριξη για την πλατφόρμα iOS για iPhone και iPad και στη συνέχεια τα smartphone που βασίζονται στην πλατφόρμα Android, τα Windows 7 και το Blackberry θα λάβουν την υποστήριξή μας. Στο RAD Studio XE 2, ξεκινήσαμε δημιουργώντας την πλατφόρμα FireMonkey για iOS και στη συνέχεια θα φέρουμε το FireMonkey σε άλλες πλατφόρμες.

Ταυτόχρονα, υπάρχει μεγάλος αριθμός λειτουργικών συστημάτων που υποστηρίζουν οθόνες αφής για τηλέφωνα, υπολογιστές tabletκαι επιτραπέζιων συσκευών και θα συνεχίσουμε να προσθέτουμε υποστήριξη για αυτές. Επιπλέον, υπάρχουν φωνή, κίνηση, βιομετρικά συστήματα, επιταχυνσιόμετρα, επομένως πρέπει να συνεχίσουμε να επεκτείνουμε το FireMonkey ώστε όλοι οι προγραμματιστές να μπορούν να επωφεληθούν από τις νέες πλατφόρμες. Για παράδειγμα, η συσκευή Microsoft Kinect σχεδιάστηκε για το Xbox 360 και τώρα υπάρχει ένα αντίστοιχο SDK (Software Development Kit) για Windows. Και έχουμε ήδη παραδείγματα όπου χρησιμοποιούμε την κίνηση για να ελέγξουμε μια εφαρμογή με τον ίδιο σχεδόν τρόπο που θα χρησιμοποιούνταν κανονικά ένα ποντίκι ή πληκτρολόγιο.

Όταν δημιουργείτε εφαρμογές με πολλά σύνθετα γραφικά, δημιουργείτε έναν ολόκληρο κόσμο νέων διεπαφών χρήστη. Αν έχουμε να κάνουμε με χειρουργείο Σύστημα Windows, ενσωματώνουμε την εφαρμογή του διεπαφή λογισμικού Windows API στη βιβλιοθήκη VCL (Visual Component Library - μια βιβλιοθήκη οπτικών στοιχείων που αποτελεί μέρος των εργαλείων ανάπτυξης Delphi και C++Builder. - Σημείωση εκδ.), το οποίο, παρεμπιπτόντως, μπορεί να χρησιμοποιηθεί περαιτέρω. Και στο FireMonkey ενσωματώνουμε το API του λειτουργικού συστήματος. Αλλά σήμερα χειριζόμαστε τα σχήματα και τα γραφικά πολύ ευρύτερα. Μπορείτε επίσης να προσθέσετε φυσικές ιδιότητες στο χώρο για κινούμενα σχέδια και ειδικά εφέ. Επιπλέον, υπάρχει ένας τεράστιος αριθμός άλλων πρόσθετων δυνατοτήτων για τη δημιουργία διεπαφών χρήστη που πρόκειται να εφαρμόσουμε τα επόμενα χρόνια για διαφορετικές πλατφόρμες, κινητές συσκευές και συσκευές tablet.

Η Microsoft ανακοίνωσε πρόσφατα λεπτομερείς πληροφορίεςσχετικά με τα Windows 8, τα οποία αναμένεται να κυκλοφορήσουν σε ένα χρόνο. Θα υποστηρίξουμε αυτές τις καινοτομίες στη βιβλιοθήκη VCL και στην πλατφόρμα FireMonkey. Αλλά το Delphi είναι ένα εργαλείο ανάπτυξης σχεδιασμένο όχι μόνο για Windows, αλλά και για Macintosh, iPhone και iPad. Αναπτύσσουμε επίσης τα προϊόντα μας PHP, υποστηρίζουμε το jQuery Mobile, χρησιμοποιούμε το iOS API για την ανάπτυξη εφαρμογών πελατών για κινητά και δημιουργούμε εφαρμογές PHP από την πλευρά του διακομιστή χρησιμοποιώντας οδηγούς και εργαλεία για τη δημιουργία JavaScript, HTML και φύλλων στυλ από την πλευρά του πελάτη. Μπορούμε να δημιουργήσουμε πακέτα από εφαρμογές PHP και εφαρμογές πελάτη με εγγενή κώδικα για iPhone iOS, και ένας τέτοιος πελάτης θα επικοινωνήσει με Διακομιστής PHP. Και αυτός, με τη σειρά του, θα επικοινωνεί με τον διακομιστή της βάσης δεδομένων και με τις υπηρεσίες web - με όλα όσα χρειάζονται για τις επιχειρήσεις.

Περιβάλλον ανάπτυξης RadPHP XE2. Δημιουργία διαδικτυακής εφαρμογής για κινητά
χρησιμοποιώντας στοιχεία jQuery Mobile για iPhone 3G

Με άλλα λόγια, σχεδιάζουμε να επεκτείνουμε τις δυνατότητες του FireMonkey και του VCL, συμπεριλαμβανομένης της υποστήριξης για κινητές πλατφόρμες.

KP:Θα μπορούσατε να μας πείτε περισσότερα για την πλατφόρμα FireMonkey;

DI.:Όπως έχω ήδη σημειώσει, η βιβλιοθήκη VCL που δημιουργήθηκε για τα Windows θα συνεχίσει να αναπτύσσεται και να βελτιώνεται. Αλλά σήμερα, εάν θέλετε πραγματική ανάπτυξη επιχειρηματικών εφαρμογών, πρέπει να τις δημιουργήσετε για διαφορετικές πλατφόρμες. Για αυτό έχει σχεδιαστεί η πλατφόρμα FireMonkey. Υποστηρίζει τη δημιουργία διεπαφών χρήστη υψηλής ανάλυσης, τρισδιάστατα γραφικά υψηλής απόδοσης, υψηλούς ρυθμούς καρέ και, κυρίως, χρησιμοποιεί τον επεξεργαστή γραφικών για αυτό.

Μπορείτε να χρησιμοποιήσετε τέτοιες δυνατότητες κατά τη δημιουργία επιστημονικών, μηχανικών και επιχειρηματικών εφαρμογών. Τέτοιες εφαρμογές μπορούν να συνδεθούν σε βάσεις δεδομένων χρησιμοποιώντας τεχνολογία dbExpress, χρησιμοποιώντας ακόμα μη οπτικά στοιχεία που είναι γνωστά στους προγραμματιστές, όπως το ClientDataSet ή το DataSource, να χρησιμοποιούν τεχνολογία DataSnap, να συνδέονται σε οποιαδήποτε βάση δεδομένων, διακομιστές SOAP και REST. Μπορείτε να δημιουργήσετε ελκυστικά χειριστήρια, κουμπιά με κουτιά, ασυνήθιστους πίνακες και άλλα στοιχεία διεπαφής, τόσο σε δύο όσο και σε τρεις διαστάσεις. Μπορείτε να φορτώσετε ένα ολοκληρωμένο τρισδιάστατο μοντέλο στην εφαρμογή και να το συνδέσετε σε ένα σχήμα 2D στο οποίο μπορείτε να το περιστρέψετε και να το δείτε από διαφορετικές γωνίες. Μπορείτε να δημιουργήσετε έναν κύβο δεδομένων ή ένα τρισδιάστατο επιχειρηματικό γράφημα και να τον περιστρέψετε χρησιμοποιώντας το ποντίκι, το πληκτρολόγιο ή ακόμα και μια συσκευή Kinect ή μπορείτε να μπείτε μέσα στον κύβο και να δείτε τις διαφορετικές επιφάνειές του από μέσα. Και όλα αυτά μπορούν να γίνουν χρησιμοποιώντας μια GPU υψηλής ταχύτητας. Η ίδια εφαρμογή μπορεί στη συνέχεια να μεταγλωττιστεί για άλλη πλατφόρμα, όπως το Mac OS.

Μια εφαρμογή που περιέχει έναν περιστρεφόμενο κύβο δεδομένων,
τοποθετείται στις άκρες του

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

Στα Windows για εργασία με δισδιάστατα γραφικά υψηλής ανάλυσηςμπορείτε να χρησιμοποιήσετε βιβλιοθήκες Direct2D και για 3D γραφικά- Direct3D. Σε Mac OS, οι βιβλιοθήκες Quartz και OpenGL χρησιμοποιούνται για τους ίδιους σκοπούς. Για iOS, χρησιμοποιούνται οι βιβλιοθήκες Quartz και OpenGL ES. Αλλά όλα αυτά είναι κρυμμένα από τον προγραμματιστή - χρησιμοποιεί την πλατφόρμα FireMonkey, το σύστημα συντεταγμένων και τη διεπαφή προγραμματισμού εφαρμογών, χωρίς να σκέφτεται αυτές τις βιβλιοθήκες και μπορεί να μεταγλωττίσει την ίδια εφαρμογή για διαφορετικές πλατφόρμες.

Ας θυμηθούμε τι είναι το VCL. Το VCL είναι ένα περιτύλιγμα στοιχείων γύρω από το API των Windows. Ασχολούμαστε με πόρους, μενού, παράθυρα διαλόγου, χρώματα, στυλ, μηνύματα Windows. Όντας ένα περιτύλιγμα πολλαπλών πλατφορμών, σε αντίθεση με το VCL, το FireMonkey διατηρεί τα ίδια μοντέλα συμβάντων και στοιχείων, επιτρέποντάς σας να σκεφτείτε με όρους συμβάντων (για παράδειγμα, συμβάντα OnClick, OnHasFocus, onMouseDown και onKeyDown), αλλά χειρίζεται συμβάντα Macintosh ή iPhone.

Η πλατφόρμα FireMonkey συνοδεύεται επίσης από πλήρες σύστημακινούμενη εικόνα στοιχείων διεπαφής χρήστη. Σίγουρα δεν είναι ένα ολοκληρωμένο σύστημα κινούμενων σχεδίων σε στυλ Pixar, αλλά επιτρέπει εφέ όπως κινούμενα σχέδια bitmap, επισήμανση εστίασης στοιχείων διεπαφής χρήστη και διανυσματικά γραφικά. Περισσότερα από 50 οπτικά εφέ είναι διαθέσιμα στον προγραμματιστή: θόλωση, μετατροπή της εικόνας σε ασπρόμαυρη, διάλυση, μεταβάσεις, αντανάκλαση, δημιουργία σκιών - όλοι οι τύποι εφέ διατίθενται σε σύγχρονους επεξεργαστές γραφικών, που βρίσκονται πλέον σε σχεδόν οποιονδήποτε υπολογιστή. Μια εφαρμογή που έχει κατασκευαστεί χρησιμοποιώντας την πλατφόρμα FireMonkey στέλνει εντολές στη GPU, η οποία κάνει όλη τη δουλειά για την εμφάνιση γραφικών και τη δημιουργία της διεπαφής χρήστη. Εν ΕΠΕΞΕΡΓΑΣΤΗΣδωρεάν για υπολογισμούς και κλήσεις προς το λειτουργικό σύστημα. Ο προγραμματιστής μπορεί να τοποθετήσει μόνο τα στοιχεία σωστά.

Το πιο θεμελιώδες πράγμα για την πλατφόρμα FireMonkey είναι ο τρόπος με τον οποίο δημιουργεί το περιβάλλον εργασίας χρήστη. Υπάρχουν εγκαταστάσεις διαμονής ράστερ γραφικάσε στοιχεία διεπαφής όπως μενού, κουμπιά και γραμμές κύλισης. Στο FireMonkey, χρησιμοποιούμε διανυσματικά γραφικά με GPU για αυτόν τον σκοπό. Από την άποψη του προγραμματισμού, αυτά εξακολουθούν να είναι τα ίδια χειριστήρια, αλλά όλη η εργασία για την εμφάνισή τους πραγματοποιείται από τον επεξεργαστή γραφικών. Μπορούμε να εφαρμόσουμε στυλ σε στοιχεία ελέγχου, να κάνουμε την εφαρμογή να μοιάζει με εφαρμογή για Mac OS ή Windows, να δημιουργήσουμε το δικό μας στυλ, να εφαρμόσουμε τα δικά μας στυλ σε στοιχεία διεπαφής (για παράδειγμα, να κάνουμε ένα κουμπί ορθογώνιο ή στρογγυλό αλλάζοντας το στυλ του στο πρόγραμμα επεξεργασίας φόρμας ) - για αυτό Υπάρχει ένας επεξεργαστής στυλ στο περιβάλλον ανάπτυξης. Μπορείτε να δημιουργήσετε το δικό σας στυλ ή μπορείτε να αλλάξετε το στυλ μιας ήδη ολοκληρωμένης εφαρμογής.

FireMonkey Platform - Εργαλεία Ανάπτυξης
και υποστηριζόμενες πλατφόρμες

Αν θυμάστε, η βιβλιοθήκη VCL είχε περιορισμένο αριθμό χειριστηρίων - κοντέινερ (δηλαδή, που σας επέτρεπαν να τοποθετήσετε άλλα στοιχεία σε αυτά), και στο FireMonkey κάθε στοιχείο ελέγχου είναι ένα κοντέινερ. Αυτό σημαίνει ότι κάθε στοιχείο ελέγχου μπορεί να περιέχει οποιοδήποτε άλλο στοιχείο ελέγχου. Για παράδειγμα, τα στοιχεία της αναπτυσσόμενης λίστας μπορεί να περιέχουν εικόνες, κουμπιά, πεδία επεξεργασίας και άλλα στοιχεία ελέγχου. Μπορείτε επίσης να τοποθετήσετε εξαρτήματα σε στρώματα.

Το σύστημα απόδοσης FireMonkey είναι αρκετά ευέλικτο - μπορεί να χρησιμοποιήσει τις βιβλιοθήκες Direct2D, Direct3D και OpenGL, στέλνοντας εντολές στη GPU. Για να πετύχετε το ίδιο πράγμα στο VCL, έπρεπε να δημιουργήσετε ένα ξεχωριστό buffer εκτός οθόνης, να δημιουργήσετε μια εικόνα σε αυτό καλώντας τις κατάλληλες λειτουργίες βιβλιοθήκης γραφικών και, στη συνέχεια, να το εμφανίσετε στη φόρμα.

Παραδείγματα γραφικών εφέ που υποστηρίζονται από το FireMonkey

Εάν δεν έχετε GPU, μπορείτε να εφαρμόσετε σχήματα 2D ή 3D και να χρησιμοποιήσετε τα στοιχεία ελέγχου FireMonkey. Σε αυτήν την περίπτωση, η πλατφόρμα FireMonkey θα χρησιμοποιήσει τις βιβλιοθήκες GDI+ ή άλλες παρόμοιες βιβλιοθήκες και θα εκτελέσει τα ίδια εφέ και κινούμενα σχέδια ή χειρισμό τρισδιάστατων αντικειμένων.

Ένα άλλο χαρακτηριστικό του FireMonkey είναι νέο σύστημασύνδεση στοιχείων διεπαφής με δεδομένα, ανοιχτό και ευέλικτο. Υπάρχουν δύο τύποι στοιχείων διεπαφής στο VCL: δεσμευμένα με δεδομένα και μη δεσμευμένα δεδομένα (για παράδειγμα, TDBEdit και TEdit). Στο FireMonkey, κάθε στοιχείο ελέγχου μπορεί να συσχετιστεί με δεδομένα οποιουδήποτε τύπου. Αυτό θα μπορούσε να είναι μια απλή έκφραση, ένα πεδίο από ένα σύνολο δεδομένων, δεδομένα από αντικείμενα που δημιουργήθηκαν από προγραμματιστές ή τα αποτελέσματα των κλήσεων μεθόδων.

Επιπλέον, όταν δημιουργείτε μια εφαρμογή, μπορείτε να φορτώσετε ένα έτοιμο τρισδιάστατο μοντέλο σε αυτήν και να το χρησιμοποιήσετε - τέτοιες δυνατότητες απαιτούνται συχνά τόσο σε επιχειρηματικές όσο και σε εφαρμογές μηχανικής. Έχουμε έναν πελάτη που δημιουργεί εφαρμογές για logistics. Είχαν Σύστημα πληροφορίων, που κατασκευάστηκε χρησιμοποιώντας τους Δελφούς και σε αυτό - μια εφαρμογή που σχεδίαζε ένα σχέδιο και εμφάνιζε πληροφορίες από πηγές δεδομένων. Πρόσφατα έκαναν κάτι ενδιαφέρον - σχεδίασαν μια πλήρως αυτοματοποιημένη τρισδιάστατη αποθήκη στο AutoCAD και η εφαρμογή τους σας επιτρέπει να δείτε πώς το αυτοματοποιημένο περονοφόρο ανυψωτικό κινείται στην αποθήκη και τοποθετεί τα εμπορεύματα στα ράφια. Και βάζουν στοιχεία από τις πηγές στην αντίστοιχη εικόνα.

Παραδείγματα αλλαγής στυλ εφαρμογών

KP:Ποιες μορφές τρισδιάστατων μοντέλων υποστηρίζονται αυτήν τη στιγμή;

DI.:Σε αυτήν την έκδοση υποστηρίζουμε τη φόρτωση μοντέλων από το AutoCAD, Collada (ένα εργαλείο τρισδιάστατης μοντελοποίησης ανοιχτού κώδικα. - Σημείωση επεξεργασία.), Maya, μια μορφή OBJ που υποστηρίζεται από πολλούς προμηθευτές γραφικών 3D.

KP:Ποιες άλλες μορφές σκοπεύετε να προσθέσετε;

DI.:Σκοπεύουμε να προσθέσουμε 3DS (3D Studio MAX), SVG (συνήθως αυτή η μορφή χρησιμοποιείται για 2D διανυσματικά γραφικά, αλλά μερικές φορές για 3D), Google SketchUp. Ίσως θα υποστηρίξουμε άλλες μορφές.

KP:Η χρήση τρισδιάστατων μοντέλων σε εφαρμογές που έχουν κατασκευαστεί με FireMonkey απαιτεί άδεια για το κατάλληλο εργαλείο τρισδιάστατης μοντελοποίησης;

DI.:Όχι, δεν το απαιτεί. Το μόνο που κάνουμε είναι να διαβάζουμε το αρχείο μοντέλου. Εισάγουμε το μοντέλο, αλλά δεν το εξάγουμε (αν και, φυσικά, θα μπορούσατε να γράψετε μια εφαρμογή που αποθηκεύει το μοντέλο στη δική σας μορφή). Δεν προσποιούμαστε ότι είμαστε κατασκευαστές εργαλείων τρισδιάστατης μοντελοποίησης - για αυτό μπορείτε να χρησιμοποιήσετε το AutoCAD, το 3D Studio Max, τη Maya ή οποιοδήποτε άλλο εργαλείο τρισδιάστατης μοντελοποίησης και να εισαγάγετε τα δημιουργημένα μοντέλα στις εφαρμογές μας.

KP:Πόσο αποδοτικές είναι οι εφαρμογές που έχουν κατασκευαστεί με το FireMonkey σε σύγχρονες πλατφόρμες υλικού;

DI.:Η παραγωγικότητα είναι αρκετά υψηλή. Για παράδειγμα, απόδοση ενός τρισδιάστατου σχήματος με τρεις σφαίρες και τρεις πηγές φωτός ενεργοποιημένες Macbook Proμπορεί να πραγματοποιηθεί με ταχύτητα 100 καρέ ανά δευτερόλεπτο. Ή μπορεί να φτάσει τα 600 - εξαρτάται από το τι ακριβώς κάνουμε. Και πάλι, όλα εξαρτώνται από την ισχύ της GPU.

KP:Αυτό σημαίνει ότι μπορείτε να δημιουργήσετε μοντέρνα παιχνίδια χρησιμοποιώντας το FireMonkey;

DI.:Δεν τοποθετούμε τα εργαλεία ανάπτυξής μας ως εργαλεία για παιχνίδια. Ωστόσο, εκμεταλλευόμενοι την υψηλή απόδοση των σύγχρονων GPU, μπορείτε να δημιουργήσετε παιχνίδια χρησιμοποιώντας το FireMonkey - σε τελική ανάλυση, δημιουργούνται χρησιμοποιώντας Direct3D ή OpenGL.

KP:Τι δουλειά κάνετε αυτήν τη στιγμή στον τομέα της υποστήριξης της αναγνώρισης χειρονομιών και άλλων νεότερων πραγμάτων; Υπάρχει τέτοια υποστήριξη;

DI.:Δεν έχουμε υποστήριξη χειρονομιών σε αυτήν την έκδοση ακόμα. Τα στοιχεία ελέγχου χειρονομίας θα προστεθούν σε μια μελλοντική έκδοση του FireMonkey, αλλά στο μεταξύ μπορείτε να χρησιμοποιήσετε την υποστήριξη χειρονομιών που είναι ενσωματωμένη στο λειτουργικό σύστημα.

Mikhail Filippenko, διευθυντής της Fast Reports, Inc.

K.R.:Έχουμε ήδη πει ότι η τεχνολογία FireMonkey έχει ρωσικές ρίζες - τα θεμέλιά της δημιουργήθηκαν στη χώρα μας και στη συνέχεια τόσο η ίδια η τεχνολογία όσο και οι προγραμματιστές της εντάχθηκαν στο Embarcadero. Γενικά, είναι ευχάριστο να βλέπουμε την ανάπτυξη του ρωσικού στοιχείου στο RAD Studio και στους Δελφούς. Αυτό περιλαμβάνει τις δραστηριότητες του αναπτυξιακού μας κέντρου στην Αγία Πετρούπολη και τη συμβολή ανεξάρτητων Ρώσων προγραμματιστών. Για παράδειγμα, το Rad Studio XE2 περιλαμβάνει τη δημιουργία αναφορών FastReport - γνωστή σε όλο τον κόσμο και πολύ δημοφιλής στη χώρα μας. Κατάγεται από το Ροστόφ-ον-Ντον.

KP:Θα ήθελα να μιλήσω για μεταγλωττιστές. Τι είδους μεταγλωττιστής χρησιμοποιείται κατά τη δημιουργία εφαρμογών iOS;

DI.:Δεν έχουμε δικό μας μεταγλωττιστή Delphi για το iPhone ή το iPad—δεν έχουμε ακόμη αναπτύξει μεταγλωττιστές για τους επεξεργαστές ARM που χρησιμοποιούνται σε αυτές τις συσκευές. Για iOS, χρησιμοποιούμε προσωρινά τον μεταγλωττιστή και τη βιβλιοθήκη χρόνου εκτέλεσης Free Pascal. Αλλά εργαζόμαστε για την επόμενη γενιά μεταγλωττιστών, συμπεριλαμβανομένων των επεξεργαστών AWP. Υπάρχουν όμως μεταγλωττιστές για Windows και Mac OS, αφού και οι δύο πλατφόρμες υλικού βασίζονται σε επεξεργαστές Intel.

KP:Τι έχει γίνει στον τομέα της δημιουργίας μεταγλωττιστών τα τελευταία δύο χρόνια;

DI.:Έχουμε μεταγλωττιστές Delphi 32 και 64 bit για Windows και Mac OS. Και εργαζόμαστε σε μια νέα γενιά μεταγλωττιστών Delphi και C++. Είναι ακόμα ένα έργο σε εξέλιξη, αλλά όταν τελειώσουν, θα έχουμε μεταγλωττιστές Delphi για επεξεργαστές ARM, πλατφόρμες Android, Linux και οτιδήποτε ενδιάμεσα. Και θα έχουμε μεταγλωττιστές C++ 64-bit για Windows και άλλες πλατφόρμες, συμβατούς με το πιο πρόσφατο πρότυπο γλώσσας C++ που μόλις εγκρίθηκε από το ISO.

KP:Τι συμβαίνει με την υποστήριξη του cloud computing στα εργαλεία ανάπτυξης Embarcadero σήμερα;

DI.:Στο RAD Studio XE 2, υποστηρίζουμε τη μετακίνηση εφαρμογών στο Microsoft Azure ή στο Amazon EC2 cloud χρησιμοποιώντας τον Βοηθό πλατφόρμας. Και έχουμε στοιχεία διακομιστή για το Cloud Storage για το Azure και το Amazon S3 για την αποθήκευση πινάκων, δυαδικών δεδομένων, ουρών μηνυμάτων. ΣΕ προηγούμενη έκδοσηΜε το RAD Studio XE, υποστηρίξαμε επίσης την ανάπτυξη εφαρμογών στο Amazon EC2, αλλά δεν υπήρχε υποστήριξη αποθήκευσης.

Υποστήριξη cloud computing στο RAD Studio XE 2

KP:Πριν από δύο χρόνια μιλήσατε για τη νέα λύση All-Access. Πόσο δημοφιλής ήταν; Ποια είναι τα πλεονεκτήματά του για τους ενοποιητές συστημάτων και τους προγραμματιστές;

DI.:Η λύση All-Access και το εργαλείο cloud AppWave χρησιμοποιούνται ευρέως σε όλο τον κόσμο. Έχουν σχεδιαστεί για να διευκολύνουν τη χρήση των δικών μας εφαρμογών και των εφαρμογών τρίτων. Στην πραγματικότητα, είναι μια λύση για τη διαχείριση αδειών και τη χρήση εφαρμογών, και είναι βολική μεγάλες εταιρείες. Οι μικρότερες εταιρείες που δεν διαθέτουν αποκλειστικές ομάδες ανθρώπων που είναι υπεύθυνες για τη διαχείριση εφαρμογών μπορούν να τοποθετήσουν την εφαρμογή σε ένα αποθετήριο, να επιλέξουν ονόματα χρηστών από τη βάση δεδομένων και να διαθέσουν αυτές τις εφαρμογές χωρίς να χρειάζεται να θυμούνται πού. κλειδί άδειας χρήσηςκαι πόσες άδειες είναι διαθέσιμες. Το All-Access και το πρόγραμμα περιήγησης AppWave έχουν σχεδιαστεί για να διαχειρίζονται τόσο την έκδοση εκδόσεων όσο και τον έλεγχο πρόσβασης.

K.R.:Η αγορά είναι τόσο διαφορετική και οι χρήστες τόσο διαφορετικοί που είναι αδύνατο να καλυφθούν όλες οι ανάγκες με μία λύση. Γι' αυτό προσπαθούμε για ποικίλες λύσεις συσκευασίας. Έχουμε κάνει πολλή δουλειά για να ενοποιήσουμε τις μεθόδους αδειοδότησης, διαχείρισης αδειών και εγκατάστασης προϊόντων. Αυτή η σειρά λύσεων περιλαμβάνει εργαλεία διαχείρισης αδειών και προμηθειών όχι μόνο για τα προϊόντα Embarcadero, αλλά και για οποιοδήποτε άλλο προϊόν, συμπεριλαμβανομένων των εσωτερικών εξελίξεων της εταιρείας.

Οι εργασίες για την ανάπτυξη εργαλείων συσκευασίας σε αποτελεσματικά κιτ για χρήστες συνεχίζονται ακόμη. Έχουμε All-Access - ένα υπερσύνολο που συνδυάζει όλα τα προϊόντα Embarcadero. Εάν ένας πελάτης αγοράσει All-Access Platinum, λαμβάνει όλα τα εργαλεία που βρίσκονται στο Embarcadero. Αλλά μερικές φορές αυτό το σετ αποδεικνύεται περιττό· για παράδειγμα, για ειδικούς σε βάσεις δεδομένων, έχουμε δημιουργήσει δύο άλλα σύνολα - το DB Power Studio Developer Edition και το DB Power Studio DBA Edition. Η διαφορά μεταξύ τους είναι ότι για τον προγραμματιστή προσφέρουμε RapidSQL - ένα εργαλείο για την ανάπτυξη κώδικα διακομιστή, και για τον διαχειριστή υπάρχει ενσωματωμένο το DBArtizan - ένα εργαλείο διαχείρισης βάσης δεδομένων, ένα ευρύτερο προϊόν από το RapidSQL. Για τους επαγγελματίες, διαθέτουμε τις ακόλουθες σουίτες All-Access: μια σουίτα που περιλαμβάνει όλα τα προϊόντα, DB Power Studio για προγραμματιστές, DB Power Studio για διαχειριστές, ER Studio Enterprise Edition για αρχιτέκτονες και οποιονδήποτε ασχολείται με τη μοντελοποίηση. Υπάρχουν συνδυασμοί για ανάπτυξη εφαρμογών και για διαχειριστές. Το Delphi είναι ένα εργαλείο προγραμματιστή και είναι πολύ λογικό να προσθέτουμε εργαλεία ανάπτυξης και βελτιστοποίησης SQL σε αυτό. Τέλος, το DB Change Manager είναι ένα λογικό εργαλείο για τη διαχείριση της πολυπλοκότητας των αλλαγών που συμβαίνουν στις βάσεις δεδομένων κατά τη διάρκεια του κύκλου ζωής τους.

Έτσι, η All-Access είναι ο επικεφαλής μιας μεγάλης οικογένειας διαφορετικών σετ προϊόντων.

KP:Αν δεν είναι μυστικό, ποιος στη Ρωσία χρησιμοποιεί το All-Access;

K.R.:Έχουμε πελάτες που αγόρασαν το All-Access με βάση τους Delphi. Πολλά από αυτά δημιουργούν πολύπλοκα συστήματα πελάτη-διακομιστή με SQL Serverκαι την Oracle, και τους άρεσαν αμέσως τα εργαλεία βάσης δεδομένων μας μεταξύ πλατφορμών. Έχουμε μια εταιρεία-πελάτη που συνεργάζεται με τους Delphi από την πρώτη έκδοση και πριν από ένα χρόνο άλλαξε χρησιμοποιώντας τους Δελφούςστο σύνολο All-Access. Δύο εργαλεία που εγγυημένα θα χρησιμοποιούν όλοι οι προγραμματιστές αυτής της εταιρείας είναι τα Delphi και DBArtisan. Και υπάρχουν πελάτες που ήρθαν στο All-Access από την πλευρά της βάσης δεδομένων. Το κύριο καθήκον τους είναι να διαχειρίζονται βάσεις δεδομένων, αλλά μερικές φορές αναπτύσσουν και εφαρμογές. Οι πελάτες που χρησιμοποιούν το All-Access περιλαμβάνουν εταιρείες πολυμέσων, εταιρείες μηχανικών και άλλες βιομηχανίες.

Ξεχωριστά, θα ήθελα να εστιάσω σε μικρές εταιρείες. Πολύ συχνά σε μικρές ομάδες ο προγραμματιστής κάνει τα πάντα και μια τέτοια εταιρεία μερικές φορές αγοράζει μεγάλα σετ προϊόντων All-Access για έναν ή δύο προγραμματιστές. Σε μεγάλες ομάδες, δεν ενθαρρύνεται για έναν προγραμματιστή να εκτελεί επίσης, για παράδειγμα, το ρόλο ενός διαχειριστή βάσης δεδομένων, επομένως μικρά σύνολα προϊόντων είναι συνήθως δημοφιλή εκεί, αλλά σε μικρές εταιρείες ένας τέτοιος συνδυασμός ευθυνών είναι αρκετά αποδεκτός.

Το Delphi Architect είναι ένα προϊόν με μεγάλη αγορά που περιλαμβάνει εργαλεία μοντελοποίησης και προγραμματισμού. Ο αριθμός των αντιγράφων που πωλήθηκαν είναι, ωστόσο, μικρότερος από την έκδοση Delphi Enterprise, αλλά είναι επίσης μεγάλος. Θα ήθελα να σημειώσω ότι το 2010 αποδειχθήκαμε η καλύτερη χώρα σε όγκο πωλήσεων, παρά το γεγονός ότι όλες οι χώρες βίωσαν κρίση. Αυτή η ανάπτυξη συνδέθηκε όχι τόσο με οικονομικούς παράγοντες, αλλά με το γεγονός ότι η έκδοση του RAD Studio XE, που κυκλοφόρησε στα τέλη του 2009, αποδείχθηκε πολύ δημοφιλής. Και προς το παρόν αναμένουμε περαιτέρω αύξηση των πωλήσεων.

Κάναμε ένα άλλο λογικό βήμα, το οποίο είναι εξαιρετικά δημοφιλές στη Ρωσία. Ο βαθμός νομιμοποίησης διαφορετικών εκδόσεων των προϊόντων μας είναι διαφορετικός: όσο υψηλότερη είναι η έκδοση, τόσο πιο νομιμοποιημένη είναι, γιατί νωρίτερα λογισμικόδεν αγοράστηκε τόσο ενεργά. Ξεκινώντας με το RAD Studio XE, η άδεια καλύπτει τις εκδόσεις 2010, 2009, 2007, ακόμη και το Delphi 7, ένα προϊόν που χρησιμοποιείται ευρέως.

Σήμερα, οι προγραμματιστές αντιμετωπίζουν το γεγονός ότι υποστηρίζουν τόσο νέα έργα όσο και έργα. Μεγάλος αριθμός έργων έχει μεταφερθεί από προηγούμενες εκδόσεις Delphi στην έκδοση 7 και παραμένει σε αυτήν την έκδοση, συνεχίζοντας να εργάζεται σε σχετικά μικρούς πόρους. Κανείς δεν τα μεταφέρει σε νεότερες εκδόσεις, αλλά διατηρούνται σε βιώσιμη κατάσταση. Και τώρα σας επιτρέπουμε να αποκτήσετε τόσο το RAD Studio XE όσο και το Delphi 7 για λίγα χρήματα (λιγότερο από την τιμή μιας άδειας Delphi 7) - δηλαδή, νομιμοποιούμε τον προγραμματιστή τόσο για την υλοποίηση νέων έργων όσο και για έργα υποστήριξης.

KP:Πώς αξιολογείτε την τρέχουσα κατάσταση της κοινότητας του Embarcadero;

DI.:Αυτή η κοινότητα είναι μεγάλη και πολύ απαιτητική. Χρειάζονται τα πάντα αμέσως - είναι προγραμματιστές. Αλλά μερικές φορές χρειάζεται πολύς χρόνος για να γίνει κάτι σωστά.

Πριν από μερικά χρόνια, πήραμε την αρχιτεκτονική των στοιχείων των Windows και την τοποθετήσαμε σε επιτραπέζιους υπολογιστές Linux. Τώρα βλέπουμε ότι αυτή δεν ήταν η σωστή απόφαση. Η σωστή λύση είναι η δημιουργία μιας πλατφόρμας εφαρμογών. Οι εφαρμογές ακόμη και σε διαφορετικές πλατφόρμες έχουν μενού, παράθυρα, γραφικά, πρόσβαση στο δίκτυο και πρόσβαση στη συσκευή. Μπορεί να έχουν διαφορετικές πλατφόρμες διαφορετικά μοντέλαέλεγχος ροής ή χειρισμός εξαιρέσεων, αλλά στον κώδικα της εφαρμογής βλέπουμε τα ίδια μπλοκ δοκιμής. Η δουλειά μας είναι να διευκολύνουμε τους προγραμματιστές να δημιουργήσουν επιχειρηματικές εφαρμογές και να τις μεταγλωττίσουν για τις πλατφόρμες στις οποίες προορίζονται να χρησιμοποιηθούν, ανεξάρτητα από το πώς είναι δομημένο το σύνολο εντολών των αντίστοιχων επεξεργαστών και ποια άλλα χαρακτηριστικά είναι αυτές οι πλατφόρμες. Και το FireMonkey είναι ακριβώς αυτό που χρειάζεστε για να λύσετε αυτό το πρόβλημα.

KP:Εάν μια εταιρεία δημιουργήσει μια νέα συσκευή και θέλει να υποστηρίζεται στο FireMonkey, θα είναι δυνατό;

DI.:Με τη νέα γενιά μεταγλωττιστών, οι οποίοι θα έχουν ένα front-end ανεξάρτητο από την πλατφόρμα και ένα back-end που εξαρτάται από την πλατφόρμα, αυτό θα είναι αρκετά δυνατό. Στο μεταξύ, για κάθε λειτουργικό σύστημα, δημιουργούμε μια βιβλιοθήκη μεταγλωττιστή και χρόνου εκτέλεσης από την αρχή.

Οποιαδήποτε σύγχρονη νέα συσκευή, κατά κανόνα, έχει γραφικό διεπαφή χρήστη(πολλοί από αυτούς έχουν επεξεργαστή διπλού πυρήνακαι GPU) και τυπικά SDK για προγραμματιστές. Αυτό διευκολύνει τη δημιουργία υποστήριξης συσκευών στο FireMonkey. Εάν η νέα συσκευή διαθέτει βιβλιοθήκες μόνο για δισδιάστατα γραφικά όπως το Quartz, θα μπορούμε να υποστηρίξουμε μια τέτοια συσκευή στο FireMonkey, αλλά αυτό θα διαρκέσει περίπου αρκετούς μήνες. Ωστόσο, πολλά εξαρτώνται από την πλατφόρμα: δεν υποστηρίζουν όλες οι πλατφόρμες όλες οι λειτουργίες, για παράδειγμα, το iOS δεν διαθέτει μενού και πλαίσια διαλόγου και δεν θα μπορείτε να τοποθετήσετε αντίστοιχα στοιχεία στις φόρμες τέτοιων εφαρμογών.

KP:Έχει αλλάξει κάτι στην πολιτική συνεργασίας με συνεργάτες; Τι γίνεται για να αυξήσετε το μερίδιο των χρηστών των προϊόντων σας; Τι γίνεται στη Ρωσία;

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

K.R.:Αυτό που είναι σημαντικό για εμάς δεν είναι ο αριθμός των συνεργατών, αλλά η ποιότητα της δουλειάς του κάθε συγκεκριμένου συνεργάτη. Προς το παρόν, θέλουμε να επικεντρωθούμε στη στενή συνεργασία με τους υπάρχοντες εταίρους, αν και η δεξαμενή των συνεργατών παραμένει ανοιχτή. Έχουμε πολλούς συνεργάτες και πρέπει να τους βοηθήσουμε σε επίπεδο τεχνολογίας. Συνεργαζόμαστε με προγραμματιστές και ξέρουν τι θέλουν και ξέρουν τι είναι διαθέσιμο στην αγορά και οι δυνατότητες των συνεργατών πρέπει να ταιριάζουν με αυτό.

Έχουμε επιχειρηματικούς συνεργάτες που έχουν επενδύσει σοβαρά στην Embarcadero ως επιχειρηματική γραμμή - έχουν εκπαιδεύσει ειδικούς, μάρκετινγκ των προϊόντων μας, αφοσιωμένους υπαλλήλους υπεύθυνους για αυτήν τη γραμμή και παρακολουθούν τι συμβαίνει με τα προϊόντα μας, τιμοκατάλογο, μάρκετινγκ. Φυσικά, είναι πιο επιτυχημένες όσον αφορά τις πωλήσεις των προϊόντων μας από τις εταιρείες που πωλούν τα προϊόντα μας περιστασιακά.

KP: David, Kirill, σας ευχαριστώ πολύ για την ενδιαφέρουσα συνέντευξη. Επιτρέψτε μου, εκ μέρους της έκδοσής μας και των αναγνωστών μας, να ευχηθώ στην εταιρεία σας περαιτέρω επιτυχία στη δημιουργία των εκπληκτικών εργαλείων σας που χρειάζονται τόσο πολύ οι προγραμματιστές!

Ερωτήσεις που έκανε η Natalia Elmanova

Το FireMonkey είναι η βασική τεχνολογία των «νέων Δελφών». Πείτε μας για τους στόχους, τις δυνατότητες και τις τεχνικές πτυχές αυτής της θεμελιωδώς νέας βιβλιοθήκης. Μετά από λίγο, κοιτάζοντας πίσω, πόσο δύσκολη και δικαιολογημένη ήταν η άρνησή σας να αναπτύξετε περαιτέρω το υπερ-δημοφιλές VCL;

Επιλέχθηκε ως η κύρια κατεύθυνση για την ανάπτυξη της τεχνολογίας Delphi για την επίτευξη ενός συγκεκριμένου στόχου - ανάπτυξη πολλαπλών πλατφορμών από ένα ενιαίο περιβάλλον, βασισμένη σε μια ενιαία βάση πηγαίου κώδικα, χωρίς την ανάγκη ριζικής επανεκπαίδευσης προγραμματιστών. Στο πλαίσιο του κλασικού πλέον και υπερ-δημοφιλούς VCL, αυτό ήταν αδύνατο· η σύνδεσή του με το WinAPI ήταν πολύ στενή, θα έλεγε κανείς, «σε γενετικό επίπεδο».

Τα στοιχεία VCL δεν διέθεταν ένα «αφηρημένο» επίπεδο μεταξύ του λειτουργικού επιπέδου όσον αφορά τη διεπαφή και τους μηχανισμούς για την εμφάνισή τους. Λειτουργικό επίπεδο— πώς συμπεριφέρεται ως στοιχείο ελέγχου, σε ποια γεγονότα αντιδρά, τι είδους αλληλεπίδραση με τον χρήστη παρέχει. Απεικόνιση— καλώντας μεθόδους οπτικοποίησης προσανατολισμένες στην πλατφόρμα ως συγκεκριμένη εικόνα που σχηματίζεται από αντικείμενα ράστερ και διανυσματικά πρωτόγονα. Το FireMonkey εφάρμοσε αρχικά την αρχή της αυστηρής διαίρεσης του ελέγχου σε δύο στοιχεία: "συμπεριφορικό" και "οπτικό".


Vsevolod Leonov, Embarcadero Technologies

Το πρώτο γενικά δεν θα επαναλαμβάνει καν τα βασικά του VCL, αλλά την ουσία του αντικειμενοστρεφούς προγραμματισμού. Ένα συστατικό είναι μια κλάση· οι κλάσεις συστατικών σχηματίζουν μια ιεραρχία όπου μπορούν να διακριθούν οικογένειες και ενότητες. Η κλάση ενός στοιχείου σχετίζεται χαλαρά με τον τρόπο απόδοσης του.

Η οπτική «εικόνα» διαμορφώνεται δυναμικά, δεν είναι αυστηρά γραμμένη στην κατηγορία συστατικών. Η εικόνα ή το "στυλ" στο FireMonkey φορτώνεται στο στοιχείο κατά την εκκίνηση της εφαρμογής. Έχουμε κάποιο λειτουργικό πλαίσιο για το εξάρτημα και το "δέρμα" ή η "επένδυση" μπορεί να αλλάξει, αλλά γιατί; Είναι έτσι ώστε οι εφαρμογές FireMonkey να φαίνονται αυθεντικές σε οποιαδήποτε πλατφόρμα - Windows 7, Windows 8, Mac OS, iOS και, στο εγγύς μέλλον, Android. Αυτό ήταν κάτι που η παραδοσιακή μονολιθική δομή κλάσης του VCL δεν μπορούσε να προσφέρει.

Εδώ, η τεχνολογική προσέγγιση παίζει ιδιαίτερο ρόλο. Κατ 'αρχήν, μπορείτε να πάρετε τη βιβλιοθήκη VCL και να τη «γεμίσετε» με το WinAPI και όλες τις άλλες πιθανές κλήσεις πλατφόρμας. Αυτό μπορεί ακόμα να γίνει σε ένα πολύ περιορισμένο υποσύνολο στοιχείων, αλλά το VCL περιέχει αρκετές εκατοντάδες στοιχεία, επομένως αυτή η προσέγγιση θα μπορούσε απλώς να «σκοτώσει» το VCL. Αποφασίστηκε να μην αγγίξουμε το VCL, αλλά να αναπτύξουμε νέες δυνατότητες σε μια νέα πλατφόρμα - FireMonkey. Αυτή η τεχνολογίαΈχει ακόμη και μια ορισμένη τεχνική κομψότητα - τη στιγμή της συναρμολόγησης του έργου για μια συγκεκριμένη πλατφόρμα, το Delphi IDE συνδέει τον απαιτούμενο μεταγλωττιστή και τα στοιχεία διεπαφής λαμβάνουν ένα στυλ πλατφόρμας.

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

Όταν έγινε σαφές ότι το FireMonkey θα εισαχθεί ως ξεχωριστή νέα πλατφόρμα, έπρεπε να επιλεγεί η σωστή στρατηγική συνύπαρξης: η Embarcadero δεν ήθελε να επηρεάσει αρνητικά τους χρήστες VCL με κανέναν τρόπο. Ως εκ τούτου, επιλέξαμε το ακόλουθο σχέδιο: Το VCL παραμένει ιδεολογικά και αρχιτεκτονικά σταθερό για να εξασφαλίσει την υψηλότερη δυνατή συμβατότητα, διευκολύνοντας τη μετεγκατάσταση έργων σε σύγχρονες εκδόσεις. Η ανάπτυξη του FireMonkey θα ακολουθήσει μια φυσική και παράλληλη πορεία, χωρίς να λαμβάνεται υπόψη το VCL.

Το αδύνατο σημείο αυτής της λύσης είναι η μάλλον προβληματική μετάβαση από το VCL στο FireMonkey μέσα στο ίδιο έργο. Αλλά για ένα νέο έργο, ένας προγραμματιστής μπορεί να επιλέξει το FireMonkey για να εξασφαλίσει την πολυπλατφόρμα της εφαρμογής που προκύπτει. Μετά την κυκλοφορία του XE4 με υποστήριξη iOS, μπορούμε ήδη να μιλήσουμε για τα φωτεινά ανταγωνιστικά πλεονεκτήματα των Delphi για αρχή ανάπτυξη κινητής τηλεφωνίαςστο εταιρικό περιβάλλον, το οποίο θα αυξηθεί μετά την υλοποίηση της προγραμματισμένης υποστήριξης Android.

Ως εκ τούτου, δεν υπάρχει προφανής «άρνηση» από την ανάπτυξη του VCL ως τέτοιου. Σε νέες εκδόσεις, αναπτύσσεται και το τμήμα VCL των Delphi. Αυτό περιλαμβάνει υποστήριξη 64-bit, την εισαγωγή στυλ για οπτικά στοιχεία, την εφαρμογή ενός μηχανισμού για ευέλικτες δυναμικές συνδέσεις ή "σύνδεση" και τη συμπερίληψη της βιβλιοθήκης FireDAC για εργασία με βάσεις δεδομένων σε έργα VCL. Απλώς, σε σύγκριση με το γιγάντιο ποιοτικό άλμα που έκανε ο FireMonkey, η πρόοδος στο VCL φαίνεται κάπως αθώα. Ωστόσο, όπως και να έχει, το VCL είναι αναπόσπαστο μέρος των Delphi και θα παραμείνει έτσι για πολλά χρόνια ακόμα. Αν και η εξέλιξη των πλατφορμών και η τρέχουσα κατάσταση στον τομέα του ΛΣ για επιτραπέζιων συστημάτωνκαι οι φορητές συσκευές είναι τέτοιες που το μέλλον είναι σίγουρα για το FireMonkey.

Στη συνέντευξη που συζητήσαμε ήδη την υποστήριξη iOS, ας πούμε στους αναγνώστες μας για την υποστήριξη άλλων πιο πρόσφατων τεχνολογιών από το πιο πρόσφατο RAD Studio XE4, για παράδειγμα, όπως Windows 8 και WinRT, συστήματα 64-bit, MacOS και ούτω καθεξής. Μπορείτε να απαριθμήσετε τι άλλο μπορείτε να προσφέρετε στον σύγχρονο προγραμματιστή που καταστρέφεται από τις καινοτομίες;

Πιθανότατα, ένας σύγχρονος προγραμματιστής δεν είναι «χαλασμένος» από καινοτομίες. Για μεγάλα έργαοποιαδήποτε «καινοτομία» οδηγεί συχνά σε τεράστιο όγκο εργασίας.

Για παράδειγμα, όλοι περίμεναν πολύ καιρό, πολλοί έσπευσαν αμέσως να μεταφράσουν τους κωδικούς τους νέα πλατφόρμα. Αλλά αποδεικνύεται ότι ακόμη και πολύ επαγγελματικές ομάδες δεν είναι έτοιμες για αυτό. Η μεταγλώττιση κώδικα 64-bit δεν σημαίνει ότι λειτουργεί. Το "Sins of youth" άρχισε να εμφανίζεται, για παράδειγμα, χρησιμοποιώντας οδηγίες που υποθέτουν μέγεθος διεύθυνσης 4 byte. Έλλειψη κουλτούρας δοκιμών, σε συνδυασμό με τεχνολογική έλλειψη ετοιμότητας για εφαρμογή αυτής της διαδικασίας σε σύντομο χρονικό διάστημα.

Και εδώ - όσο μεγαλύτερο είναι το έργο, μετρούμενο, ας πούμε, με τον αριθμό των γραμμών του πηγαίου κώδικα, τόσο πιο προσεκτικοί και ισορροπημένοι προγραμματιστές είναι με διάφορα είδη καινοτομιών που κυμαίνονται από την εμφάνιση ενός "κουμπιού" στη διεπαφή έως τη "συντακτική ζάχαρη" στον μεταγλωττιστή.

Ένα από αυτά τα «προβληματικά» επιτεύγματα ήταν η κυκλοφορία των Windows 8. Προσωπικά, ως χρήστης υπολογιστή και απλώς σύγχρονος ειδικός στον τομέα της πληροφορικής, είμαι ευχαριστημένος με τα Windows 8. Αλλά για τους προγραμματιστές στους οποίους εστάλη μια παρτίδα υπολογιστών με Windows 8 με προδιαγραφές για ανάπτυξη στο νέο λειτουργικό σύστημα ως φορτίο, αυτό σημαίνει ορισμένες δυσκολίες.

Προσπαθήσαμε να παρέχουμε υποστήριξη ανάπτυξης για τη νέα διεπαφή αυτού του λειτουργικού συστήματος όσο το δυνατόν πιο άνετα και ανώδυνα. Ως εκ τούτου, έχουν εισαχθεί ειδικά στυλ τόσο για το VCL όσο και για το FireMonkey και ο προγραμματιστής μπορεί είτε να ξαναφτιάξει τη διεπαφή της εφαρμογής είτε να δημιουργήσει μια νέα εφαρμογή που δεν θα διακρίνεται από την «εγγενή» για τα Windows 8. εμφάνιση. Φυσικά, υπάρχει ανάγκη για «εγγενή» υποστήριξη για Windows 8 μέσω WinRT. Αυτό όμως επηρεάζεται από την ιεράρχηση των στόχων σύγχρονες συνθήκες. Τα Mac OS, iOS, Android στο εγγύς μέλλον δεν μας επιτρέπουν ακόμη να μιλήσουμε για πλήρη υποστήριξη για το WinRT στο εγγύς μέλλον.

Ο στρατηγικός στόχος της Embarcadero, φυσικά, είναι η πολυπλατφόρμα. Η κυκλοφορία του RAD Studio XE4 ήταν βασική, κυρίως λόγω της υποστήριξής του για iOS. Ένας υπάρχων προγραμματιστής που χρησιμοποιεί VCL μπορεί να αρχίσει να αναπτύσσεται για iOS μέσα σε λίγες ώρες. Έστω και απλό εφαρμογή για κινητόμπορεί να μετατραπεί άμεσα σε ένα ισχυρό έργο που λειτουργεί εντός της υπάρχουσας υποδομής. Μην νομίζεις ότι είναι εύκολο νέος μεταγλωττιστήςστο FireMonkey και ένα νέο στυλγια να διασφαλίσετε τη συμμόρφωση με τη διεπαφή iOS.

Αυτό περιλαμβάνει έναν νέο οπτικό σχεδιαστή, ενσωματωμένη υποστήριξη για διάφορους παράγοντες μορφής, βιβλιοθήκες πρόσβασης δεδομένων, συμπεριλαμβανομένου του νέου FireDAC, και τεχνολογία LiveBindings για ευέλικτη και δυναμική σύνδεση με εταιρικά δεδομένα. Όλες αυτές οι καινοτομίες φτάνουν ταυτόχρονα - για Windows, Mac OS και iOS. λειτουργικό σύστημαΤο Mac OS δεν αναπτύσσεται τόσο γρήγορα, επομένως δεν υπάρχουν προβλήματα όπως η μετάβαση από τα Windows 7 στα Windows 8. Εμφανίστηκαν όμως Οθόνες αμφιβληστροειδούς, και αυτό απαιτούσε ιδιαίτερη προσοχή. Τώρα κάθε εφαρμογή MacOS που δημιουργείται στο Delphi XE4 περιλαμβάνει αυτόματα δύο στυλ - "κανονικό" και "υψηλής ευκρίνειας".

Οτι. η ίδια εφαρμογή μπορεί να έχει την ίδια υψηλής ποιότητας "native" διεπαφή σε οποιαδήποτε επιτραπέζιος υπολογιστήςαπό την Apple.

Η Embarcadero δεν θέλει να «εκπλήξει», να «καταπλήξει» ή ακόμα και να «διασκεδάσει» τους προγραμματιστές με τις νέες καινοτόμες εκδόσεις της. Αντίθετα, η σφαίρα της πληροφορικής είναι ήδη γεμάτη από διάφορες εκπλήξεις: νέες συσκευές, νέες πλατφόρμες, νέοι χρήστες, νέες ανάγκες τους, νέα σενάρια αλληλεπίδρασης. Προσθέστε νέες τεχνολογίες ανάπτυξης λογισμικού σε αυτό και οι προγραμματιστές απλά δεν θα έχουν χρόνο να δημιουργήσουν νέα συστήματα και υπάρχοντα - το μόνο που θα κάνουν είναι να μεταναστεύσουν από το ένα περιβάλλον στο άλλο, από μια παλιά βιβλιοθήκη σε μια νέα, από μια γλώσσα σε μια άλλη.

Αλλά δεν ομολογούμε ότι απορρίπτουμε κάθε τι νέο. Θέλουμε απλώς να διασφαλίσουμε τη συνέχεια όλων - κώδικα, διεπαφή, έργο, ακόμη και επαγγελματικές δεξιότητες όταν εμφανίζονται νέες πλατφόρμες και συσκευές. Θα μπορούσατε να πείτε ότι πολεμάμε τον ανθυγιεινό συντηρητισμό σχετικά με τις νέες πλατφόρμες μέσω υγιούς συντηρητισμού στα εργαλεία ανάπτυξης. Μην περιμένετε εξωτικά προϊόντα, μη τυπικές γλώσσες προγραμματισμού ή περίεργα εργαλεία ανάπτυξης από την Embarcadero.

Σε εμάς θα βρίσκετε πάντα οπτική ανάπτυξη, κλασικές γλώσσες, «εγγενή» κώδικα και αφήστε τις πλατφόρμες-στόχους για τις εφαρμογές σας, που δημιουργήθηκαν με τον ίδιο αποδεδειγμένα κλασικό τρόπο, να είναι νέες.




Μπλουζα