Penginjil berbohong. FireMonkey menyebalkan. Delphi, FireMonkey, All-Access dan kejutan menyenangkan lainnya, kecepatan aplikasi sangat dekat dengan yang asli

02.08.2020 Pemulihan data

Cukup waktu telah berlalu sejak istilah FireMonkey menjadi lebih atau kurang akrab, jika tidak untuk semua pengembang, maka setidaknya bagi mereka yang menggunakan Delphi. Selama ini, ada buku tentang FireMonkey, artikel tentang FireMonkey, entri tentang FireMonkey di banyak blog. Membaca semua ini sangat menarik. Tapi tidak ada teori yang bisa menggantikan praktik. Dan saya, seperti banyak orang sebelumnya, merasa gatal untuk mencoba menulis sesuatu menggunakan FireMonkey.

Namun, dalam melakukannya, masalah muncul. Untuk beberapa alasan, saya memutuskan bahwa saya hanya perlu mengimplementasikan beberapa proyek kerja yang tidak terlalu rumit.

Untuk menjelaskan mengapa hal ini menjadi masalah bagi saya, perlu beberapa penyimpangan (seseorang ingin menulis, liris). Perjalanan ke masa lalu saya sebagai pengembang. Jelaskan beberapa pandangan saya tentang pemrograman menggunakan Delphi.

Saya harus mengatakan bahwa saya mulai menggunakan Delphi pada Windows 3.1, yaitu dari versi pertama. Dan sejak itu saya mempelajari VCL. Belajar di aslinya, sehingga untuk berbicara. Ditonton, ditangani, dilacak kode sumbernya. Lagi dan lagi.

Diketahui bahwa pada berbagai waktu set komponen yang dikirimkan bersama Delphi menyertakan komponen pihak ketiga yang seharusnya mengisi celah di VCL, dan yang mungkin melewati semacam kontrol kualitas sebelum disertakan. Beberapa komponen tersebut terus dipasok hingga saat ini. Ambil Indy yang sama. Saya tidak ingin menyinggung siapa pun, ini murni pendapat pribadi saya, yang juga berlaku untuk diri saya sendiri sebagai pengembang komponen: tidak ada satu set pun yang dipikirkan dan diterapkan secara mendalam serta VCL yang besar dan beragam. Tidak, saya tidak berpura-pura menjadi kebenaran tertinggi, dan, tentu saja, ada banyak kesalahan dalam VCL itu sendiri, keputusan yang menyebabkan kesalahpahaman, menyebabkan penolakan dan yang ingin Anda tidak setujui. Tapi saya selalu mendapat kesan gaya tunggal tertentu. Ada di VCL, menurut pendapat saya, inti yang indah dan kuat yang mendukung seluruh desain Delphi, dan di sekitarnya infrastruktur perangkat lunak dan komunitas pengembang itu sendiri dibangun. Terima kasih sebagian besar kepada VCL, sekali lagi menurut saya rumor tentang kematian Delphi masih rumor. Dan ketika komponen pihak ketiga dimasukkan dalam pengiriman VCL, itu langsung terlihat, mereka berbeda.

Tetapi kemudian saatnya tiba dan saya mendengar bahwa VCL adalah teknologi yang sudah ketinggalan zaman. Sebuah teknologi yang harus ditinggalkan di masa lalu. Pengembang harus mengimplementasikan semua proyek baru mereka di FireMonkey, tetapi tentang yang lama ... alangkah baiknya untuk mentransfernya ke rel baru. FireMonkey ada di mana-mana dan selalu. Dan saya mendengarnya dari berbagai sumber. Dan cukup gigih. Tidak, tidak ada yang membunuh VCL. dia tinggal bersama kita. Tapi dia bukan lagi nomor satu. Dia harus menjadi stand-in. Setidaknya begitulah saya memahami apa yang dikatakan tentang masa depan produk.

Pada prinsipnya, saya memahami keselarasan ini. Kursus telah diambil untuk multi-platform, dan, yang lebih penting, untuk lintas platform. Lagi pula, apa itu VCL? Pustaka Komponen Visual. Pustaka komponen visual. Anda mungkin tidak setuju dengan ini. Misalnya, saya selalu mempertimbangkan banyak komponen non-visual, dan bukan komponen, tetapi hanya kelas, bagian integral dari VCL, dan sejumlah besar kelas dan komponen pihak ketiga - kelanjutan, perpanjangan dari VCL. Yah, saya tidak bisa menganggap ahli waris TDataset sebagai bukan bagian dari VCL. Meskipun, misalnya, istilah Perpustakaan DBExpress mengatakan bahwa itu, seolah-olah, bukan VCL. Rupanya, Embarcadero benar-benar membagi monolitik, dari sudut pandang saya, VCL menjadi beberapa perpustakaan terpisah. Tidak, tentu saja, tidak sepenuhnya terpisah, tetapi tetap saja. Dan jika Anda mengambil sudut pandang ini, FireMonkey dimaksudkan untuk menggantikan bagian visual dari VCL (bagaimana saya masih harus memanggil perpustakaan kelas dan komponen yang lengkap, mungkin Perpustakaan Komponen Borland?).

Apa saja komponen visual dari perpustakaan yang dibangun? Di sekitar elemen dasar tingkat rendah yang disediakan oleh sistem operasi. Pegangan jendela, font, jendela itu sendiri, elemen input, pesan, konteks perangkat, dan banyak lagi - ini bukan konsep perpustakaan yang disertakan dengan Delphi, tetapi konsep sistem operasi. Ya, benar, Windows. Dan jika Anda ingin membangun perpustakaan lintas platform, maka logis untuk menolak infrastruktur yang ditawarkan oleh sistem operasi yang menjalankan program yang ditulis menggunakan perpustakaan.

Inilah yang coba dilakukan FireMonkey. Mereka mencoba membuat infrastruktur berdasarkan mekanisme yang mendasari yang didukung oleh berbagai sistem operasi yang dapat menggantikan layanan yang ditawarkan oleh sistem operasi itu sendiri.

Banyak yang ingat mencoba membuatlintas platform tidak hanya perpustakaan, tetapi Delphi itu sendiri. Sejalan dengan Delphi 6, produk Kylix dan perpustakaan CLX dirilis. Semua ini dilakukan agar bisa berkembang untuk Linux. Namun, Linux tidak memiliki banyak konsep dasar jendela GUI yang dimiliki Windows. Antarmuka jendela untuk Linux umumnya bukan fenomena asli. Ini adalah aplikasi opsional. Dan saya harus menulis semacam perpustakaan sintetis. Dengan bantuannya, dimungkinkan untuk menulis program untuk Windows dan Linux. Namun, saya masih ingat perasaan itu, bukan kekecewaan, melainkan ketidaknyamanan yang mengganggu, yang saya alami ketika mencoba menggunakan analog komponen visual dari CLX. Saya mulai banyak kehilangan. Apa yang biasa saya lakukan tanpa berpikir ketika mengembangkan dengan VCL ternyata sulit, sangat berbeda, atau tidak mungkin dilakukan dengan menggunakan CLX.

Saya merasakan hal yang sama ketika beralih dari BDE ke DBExpress. Lama, akrab dari Uji Lapangan-a BDE (Borland kemudian sudah menggunakannya di Quattro Pro untuk Windows dan di Paradox untuk Windows, dan itu disebut ODAPI, dan kemudian IDAPI, dan merupakan potongan di atas, menurut saya, ODBC Microsoft) adalah menyatakan teknologi usang, yang seharusnya memberi jalan dalam proyek baru ke perpustakaan baru. Saya selalu kehilangan sesuatu di DBExpress pada awalnya, terutama pengetahuan.

Pada saat yang sama, saya sama sekali tidak ingin memarahi atau mengkritik perpustakaan yang tercantum di atas, atau keputusan yang menyebabkan kemunculan mereka. Ini hanya tentang kesan saya, terkadang kesan pertama.

Sekarang, mungkin, menjadi sedikit lebih jelas mengapa keputusan untuk menulis proyek kerja kecil menggunakan FireMonkey membawa sejumlah masalah. Selama bertahun-tahun, selama pengembangan proyek, proyek, dan proyek, stereotip tertentu telah terbentuk, pola tertentu tentang apa dan bagaimana melakukannya. Dan dalam kasus saya, saya harus menghadapi kenyataan bahwa template perlu diubah. Karena Anda tidak dapat mentransfer semua yang biasa Anda gunakan menggunakan VCL ke proyek yang dibangun di FireMonkey.

Pada awal proyek, saya mengalami semacam deja vu. Yaitu, perasaan tidak nyaman. Misalnya, elemen input biasa tidak memiliki banyak properti. Trik yang telah menjadi mapan dalam praktik, berdasarkan trik yang terkait dengan pengetahuan tentang beberapa fitur sistem operasi, tidak berfungsi dalam konteks baru. Belum lagi beberapa komponen mengalami perubahan radikal.

Nah, nuansa penting lainnya. Proyek seperti apa yang biasanya harus dilakukan di tempat kerja, jika (pekerjaan) itu tidak terkait dengan penyusun penulisan, sistem pemodelan, atau hal lain yang sangat ilmiah? Saya pikir sebagian besar tentang mengembangkan sesuatu yang melibatkan penggunaan database. Selain itu, sesuatu yang sangat ilmiah juga dapat menggunakan layanan yang disediakan oleh DBMS.

Di sini penyergapan lain menunggu saya. Untuk beberapa alasan, ketika Anda menemukan dalam praktik bahwa FireMonkey tidak mengandung elemen yang berfokus pada bekerja dengan data yang disimpan dalam database, Anda belum cukup siap untuk ini (secara halus). Meskipun saya sudah membaca tentang ini berkali-kali dan Anda tahu (secara teoritis) apa yang harus Anda gunakan. Ini tentang Binding Langsung.

Saya tidak ingin berdebat tentang apakah programmer yang benar-benar keren harus menggunakan komponen db-aware atau tidak.menampilkan, mengedit, dan akhirnya menyimpan. Yang, sekali lagi, tidak buruk atau baik. Itu hanya terjadi seperti itu bagi saya.

Ini menyimpulkan posting kesan pertama saya. Baris berikutnya adalah cerita tentang apa dan bagaimana mereka mengatasi saat mengerjakan proyek.

Anda mungkin tahu bahwa Embarcadero secara aktif mempromosikan visi barunya untuk menciptakan lengket lintas platform - FireMonkey ( mereka menyebutnya kerangka kerja, tetapi untuk kondisinya saat ini kedengarannya terlalu keren). Di Runet, satu demi satu kompetisi diumumkan, webinar diadakan, dan meskipun kualitas yang terakhir meninggalkan banyak hal yang diinginkan, aktivitasnya menyenangkan. Sekarang, sebenarnya, ke topik. Sebagai bagian dari kompetisi terakhir, diusulkan untuk mengembangkan beberapa aplikasi untuk pembelajaran. Dan kemarin karya lain muncul, ditulis oleh Evgeny Chmel ( Saya tidak tahu apakah nama ini dipengaruhi atau tidak.). Berbeda dengan "satu potong" yang terlihat sebelumnya dan bersahaja, di sini upaya dilakukan untuk menarik monyet dengan semua anggota badan: stylization, 3D, efek shader ( Penginjil Embarcadero suka berbicara tentang grafis yang dipercepat GPU :))). Mari kita lihat apa yang terjadi. Bagi mereka yang belum menonton webinar, saya akan membuat penyimpangan kecil. Di salah satu webinar, penginjil Embarcadero Vsevolod Leonov menceritakan kisah sentimental tentang bagaimana dia harus "me-reboot komputer, khususnya, keras" (ini adalah kutipan), karena fakta bahwa Silverlight SDK dan emulator Windows Phone 7 "tidak berhasil" (ini adalah kutipan) di komputernya. mereka tidak menyukai adaptor video atau pengaturan GPU. Tetapi aplikasi yang dikembangkan menggunakan FireMokey, lanjut Vsevolod, sama sekali tidak menuntut perangkat keras. Mari kita lihat bagaimana dia berbohong kepada kita. Saksi yang tidak memihak adalah Process Explorer v15.05 dari Mark Rusinovich. Jadi, unduh aplikasi Eugene dan jalankan ( Saya tidak memberikan tangkapan layar aplikasi Evgeny, itu ada di tautan ke karyanya. Perhatikan font yang buram).

Meluncurkan aplikasi. Mari kita lihat konsumsinya:

Tidak sopan, tetapi Anda bisa memaafkan "teknologi canggih". Buka bagian "Pelajaran" dan pilih "Pelajaran 5". Persiapan panggung dimulai. Proses ini panjang butuh sedikit lebih dari satu menit, pada Phenom II quad-core 3,3GHz), harap bersabar. Panggung telah dibangun. Mari kita lihat konsumsinya:

Monyet itu diberi makan dengan baik. Sangat baik. Sekarang coba gerakkan mouse Anda ke atas tombol pilihan jawaban. Perasaan bahwa GUI bereaksi oh-oh-sangat lamban, bukan? Lihat grafik penggunaan CPU ( Maksud saya Anda harus mencobanya sendiri, di komputer Anda) – pada saat ini bebannya mendekati 100% ( Saya memiliki ~21,5% untuk prosesor quad-core, yang setara dengan 86% untuk single-core). Tetapi seseorang memberi tahu kami tentang grafik akselerasi GPU. Oke, mari kita lanjutkan. Kami menjawab semua pertanyaan pelajaran. Mari kita lihat konsumsinya:

Mata tidak bulat? Sekarang lihat, sebagai perbandingan, berapa banyak penembak FarCry 3D yang dikonsumsi dengan aktif gameplay (levelnya disebut Pabrik, jika ada yang tiba-tiba tertarik) diluncurkan pada mode layar penuh 1440x900:

Buatlah kesimpulan Anda sendiri.

Apa itu Monyet Api?


FireMonkey (FMX) merupakan framework untuk pengembangan cross-platform baik untuk sistem desktop (Windows, Mac OS+ dalam waktu dekat direncanakan akan mendukung bagian server di Linux) maupun mobile (iOS dan Android) dengan menggunakan bahasa Delphi/C++ .

Keunikan:

  • basis kode tunggal untuk semua platform;

  • kontrol apa pun (komponen visual) dapat menjadi wadah (induk) untuk komponen lain;

  • adanya susunan relatif yang sangat maju (20 jenis) komponen pada formulir;

  • LiveBinding memungkinkan Anda untuk menghubungkan semua jenis data atau informasi ke antarmuka pengguna atau objek grafis apa pun;

  • kehadiran gaya bentuk/komponen;

  • Pratinjau Multi-Perangkat memungkinkan Anda untuk menyesuaikan presentasi visual untuk setiap platform;

  • FireUI Live Preview - Menampilkan tampilan aplikasi pada perangkat nyata secara real time.

Kemampuan:

  • penggunaan API asli dari masing-masing platform, serta kemampuan untuk memanggil perpustakaan asli pihak ketiga;

  • interaksi dengan semua sensor (GPS, Accelerometer, Kompas, Bluetooth (termasuk LE) dan lainnya);

  • dukungan untuk pemberitahuan push, IoT;

  • dukungan untuk permintaan HTTP asinkron;

  • dukungan untuk sebagian besar database (MsSQL, MySql, Oracle, PostgreSQL, MongoDB, dll.);

  • bekerja dengan Layanan Cloud (Amazon, Azure);

  • dukungan layanan android.

Kontra (saat ini):

  • kurangnya dukungan untuk kustomisasi kelas asli;

  • implementasi hal-hal tertentu tidak mungkin (widget, ekstensi (iOS), dll.) atau tarian dengan rebana diperlukan (layanan latar belakang, pesan siaran, dll.);

  • kustomisasi Splash screen (layar awal) secara halus, tidak;

  • Kontrol FMX menggunakan rendering mereka sendiri (visualisasi, menggambar), yang secara visual mirip dengan asli;

  • penggunaan kontrol asli dikaitkan dengan gerakan tubuh yang besar;

  • dengan banyak komponen, hal-hal luar biasa terjadi: aplikasi mogok di berbagai tempat, fokus hilang, macet, dll.;

  • konten informasi debugging aplikasi pada platform seluler adalah nol;

  • deskripsi kesalahan pada platform seluler direduksi menjadi "Kesalahan 0x000000X" yang tidak berguna;

  • waktu kompilasi ingin menjadi yang terbaik untuk proyek menengah dan besar;

  • kebutuhan untuk menggunakan file untuk menyempurnakan aplikasi seluler untuk setiap platform;

  • tidak ada dukungan untuk arsitektur Intel Atom;

  • harga yang tidak memadai dibandingkan dengan pesaing.

Kelebihan:

  • perkembangan terbaru yang sangat aktif dari produk dan komunitas, dukungan untuk semakin banyak teknologi baru;

  • kehadiran sejumlah besar komponen gratis dan komersial;

  • kecepatan aplikasi sangat mendekati asli;

  • editor visual yang sangat canggih dan lingkungan secara umum, kehadiran gaya;

  • kemampuan untuk menguji aplikasi di Win, dan baru kemudian menyebarkannya ke perangkat, yang sangat mempercepat pengembangan;

  • ubah mode/platform dengan jentikan pergelangan tangan;

  • PAServer menyediakan interaksi yang mudah dengan MacOs saat mengembangkan untuk Apple OS;

  • dukungan untuk grafis 3D di luar kotak.

Sebagai kesimpulan, saya ingin mengatakan bahwa selama beberapa tahun terakhir, FireMonkey telah berkembang menjadi alat profesional untuk pengembangan aplikasi bisnis lintas platform dan tidak hanya. Banyak kekurangan secara bertahap diselesaikan dan dengan setiap rilis produk menjadi lebih modern dan mandiri, skeptisisme yang ada terhadap bahasa delphi terkait dengan tahun stagnasi. Menulis proyek baru di FireMonkey adalah "aman" dan menjanjikan.

Lebih dari tiga tahun telah berlalu sejak divisi CodeGear yang bertanggung jawab untuk menciptakan alat-alat terkenal di dunia seperti Delphi, C++Builder dan JBuilder, serta Interbase DBMS, menjadi bagian dari Embarcadero Technologies, sebuah perusahaan yang terkenal dengan desain dan administrasi databasenya. alat. , dan dua tahun sejak kami membahas di halaman majalah kami apa yang diharapkan dalam pengembangan alat yang sangat populer di kalangan pengembang Rusia. Kami bertanya kepada David Intersimone, Wakil Presiden untuk Hubungan Pengembang dan Kepala Penginjil Embarcadero Technologies, dan Kirill Rannev, Kepala Kantor Perwakilan Embarcadero Technologies di Rusia. Untuk pembaca termuda kami, kami akan memberi tahu Anda bahwa ini jauh dari wawancara pertama yang diberikan David dan Kirill kepada ComputerPress - kerja sama kami telah berlangsung selama dekade kedua. Dan untuk jumlah tahun yang sama, kami secara berkala menerbitkan ulasan alat manajemen basis data, di mana banyak perhatian diberikan pada produk Embarcadero.

KomputerTekan: David, divisi Anda telah menjadi bagian dari Embarcadero selama tiga tahun sekarang. Dua tahun yang lalu, Anda sangat antusias dengan fakta bahwa itu menjadi bagian dari perusahaan yang dekat dengan Anda dalam tujuan dan semangat. Apakah ada yang berubah selama ini? Apakah Anda dan rekan Anda merasakan antusiasme yang sama?

Ya, saya masih bersemangat. Perubahan utama yang terjadi sejak kami menjadi bagian dari Embarcadero adalah adanya banyak investasi dalam pengembangan Delphi. Jumlah karyawan yang bekerja pada alat pengembangan telah meningkat, jumlah teknologi yang dapat kami kembangkan atau, jika perlu, dapatkan telah meningkat.

Rilis RAD Studio XE 2, yang kami rencanakan untuk didemonstrasikan di Moskow, adalah rilis terbesar dari produk ini dengan kemampuan besar dan sejumlah besar platform yang didukung sejak versi pertama Delphi, dibuat untuk Windows 16-bit dan yang sebelumnya inovatif. produk yang menghubungkan pendekatan komponen dan kompilasi ke kode mesin. Sekarang kami mendukung pengembangan tidak hanya untuk Windows tetapi juga untuk Macintosh, belum lagi pengembangan web dan pembuatan aplikasi untuk perangkat seluler, dan aplikasi ini untuk platform yang berbeda mungkin memiliki kode yang sama.

Platform pengembangan baru - FireMonkey - adalah kolaborasi antara Embarcadero dan perusahaan Rusia KSDev yang baru saja diakuisisi dari Ulan-Ude, produsen komponen untuk grafis vektor, DirectX dan OpenGL, teknologi efek grafis dan komponen Delphi menggunakan GPU dengan PixelShader 2.0. Kami mengakuisisi perusahaan KSDev (lihat ksdev.ru) setahun yang lalu dan mulai bekerja sama untuk membuat alat pengembangan multi-platform yang mencakup platform untuk mengembangkan aplikasi FireMonkey dengan komponen untuk Delphi dan C ++ Buider untuk membuat antarmuka pengguna aplikasi, integrasi dengan database, pemrosesan grafis menggunakan prosesor grafis dan integrasi dengan sistem operasi.

Dengan menggunakan FireMonkey, Anda dapat membuat aplikasi yang menjalankan CPU dan GPU secara bersamaan, dan kemudian menggunakan kompiler dan pustaka run-time yang berbeda (Perpustakaan Run-time, RTL) Anda dapat mengompilasinya untuk Windows, Mac OS, atau iOS. Alih-alih mempelajari pemrograman dengan pustaka grafis yang berbeda, mempelajari API dari platform yang berbeda dengan sistem koordinat yang berbeda dan kemampuan yang berbeda, pengembang yang menggunakan Delphi dan C++ Builder dapat menggunakan pendekatan komponen yang sama, mengedit formulir secara visual dan menghubungkan ke database dengan memindahkan komponen dengan mouse. Hal ini pada dasarnya jalan baru membuat aplikasi yang berjalan pada platform yang berbeda, dan masa depan ada di sana. Jika Anda ingin menambahkan dukungan untuk sistem operasi dan platform lain ke aplikasi Anda, Anda tidak perlu mendesain ulang dan mengembangkannya - cukup dengan mengkompilasi ulang saja.

Kami membuat kompiler baru yang menghasilkan kode asli. Hari ini ada kompiler Delphi untuk 32-bit dan 64-bit Versi Windows, 32-bit Versi Mac OS 10. Dan kami sedang mengerjakan kompiler Delphi dan C++ Builder generasi berikutnya yang memungkinkan Anda membuat kode asli berkinerja tinggi untuk platform ini dan lainnya, seperti Android atau Linux, dan mempertahankan desain yang sama, komponen yang sama, kode yang sama dengan menggunakan kompiler dan pustaka runtime yang berbeda.

Seperti yang Anda lihat, saya punya cukup alasan untuk antusias. Dan para pengembang yang saya temui di seluruh dunia tahu bahwa Embarcadero banyak berinvestasi di Delphi dan C++ Builder serta alat pengembangan PHP.

KP: Kemajuan apa yang telah Anda buat dalam mengintegrasikan alat dari kedua perusahaan selama dua tahun terakhir? Apa rencana Embarcadero untuk masa depan di bidang ini?

DI.: Pada saat divisi CodeGear menjadi bagian dari Embarcadero, perusahaan ini memiliki tim pengembangan di Toronto, Monterrey, dan Rumania, kami berada dan masih berada di Lembah Scotts dan di Rusia, di St. Petersburg. Embarcadero memiliki alat pengembang dan administrator basis data, CodeGear memiliki alat pengembangan aplikasi, tetapi yang terakhir juga menggunakan basis data. Penggabungan perusahaan merupakan kombinasi keahlian, pengetahuan di bidang database, optimasi kode, termasuk kode server. Penggabungan juga mengarah pada penciptaan produk AppWave baru - teknologi khusus untuk mengubah aplikasi Windows biasa menjadi sesuatu yang sangat mudah digunakan (seperti aplikasi untuk iPhone atau perangkat lain). AppWave memungkinkan Anda untuk tidak menginstal aplikasi, tetapi cukup memilihnya dan menjalankannya dari server penyimpanan aplikasi (aplikasi) yang disiapkan, sementara itu akan dijalankan di komputer pengguna tanpa membuat perubahan pada registri dan area sistemnya berkas sistem. Omong-omong, browser aplikasi AppWave ditulis dalam Delphi. Embarcadero menggunakan Dephi untuk pengembangannya sendiri dan keahlian pengembangan aplikasi kami.

Aplikasi iPhone (iOS) dibuat oleh
menggunakan platform FireMonkey

Anda juga dapat menggunakan integrasi alat pengembangan dan Pengoptimal DB kami untuk mengoptimalkan kueri SQL saat membangun aplikasi. Dengan meneruskan kode SQL langsung ke DB Optimizer, Anda dapat membuat profil, mengujinya, dan mengembalikan versi yang dioptimalkan kembali ke lingkungan pengembangan. Keahlian database Embarcadero juga telah meningkatkan teknologi DataSnap. Terima kasih kepada para pengembang dari Toronto, kami telah memperoleh banyak pengetahuan tentang arsitektur sistem dan basis data multi-tingkat. Kami sekarang memiliki keahlian bersama dalam kode server dan prosedur tersimpan di kedua perusahaan. Kami memiliki alat seperti RapidSQL dan DB Change Manager, dan lingkungan pengembangan yang memudahkan pembuatan kode sisi server, seperti teknologi Wawasan Kode dan Penyelesaian Kode yang memungkinkan pembuatan wawasan SQL dan teknologi Penyelesaian SQL. Pendekatan umum kami untuk membuat kode klien dan server, filosofi umum kami, memungkinkan kami untuk berbagi fitur umum antara alat manajemen basis data dan alat pengembangan aplikasi.

Kirill Rannev: Saya ingin menambahkan sesuatu yang penting. Dari sudut pandang komersial, sangat penting bagaimana kami memberikan alat kami. Misalnya, rilis baru RAD Studio XE 2 Ultimate menyertakan set lengkap alat DB Power Studio. Ini adalah seperangkat alat yang sangat kuat, termasuk lingkungan pembuatan kueri RapidSQL, alat manajemen perubahan DB Change Manager, dan alat pengoptimalan kueri DB Optimizer, yang memungkinkan Anda melakukan bagian penting dari proses pengembangan dan penerapan, mengelola perubahan dalam model data, database, kode, dll. Ini adalah kombinasi teknologi yang sangat baik dan benar.

DI.: Namun, jika diperlukan, pengembang dapat menggunakan Subversion untuk mengelola versi kode sumber dan DB Change Manager untuk mengelola versi metadata. Anda dapat menggunakan pembuatan profil kode dan DB Optimizer untuk mengoptimalkan kode server, RapidSQL untuk membangun dan men-debug kode server, dan lingkungan pengembangan kami untuk membangun dan men-debug aplikasi. Kombinasi teknologi dalam RAD Studio XE Ultimate Edition ini menunjukkan kesejajaran antara database dan model pengembangan aplikasi. Sebagian besar pengembang yang membangun aplikasi bisnis dengan Delphi dan C++ Builder bekerja dengan database dan memerlukan alat ini, dan RAD Studio XE Ultimate Edition adalah kombinasi yang bagus untuk pengembang tersebut.

KP: Pengguna modern bukan lagi pengguna satu Platform Windows. Kami melamar perangkat seluler, iPhone, iPad, perangkat Android. Ini berarti bahwa pengembang harus mulai menargetkan platform yang berbeda tanpa peningkatan investasi yang signifikan dalam pelatihan - yaitu, alat universal diperlukan. Jelas, tidak realistis untuk mengharapkan munculnya alat universal dari produsen platform, dan dalam hal ini kami hanya dapat mengandalkan produsen alat independen. Di mana kita bisa mengandalkan Embarcadero?

DI.: Kami masih memiliki banyak hal yang harus dilakukan di bidang dukungan platform. Hari ini kami memperkenalkan dukungan untuk platform iOS untuk iPhone dan iPad, diikuti dengan dukungan untuk smartphone Android, Windows 7 dan Blackberry. Di RAD Studio XE 2, kami memulai dengan membangun platform FireMonkey untuk iOS dan nantinya akan mem-porting FireMonkey ke platform lain.

Pada saat yang sama, ada sejumlah besar sistem operasi yang mendukung Layar sentuh(layar sentuh), untuk ponsel, komputer tablet dan perangkat komputer desktop dan kami akan terus menambahkan dukungan untuk mereka. Selain itu, ada sistem kontrol suara, sistem kontrol gerak, sistem biometrik, akselerometer, jadi kami harus terus memperluas FireMonkey agar semua pengembang dapat memanfaatkan platform baru. Sebagai contoh, Perangkat Microsoft Kinect dirancang untuk Xbox 360, dan sekarang ada SDK (Software Development Kit) yang sesuai untuk Windows. Dan kami sudah memiliki contoh di mana kami menggunakan gerakan untuk mengontrol aplikasi dengan cara yang hampir sama seperti biasanya kami menggunakan mouse atau keyboard.

Saat Anda membuat aplikasi dengan banyak grafik kompleks, Anda menghasilkan seluruh dunia antarmuka pengguna baru. Jika kita berurusan dengan sistem operasi Windows, kita enkapsulasi API Windows-nya di perpustakaan VCL (Visual Component Library), yaitu bagian yang tidak terpisahkan Alat pengembangan Delphi dan C++ Builder. - Catatan. ed.), yang, omong-omong, dapat diterapkan lebih lanjut. Dan di FireMonkey, kami merangkum API sistem operasi. Tapi hari ini kita memanipulasi bentuk dan grafik jauh lebih luas. Anda juga dapat menambahkan properti ruang fisik untuk animasi dan efek khusus. Selain itu, ada sejumlah besar fitur tambahan lainnya untuk membuat antarmuka pengguna yang akan kami terapkan dalam beberapa tahun ke depan untuk berbagai platform, perangkat seluler, dan tablet.

Microsoft baru-baru ini merilis Informasi rinci tentang Windows 8, karena keluar dalam setahun. Kami akan mendukung inovasi ini di perpustakaan VCL dan di platform FireMonkey. Tapi Delphi adalah alat pengembangan yang dirancang tidak hanya untuk Windows, tetapi juga untuk Macintosh, iPhone dan iPad. Kami juga mengembangkan produk PHP kami, mendukung jQuery Mobile, menggunakan iOS API untuk mengembangkan aplikasi klien seluler, dan membuat aplikasi PHP sisi server menggunakan wizard dan alat untuk menghasilkan JavaScript sisi klien, HTML, dan Cascading Style Sheets. Kami dapat mengemas aplikasi PHP dan aplikasi klien dengan kode asli untuk iPhone iOS, sedangkan klien tersebut akan berkomunikasi dengan server PHP. Dan itu, pada gilirannya, akan berkomunikasi dengan server database dan dengan layanan web - dengan semua yang diperlukan untuk bisnis.

Lingkungan pengembangan RadPHP XE2. Buat aplikasi web seluler
menggunakan komponen jQuery Mobile untuk iPhone 3G

Dengan kata lain, kami berencana untuk memperluas kemampuan FireMonkey dan VCL, termasuk dukungan untuk platform seluler.

KP: Bisakah Anda menguraikan lebih lanjut tentang platform FireMonkey?

DI.: Seperti yang telah saya catat, pustaka VCL yang dibuat untuk Windows akan terus berkembang dan ditingkatkan. Tetapi hari ini, jika Anda ingin benar-benar mengembangkan aplikasi bisnis, Anda harus membuatnya untuk platform yang berbeda. Inilah yang dirancang untuk platform FireMonkey. Ini mendukung pembuatan antarmuka pengguna resolusi tinggi, grafik 3D berkinerja tinggi, kecepatan bingkai tinggi, dan, yang penting, menggunakan GPU untuk ini.

Anda dapat menggunakan fitur ini saat membuat aplikasi ilmiah, teknik, dan bisnis. Aplikasi tersebut dapat terhubung ke database menggunakan teknologi dbExpress, masih menggunakan komponen non-visual yang akrab bagi pengembang, seperti ClientDataSet atau DataSource, menggunakan teknologi DataSnap, terhubung ke database, SOAP, dan server REST apa pun. Anda dapat membuat kontrol yang menarik, tombol kotak, tabel mewah, dan elemen antarmuka lainnya dalam 2D ​​dan 3D. Anda dapat memuat model 3D yang sudah jadi ke dalam aplikasi dan menggabungkannya dengan bentuk 2D, yang dapat diputar dan dilihat dari berbagai sudut. Anda dapat membuat kubus data atau bagan bisnis 3D dan memutarnya menggunakan mouse, keyboard, atau bahkan perangkat Kinect, atau Anda dapat masuk ke dalam kubus dan melihat permukaannya yang berbeda dari dalam. Dan semua ini dapat dilakukan dengan GPU berkecepatan tinggi. Aplikasi yang sama kemudian dapat dikompilasi untuk platform lain, seperti Mac OS.

Aplikasi yang berisi kubus berputar dengan data,
ditempatkan di tepinya

Atau Anda dapat membuat bentuk 3D dari awal dan menggunakan kamera dan lampu untuk menerangi dan memutar bagian antarmuka pengguna. Perancang formulir sudah memiliki lingkungan bawaan untuk mendukung antarmuka pengguna 3D secara langsung pada waktu desain.

Di Windows untuk bekerja dengan grafik 2D resolusi tinggi Anda dapat menggunakan perpustakaan Direct2D, dan untuk grafis 3D- Langsung3D. Mac OS menggunakan perpustakaan Quartz dan OpenGL untuk tujuan yang sama. Untuk iOS, library Quartz dan OpenGL ES digunakan. Tetapi semua ini disembunyikan dari pengembang - ia menggunakan platform FireMonkey, sistem koordinat dan antarmuka pemrograman aplikasinya, tanpa memikirkan pustaka ini, dan dapat mengkompilasi aplikasi yang sama untuk platform yang berbeda.

Mari kita ingat apa itu VCL. VCL adalah komponen "pembungkus" di sekitar Windows API. Kita berurusan dengan sumber daya, menu, kotak dialog, warna, gaya, Pesan Windows. Menjadi pembungkus multi-platform tidak seperti VCL, FireMonkey mempertahankan acara dan model komponen yang sama, memungkinkan Anda untuk berpikir dalam hal acara (misalnya, acara OnClick, OnHasFocus, onMouseDown, dan onKeyDown), tetapi menangani acara Macintosh atau iPhone.

Platform FireMonkey juga dilengkapi dengan sistem lengkap animasi elemen antarmuka pengguna. Ini tentu saja bukan sistem animasi gaya Pixar yang komprehensif, tetapi memungkinkan Anda untuk menerapkan efek seperti menganimasikan bitmap, menyoroti fokus elemen antarmuka pengguna, dan bekerja dengan grafik vektor. Lebih dari 50 efek visual tersedia untuk pengembang: mengaburkan, mengubah gambar menjadi hitam putih, larut, transisi, refleksi, membuat bayangan - semua jenis efek tersedia di GPU modern yang sekarang ada di hampir semua komputer. Aplikasi yang dibangun menggunakan platform FireMonkey mengirimkan perintah ke GPU, yang melakukan semua pekerjaan menampilkan grafik dan membuat antarmuka pengguna. Pada saat yang sama, prosesor pusat bebas untuk perhitungan dan akses ke sistem operasi. Pengembang hanya perlu menempatkan komponen dengan benar.

Hal paling mendasar tentang platform FireMonkey adalah cara membangun antarmuka pengguna. Ada penginapan grafik raster pada elemen antarmuka seperti menu, tombol, dan bilah gulir. Di FireMonkey, kami menggunakan grafik vektor GPU untuk tujuan ini. Dari sudut pandang pemrograman, ini semua adalah kontrol yang sama, tetapi prosesor grafis melakukan semua pekerjaan untuk menampilkannya. Kita dapat menerapkan gaya ke kontrol, membuat aplikasi terlihat seperti aplikasi untuk Mac OS atau Windows, membuat gaya kita sendiri, menerapkan gaya ke elemen antarmuka (misalnya, membuat tombol persegi panjang atau bulat dengan mengubah gayanya di editor formulir) - untuk ini lingkungan pengembangan memiliki editor gaya. Anda dapat membuat gaya Anda sendiri, atau Anda dapat mengubah gaya aplikasi yang sudah jadi.

Platform FireMonkey - Alat Pengembangan
dan platform yang didukung

Jika Anda ingat, di perpustakaan VCL ada sejumlah kontrol - wadah (yaitu, memungkinkan Anda untuk menempatkan elemen lain di dalamnya), dan di FireMonkey setiap kontrol adalah wadah. Ini berarti bahwa setiap kontrol dapat berisi kontrol lainnya. Misalnya, item daftar turun bawah dapat berisi gambar, tombol, kotak edit, dan kontrol lainnya. Dan Anda juga dapat menempatkan komponen pada lapisan.

Sistem rendering FireMonkey cukup fleksibel - dapat menggunakan pustaka Direct2D, Direct3D, dan OpenGL dengan mengirimkan perintah ke GPU. Untuk mencapai hal yang sama di VCL, perlu untuk membuat buffer di luar layar yang terpisah, membuat gambar di dalamnya dengan memanggil fungsi yang sesuai dari perpustakaan grafis, dan kemudian menampilkannya di formulir.

Contoh efek grafis yang didukung oleh FireMonkey

Jika Anda tidak memiliki GPU, Anda masih dapat menerapkan bentuk 2D atau 3D dan menggunakan kontrol FireMonkey. Dalam hal ini, platform FireMonkey akan menggunakan pustaka GDI+ atau pustaka serupa lainnya dan melakukan efek dan animasi atau manipulasi objek 3D yang sama.

Fitur lain dari FireMonkey adalah sistem baru mengikat elemen antarmuka ke data, terbuka dan fleksibel. Ada dua jenis elemen antarmuka dalam VCL: data-bound dan non-data-bound (misalnya, TDBEdit dan TEdit). Di FireMonkey, setiap kontrol dapat dikaitkan dengan data, jenis apa pun. Ini bisa berupa ekspresi, bidang dari kumpulan data, data dari objek yang dibuat pengembang, atau hasil pemanggilan metode.

Selain itu, saat membuat aplikasi, Anda dapat memuat model 3D yang sudah jadi ke dalamnya dan menggunakannya - kemampuan seperti itu sering kali diperlukan dalam aplikasi bisnis dan teknik. Kami memiliki klien yang membuat aplikasi untuk logistik. Mereka punya Sistem Informasi, dibangun dengan Delphi, dan di dalamnya - aplikasi yang menggambar rencana dan menampilkan informasi dari sumber data. Mereka baru-baru ini melakukan sesuatu yang menarik - mereka menggambar gudang 3D yang sepenuhnya otomatis di AutoCAD, dan aplikasi mereka memungkinkan Anda untuk melihat bagaimana pemuat otomatis bergerak melalui gudang dan menempatkan barang di rak. Dan mereka meletakkan data dari sumber pada gambar yang sesuai.

Contoh Mengubah Gaya Aplikasi

KP: Format model 3D apa yang saat ini didukung?

DI.: Dalam rilis ini, kami mendukung model pemuatan dari AutoCAD, Collada (alat pemodelan 3D dengan sumber terbuka. - Catatan. ed.), Maya, format OBJ yang didukung oleh banyak vendor grafis 3D.

KP: Apa format lain yang direncanakan untuk ditambahkan?

DI.: Kami berencana untuk menambahkan 3DS (3D Studio MAX), SVG (biasanya format ini digunakan untuk grafik vektor 2D, tetapi terkadang untuk 3D), Google Sketsa Up. Kami mungkin juga mendukung format lain.

KP: Apakah penggunaan model 3D dalam aplikasi yang dibuat dengan FireMonkey memerlukan lisensi untuk alat pemodelan 3D yang sesuai?

DI.: Tidak. Yang kita lakukan hanyalah membaca file model. Kami mengimpor model tetapi tidak mengekspornya (walaupun tentu saja Anda dapat menulis aplikasi yang menyimpan model dalam format Anda sendiri). Kami tidak mengklaim sebagai produsen alat pemodelan 3D - untuk ini Anda dapat menggunakan AutoCAD, 3D Studio Max, Maya atau alat pemodelan 3D lainnya, dan mengimpor model yang dibuat ke dalam aplikasi kami.

KP: Seberapa berkinerja aplikasi yang dibangun dengan FireMonkey pada platform perangkat keras modern?

DI.: Performanya cukup tinggi. Misalnya, bentuk 3D dengan tiga bola dan tiga lampu dapat dirender pada 100 bingkai per detik di MacBook Pro. Dan itu bisa mencapai 600 - itu tergantung pada apa yang sebenarnya kita lakukan. Sekali lagi, itu semua tergantung pada kekuatan GPU.

KP: Apakah ini berarti bahwa dengan bantuan FireMonkey Anda dapat membuat game yang memenuhi persyaratan modern?

DI.: Kami tidak memposisikan alat pengembangan kami sebagai alat untuk game. Namun demikian, dengan menggunakan prosesor grafis modern berperforma tinggi, Anda juga dapat membuat game dengan FireMonkey - lagipula, mereka dibuat menggunakan Direct3D atau OpenGL.

KP: Pekerjaan apa yang Anda lakukan sekarang di bidang dukungan untuk pengenalan gerakan dan hal-hal baru lainnya? Apakah dukungan seperti itu tersedia?

DI.: Kami belum memiliki dukungan gerakan dalam rilis ini. Kontrol gerakan akan ditambahkan dalam rilis FireMonkey mendatang, tetapi untuk saat ini, Anda dapat menggunakan dukungan gerakan yang ada di dalam sistem operasi.

Mikhail Filippenko, direktur Fast Reports, Inc.

K.R.: Kami telah mengatakan bahwa teknologi FireMonkey memiliki akar Rusia - fondasinya dibuat di negara kami, dan kemudian teknologi itu sendiri dan pengembangnya bergabung ke Embarcadero. Secara umum, sangat menggembirakan melihat pertumbuhan komponen Rusia di RAD Studio dan Delphi. Ini adalah kegiatan pusat pengembangan kami di St. Petersburg, dan kontribusi pengembang independen Rusia. Misalnya, Rad Studio XE2 menyertakan pembuat laporan FastReport, yang dikenal di seluruh dunia dan sangat populer di negara kita. Dia berasal dari Rostov-on-Don.

KP: Saya ingin berbicara tentang kompiler. Kompiler apa yang digunakan untuk membuat aplikasi iOS?

DI.: Untuk iPhone atau iPad, kami tidak memiliki kompiler Delphi sendiri - kami belum mengembangkan kompiler untuk prosesor ARM digunakan dalam perangkat ini. Untuk iOS, untuk sementara kami menggunakan kompiler Free Pascal dan pustaka runtime. Tetapi kami sedang mengerjakan kompiler generasi berikutnya, termasuk untuk prosesor ARM. Tetapi ada kompiler untuk Windows dan Mac OS, karena kedua platform perangkat keras didasarkan pada prosesor Intel.

KP: Dan apa yang telah dilakukan di bidang pengembangan compiler dalam dua tahun terakhir?

DI.: Kami memiliki kompiler Delphi 32 dan 64 bit untuk Windows dan Mac OS. Dan kami sedang mengerjakan kompiler Delphi dan C++ generasi baru. Pengerjaan mereka masih berlangsung, tetapi ketika selesai, kami akan memiliki kompiler Delphi untuk prosesor ARM, platform Android, Linux dan apa pun. Dan kami akan memiliki kompiler C++ 64-bit untuk Windows dan platform lain yang kompatibel dengan standar bahasa C++ terbaru yang baru saja diadopsi oleh ISO.

KP: Apa yang terjadi dengan dukungan komputasi awan di alat pengembangan Embarcadero hari ini?

DI.: Dengan RAD Studio XE 2, kami mendukung migrasi aplikasi ke cloud Microsoft Azure atau Amazon EC2 menggunakan Platform Assistant. Dan kami memiliki komponen server untuk Cloud Storage for Azure dan Amazon S3 untuk menyimpan tabel, data biner, antrean pesan. PADA versi sebelumnya Di RAD Studio XE, kami juga mendukung penerapan aplikasi ke Amazon EC2, tetapi tidak memiliki dukungan penyimpanan.

Dukungan komputasi awan di RAD Studio XE 2

KP: Dua tahun lalu Anda berbicara tentang solusi All-Access baru. Berapa permintaannya? Apa manfaatnya bagi integrator dan pengembang sistem?

DI.: Solusi All-Access dan alat cloud AppWave banyak digunakan di seluruh dunia. Mereka dirancang untuk memudahkan penggunaan aplikasi perusahaan kami dan pihak ketiga. Sebenarnya, ini adalah solusi untuk mengelola lisensi dan aplikasi, dan nyaman untuk perusahaan besar. Perusahaan kecil yang tidak memiliki tim manajemen aplikasi khusus dapat menempatkan aplikasi dalam repositori, mengambil nama pengguna dari database, dan memastikan bahwa aplikasi tersebut digunakan tanpa harus mengingat di mana kunci lisensi dan berapa banyak lisensi yang tersedia. Browser All-Access dan AppWave dirancang untuk mengelola versi dan kontrol akses.

K.R.: Pasar sangat beragam, dan pengguna sangat berbeda, sehingga tidak mungkin untuk memenuhi semua kebutuhan dengan satu solusi. Oleh karena itu, kami mengupayakan berbagai solusi "pengemasan". Kami telah melakukan banyak pekerjaan untuk menyatukan lisensi, manajemen lisensi, dan pemasangan produk. Rangkaian solusi ini mencakup alat manajemen lisensi dan akses tidak hanya untuk produk Embarcadero, tetapi juga untuk produk lainnya, termasuk pengembangan internal perusahaan.

Pekerjaan menggabungkan alat pengembangan ke dalam kit pengguna yang efektif masih berlangsung. Kami memiliki All-Access - superset yang menggabungkan semua produk Embarcadero. Jika pelanggan membeli versi All-Access Platinum, ia menerima semua alat yang ada di Embarcadero. Tetapi terkadang set ini ternyata berlebihan, misalnya, kami membuat dua set lain untuk spesialis basis data - DB Power Studio Developer Edition dan DB Power Studio DBA Edition. Perbedaan di antara mereka adalah bahwa untuk pengembang kami menawarkan RapidSQL - alat untuk mengembangkan kode server, dan untuk administrator ada DBArtizan bawaan - alat administrasi basis data, produk yang lebih luas daripada RapidSQL. Untuk profesional, kami memiliki suite All-Access berikut: suite semua produk, DB Power Studio untuk pengembang, DB Power Studio untuk administrator, ER Studio Enterprise Edition untuk arsitek dan siapa pun yang terlibat dalam pemodelan. Ada kombinasi untuk pengembangan aplikasi dan untuk administrator. Delphi adalah alat pengembang, dan sangat masuk akal untuk menambahkan alat pengembangan SQL dan alat pengoptimalan ke dalamnya. Terakhir, DB Change Manager adalah alat yang sangat logis untuk mengelola kompleksitas perubahan yang terjadi pada database selama siklus hidupnya.

Dengan demikian, All-Access adalah kepala keluarga besar set produk yang berbeda.

KP: Kalau bukan rahasia, siapa di Rusia yang menggunakan All-Access?

K.R.: Kami memiliki pelanggan yang membeli All-Access berdasarkan Delphi. Banyak dari mereka membuat sistem client-server yang kompleks dengan SQL Server dan Oracle, dan mereka langsung menyukai toolkit database lintas platform kami. Kami memiliki perusahaan klien yang telah bekerja dengan Delphi sejak versi pertama, dan setahun yang lalu pindah dari menggunakan Delphi ke kit Akses Lengkap. Dua tools yang dijamin bisa digunakan oleh semua developer di perusahaan ini adalah Delphi dan DBArtisan. Dan ada pelanggan yang datang ke All-Access dari sisi database. Tugas utama mereka adalah mengelola database, tetapi mereka juga kadang-kadang mengembangkan aplikasi. Klien yang menggunakan Akses Lengkap termasuk perusahaan media, pembuat mesin, dan industri lainnya.

Secara terpisah, saya ingin membahas perusahaan kecil. Sangat sering dalam tim kecil, pengembang melakukan segalanya, dan perusahaan semacam itu terkadang membeli paket makanan All-Access besar untuk satu atau dua pengembang. Dalam tim besar, pengembang tidak dianjurkan untuk melakukan peran sebagai administrator basis data, misalnya, jadi paket makanan kecil biasanya populer di sana, dan di perusahaan kecil kombinasi tugas ini cukup dapat diterima.

Delphi Architect adalah produk yang banyak dipasarkan yang mencakup alat pemodelan dan pemrograman. Jumlah salinan yang terjual, bagaimanapun, kurang dari versi Delphi Enterprise, tetapi juga besar. Saya perhatikan bahwa pada tahun 2010 kami adalah negara terbaik dalam hal penjualan, terlepas dari kenyataan bahwa semua negara selamat dari krisis. Pertumbuhan ini bukan karena faktor ekonomi melainkan karena versi RAD Studio XE, yang dirilis pada akhir 2009, ternyata sangat diminati. Dan sementara kami mengharapkan pertumbuhan lebih lanjut dalam penjualan.

Kami telah mengambil langkah lain yang masuk akal, yang sangat dituntut di Rusia. Tingkat legalisasi berbagai versi produk kami berbeda: semakin tinggi versinya, semakin legal, karena sebelumnya perangkat lunak tidak begitu aktif membeli. Dimulai dengan RAD Studio XE, lisensinya mencakup versi 2010, 2009, 2007, dan bahkan Delphi 7, produk yang banyak digunakan.

Saat ini, pengembang dihadapkan pada kenyataan bahwa mereka memiliki proyek dan proyek baru dalam keadaan mendukung. Sejumlah besar proyek telah dipindahkan dari versi awal Delphi ke versi 7 dan tetap dalam versi ini, terus bekerja pada sumber daya yang relatif kecil. Tidak ada yang memindahkannya ke versi yang lebih baru, tetapi mereka tetap layak. Dan sekarang kami mengizinkan sedikit uang (kurang dari harga lisensi Delphi 7) untuk mendapatkan RAD Studio XE dan Delphi 7 - yaitu, kami melegalkan pengembang baik untuk implementasi proyek baru maupun untuk proyek pendukung.

KP: Bagaimana Anda menilai keadaan komunitas Embarcadero saat ini?

DI.: Komunitas ini besar dan sangat menuntut. Mereka membutuhkan segalanya dan segera - mereka adalah pengembang. Tapi terkadang butuh waktu lama untuk mendapatkan sesuatu yang benar.

Beberapa tahun yang lalu kami mengambil arsitektur komponen Windows dan memasukkannya desktop Linux. Sekarang kita melihat bahwa itu bukan keputusan yang tepat. Keputusan yang tepat adalah membuat platform untuk aplikasi. Aplikasi bahkan untuk platform yang berbeda memiliki menu, jendela, grafik, akses jaringan dan akses ke perangkat. Platform yang berbeda mungkin memiliki model yang berbeda kontrol aliran atau penanganan pengecualian, tetapi dalam kode aplikasi kita melihat blok coba yang sama. Tugas kami adalah memudahkan pengembang untuk membuat aplikasi bisnis dan mengompilasinya untuk platform yang seharusnya digunakan, terlepas dari bagaimana sistem instruksi dari prosesor yang sesuai diatur dan fitur lain dari platform ini. Dan FireMonkey adalah persis apa yang Anda butuhkan untuk memecahkan masalah ini.

KP: Jika sebuah perusahaan membuat perangkat baru dan ingin memiliki dukungan FireMonkey untuk itu, apakah itu mungkin?

DI.: Dengan kompiler generasi baru yang akan memiliki front-end platform-independen dan back-end platform-dependent, ini akan sangat mungkin. Sementara itu, untuk setiap sistem operasi, kami membuat kompiler dan pustaka runtime dari awal.

Setiap perangkat baru modern, sebagai suatu peraturan, memiliki antarmuka pengguna grafis (banyak dari mereka memiliki prosesor inti ganda dan GPU) dan SDK standar untuk pengembang. Semua ini menyederhanakan pembuatan dukungan perangkat di FireMonkey. Jika perangkat baru hanya memiliki perpustakaan untuk grafik 2D seperti Quartz, kami akan dapat mendukung perangkat tersebut di FireMonkey, tetapi ini akan memakan waktu sekitar beberapa bulan. Namun, banyak tergantung pada platform: tidak semua platform mendukung semua fitur, misalnya, iOS tidak memiliki menu dan kotak dialog, dan Anda tidak akan dapat menempatkan komponen yang sesuai pada formulir aplikasi tersebut.

KP: Apakah ada yang berubah dalam kebijakan bekerja dengan mitra? Apa yang sedang dilakukan untuk meningkatkan pangsa pengguna produk Anda? Apa yang sedang dilakukan di Rusia?

DI.: Ekosistem mitra kami luas - ada ratusan produsen alat dan komponen yang tidak ditemukan dalam produk kami, dan kami memiliki program kemitraan teknologi. Oleh karena itu, berbagai komponen, teknologi, dan alat tersedia untuk pengembang. Dan solusi yang mereka buat untuk pelanggan mereka lebih baik daripada jika hanya produk kami yang digunakan. Dan untuk penjualan, kami memiliki kantor di banyak negara, reseller dan distributor.

K.R.: Yang penting bagi kami bukanlah jumlah mitra, tetapi kualitas kerja masing-masing mitra tertentu. Untuk saat ini, kami ingin fokus bekerja sama dengan mitra yang ada, meskipun kumpulan mitra tetap terbuka. Kami memiliki banyak mitra, dan kami harus membantu mereka dalam hal teknologi. Kami bekerja dengan pengembang, dan mereka tahu apa yang mereka inginkan dan tahu apa yang tersedia di pasar, dan kemampuan mitra harus sesuai dengan ini.

Kami memiliki mitra bisnis yang telah banyak berinvestasi di Embarcadero sebagai lini bisnis - mereka telah melatih spesialis, pemasaran produk kami, karyawan berdedikasi yang bertanggung jawab untuk area ini dan memantau apa yang terjadi dengan produk kami, daftar harga, pemasaran. Secara alami, mereka lebih berhasil dalam hal penjualan produk kami daripada perusahaan yang menjual produk kami berdasarkan kasus per kasus.

KP: David, Kirill, terima kasih banyak atas wawancaranya yang menarik. Atas nama publikasi kami dan pembaca kami, izinkan saya berharap perusahaan Anda terus sukses dalam menciptakan alat luar biasa Anda yang sangat dibutuhkan pengembang!

Pertanyaan yang diajukan oleh Natalia Elmanova