Evanjelikler yalan söyler. FireMonkey berbat

ÜçlüEfekt görsel nesnelerin dokusuna dalgalanma dalgaları uygulayan bir efekt oluşturmak için bir sınıf.

Dalgalanma merkezi, özellikte belirtilir Merkez... Dalgalanmanın diğer yönleri, özellikler kullanılarak ayarlanabilir Genlik(Genlik), En Boy Oranı, ve Faz(Faz). Dalgalanma dalgalarının sayısı özellik tarafından belirlenir Sıklık(Sıklık).

Aşağıdaki tablo, etkinin sonuçlarını göstermektedir. ÜçlüEfekt forma yerleştirilmiş bir PNG fotoğrafına (bir nesne kullanarak). Dalgalanma merkezi görüntünün ortasındadır. Diğer özellikler ÜçlüEfekt varsayılan değerleriyle kullanılır ( Genlik = 0,1, En Boy Oranı = 1,5, frekans = 70, Faz = 0).

Bu öğreticide, FireMonkey uygulamasında birkaç temel görüntü efekti kullanacaksınız.

Adım 1: Efekti görüntüye uygulayın.

FireMonkey'de bir görüntüye görüntü efekti uygulamak basit bir işlemdir. Sadece bir görüntü içerebilen bir bileşen oluşturun ve ardından görüntü efektlerinden birini uygulayın.

    Yeni bir FireMonkey uygulaması oluşturun ( Dosya> Yeni> FireMonkey Masaüstü Uygulaması> HD FireMonkey Uygulaması).

    Bileşeni forma yerleştirin.

Araç çubuğunda bileşeni seçin.

TImage'ı yapıcıdaki formda konumlandırın.

    Bileşenin form tasarımcısının merkezine sığmadığını görebilirsiniz. Şekilde gösterildiği gibi, görüntü alanının boyutunun mümkün olduğunca büyük olması gerekmektedir. Bunu yapmak için, tasarımcı formunda bileşeni seçin ve ardından özellikleri değiştirin. hizala v alClient Bileşeni, form bölgesinin istemci boyutuyla aynı boyutta yapmak için Nesne Denetçisi'nde.

    Efekti uygulamak istediğiniz görüntüyü seçin. Bileşen, resmi mülkte saklar bit eşlem... Mülk seçin bit eşlem nesne denetçisinde ve kullanma Düzenlemek ... Bir görüntü seçmek için

  1. Artık görüntü için bir efekt seçebilirsiniz. Araç paletinde, ÜçlüEfekt.

Şimdi Dalga etkisi pencerede görüntülenir Yapı.

Bir efekt uygulamak için başka bir bileşenin alt öğesi olarak tanımlanmalıdır. Bu durumda, Dalgalanma Etkisi1çocuk olarak tanımlanmalıdır Resim1... Bunu yapmak için sürükleyin Dalgalanma Etkisi1 ve üzerine yerleştirin Resim1 yapı bölmesinde.

  1. Şimdi bunu görebilirsin Dalga etkisi Form Designer'da zaten çalışıyor.

  1. Özelliği değiştir Sıklıküzerinde 20 .

Adım 2: RippleEffect'e bir animasyon efekti uygulayın.

    Vurgulamak Dalga etkisi panelde Yapı.

    Özelliği vurgula Faz Nesne Denetçisinde ve komutu çalıştırın Yeni TFloatAnimation Oluştur açılır menüden.

Emin olun FloatAnimasyon1çocuk olarak tanımlanan Dalgalanma Etkisi1.

    Özellikleri değiştir FloatAnimasyon1 Aşağıda gösterildiği gibi:

Ve son olarak, bir olay prosedürü ekleyelim OnMouseMove NS .

03/06/2013 12:46 pm

FireMonkey'de bir tarayıcı bileşeninin olmaması nedeniyle çok acı çektim. Bilinen proje Delphi Chromium Embedded, en son sürümde FMX desteği içeriyordu. Ancak oldukça uzun bir süre geçmesine rağmen, yazarın FMX2 için destek eklemek için acelesi yok. Sonuç olarak, durumu kendi ellerime almak zorunda kaldım.

Resmi derlemedeki TChromiumFMX bileşeni, FireMonkey'de (XE2'de) oldukça iyi çalışır, ancak FMX2'de derlenmez bile. Nasıl çalıştığını biraz çözmem ve düzeltmem gerekiyordu. Neyse ki, büyük bir değişiklik gerekli değildi.

FMX2'de bileşenin ihtiyaç duyduğu iki şey değişti.

İlk olarak, TBitmap artık ScanLine ve StartLine özelliklerine sahip değildir. TBitmap içeriğine doğrudan erişim yeniden tasarlandı (Nedenini merak ediyorum?) Ve şimdi TBitmap.Map yöntemini döndüren TBitmapData sınıfı aracılığıyla kullanılabilir.

Eh, ikinci, daha ünlü - Platform * Artık orada değil, şimdi TPlatformServices.GetPlatformService aracılığıyla istediğiniz arayüzü almanız gerekiyor. Burada her şey oldukça basit ve hiçbir sorun yok.

Özellikle ustaca test etmedim, ancak benim amaçlarım için bileşen oldukça uygun - siteleri onun üzerinden görüntüleyebilirsiniz. İndir. Düzenlemelerimi yazara da göndereceğim, resmi sürüme eklemek gerekebilir.

07/30/2012 2:43 am

Jason Southwell, yerel Windows / OSX kontrolleri için bir dizi FireMonkey sarmalayıcı geliştirmeyi teklif ediyor ve bunun için para topluyor. Başlangıç ​​için 20 bin dolar toplamayı planlıyor.

Fikir açık. Mevcut FireMonkey bileşenleri neredeyse sıfırdan Delphi kullanılarak oluşturulur, bu bir yandan platformlar arası işlevselliğini büyük ölçüde sağlar, ancak diğer yandan sonuç olarak şu anda her iki işletim sisteminde de pek doğal görünmeyen bileşenler elde ederiz. desteklenir. Ve bu, sorunun yarısıdır - görünüme ek olarak, bu bileşenlerin mantığını bağımsız olarak geliştirmeniz gerekir. Örneğin, RichEdit oldukça karmaşıktır; mantığını FireMonkey'de kendi başınıza tekrarlamak önemsiz bir iş değildir. Hem VCL hem de CLX tekerleği yeniden icat etmediler, hazır bir tane kullandılar.

Şimdi kötü haber için. Her şey çalışma zamanında çalışıyor, ancak yeni sekme tipimi Öğe Tasarımcısına eklemenin bir yolunu bulamadım. Görünüşe göre tüm liste denetimlerinde aynı sorun var: TListBox, TGrid, vb. İlk başta, uygulama yaklaşımlarını gerçekten beğendim, ama şimdi bir şekilde bundan bile şüpheliyim. İnternette yapılan bir araştırma, bu sorunla yalnız olmadığımı gösterdi.

Yardım sessiz, kodda da hiçbir şey bulamadım. Yok canım? Son derece tatsız olurdu.

FireMonkey, "yeni Delphi"nin temel teknolojisidir. Lütfen bize bu temelde yeni kitaplığın cihazının hedefleri, yetenekleri ve teknik yönleri hakkında bilgi verin. Zaman geçtikçe, geriye dönüp bakıldığında, son derece popüler VCL'yi daha da geliştirmeyi reddetmeniz ne kadar zor ve haklıydı?

Belirli bir hedefe ulaşmak için Delphi teknolojisinin geliştirilmesinde ana yön olarak seçildi - tek bir kaynak kodu tabanına dayalı ve geliştiricilerin kardinal yeniden eğitimine ihtiyaç duymadan tek bir ortamdan çok platformlu geliştirme. Artık klasik ve süper popüler VCL çerçevesinde bu imkansızdı, WinAPI ile bağlantısı çok yakındı, denilebilir ki, "genetik düzeyde".

VCL bileşenleri, arayüz ve görüntüleme mekanizmaları açısından işlevsel katman arasında "soyut" bir katmana sahip değildi. Fonksiyonel seviye- bir kontrol olarak nasıl davranır, hangi olaylara tepki verir, ne tür bir kullanıcı etkileşimi sağlar. Görüntülemek- Platform odaklı görselleştirme yöntemlerini raster nesneler ve vektör ilkellerinden oluşan bir tür görüntü olarak çağırmak. FireMonkey, başlangıçta kontrolün iki bileşene katı bir şekilde ayrılması ilkesini uyguladı: "davranışsal" ve "görsel".


Vsevolod Leonov, Embarcadero Technologies

İlki genellikle VCL'nin temellerini bile değil, nesne yönelimli programlamanın özünü tekrarlayacaktır. Bileşen bir sınıftır, bileşen sınıfları ailelerin ve modüllerin ayırt edilebileceği bir hiyerarşi oluşturur. Bir bileşenin sınıfının, nasıl oluşturulduğuyla pek ilgisi yoktur.

Görsel "resim" dinamik olarak oluşturulur, bileşen sınıfında sabit kodlanmamıştır. FireMonkey'deki görüntü veya "stil", uygulama başladığında bileşene yüklenir. Bir bileşen için bazı işlevsel iskeletimiz var ve "dış" veya "kaplama" değiştirilebilir, ama neden? Tam olarak, FireMonkey uygulamalarının herhangi bir platformda orijinal görünmesi için - Windows 7, Windows 8, Mac OS, iOS ve yakın gelecekte Android. VCL'nin geleneksel monolitik sınıf yapısı bunu sağlayamadı.

Yaklaşımın teknolojik etkinliği burada özel bir rol oynar. Temel olarak, VCL kitaplığını alabilir ve WinAPI'yi ve diğer tüm olası platform çağrılarını doldurabilirsiniz. Bu hala çok sınırlı bir bileşen alt kümesinde yapılabilir, ancak VCL birkaç yüz bileşen içerir, bu nedenle bu yaklaşım VCL'yi öldürebilir. VCL'ye dokunmamaya, ancak yeni bir platform olan FireMonkey'de yeni fırsatlar geliştirmeye karar verildi. Bu teknolojinin belirli bir teknik gelişmişliği bile vardır - belirli bir platform için bir proje oluştururken, Delphi IDE gerekli derleyiciyi bağlar ve arayüz bileşenleri platform stilini alır.

Kullanıcı için bu, tek bir tıklama ve aynı kaynak kodudur, Delphi için böyle bir çok platformlu kitaplık oluşturmak geliştiricilerin uzun vadeli zor bir işidir.

FireMonkey'in ayrı bir yeni platform olarak tanıtılacağı netleştiğinde, doğru bir arada yaşama stratejisini seçmek gerekliydi: Embarcadero, VCL kullanıcılarını hiçbir şekilde olumsuz etkilemek istemedi. Bu nedenle, aşağıdaki planı seçtik: VCL, mümkün olan en yüksek uyumluluğu sağlamak için ideolojik ve mimari olarak sabit kalır ve projelerin modern versiyonlara geçişini kolaylaştırır. FireMonkey'in gelişimi, VCL'ye bakmadan doğal ve paralel bir yol izleyecektir.

Bu çözümün zayıf noktası, bir proje içinde VCL'den FireMonkey'e oldukça sorunlu geçiştir. Ancak öte yandan, yeni bir proje için geliştirici, ortaya çıkan uygulamasının çoklu platform işlevselliğini sağlamak için FireMonkey'i seçebilir. iOS destekli XE4'ün piyasaya sürülmesinden sonra, planlanan Android desteğinin uygulanmasından sonra artırılacak olan, kurumsal bir ortamda mobil geliştirmeye başlamak için Delphi'nin parlak rekabet avantajlarından şimdiden bahsedebiliriz.

Bu nedenle, VCL'nin gelişiminin açık bir "reddi" yoktur. Delphi'nin VCL kısmı da daha yeni sürümlerde gelişir. Bu, 64 bit desteği ve görsel bileşenler için stilin tanıtılması ve esnek dinamik bağlantılar veya "bağlama" mekanizmasının uygulanması ve VCL projelerinde veritabanlarıyla çalışmak için FireDAC kitaplığının dahil edilmesidir. FireMonkey'den kaynaklanan dev bir niteliksel sıçramanın arka planına karşı, VCL'deki ilerleme biraz gelişmemiş görünüyor. Ancak, her ne olursa olsun, VCL Delphi'nin ayrılmaz bir parçasıdır ve uzun yıllar boyunca da öyle kalacaktır. Platform evrimi ve masaüstü ve mobil işletim sistemlerindeki mevcut son teknoloji, gelecek açıkça FireMonkey ile olacak şekildedir.

Röportajda zaten iOS desteğinden bahsetmiştik, okuyucularımıza başkalarının desteğini anlatalım. en son teknolojiler Windows 8 ve WinRT, 64-bit sistemler, MacOS vb. gibi en son RAD Studio XE4'ten. Yeniliklerle şımarık modern bir programcıya başka neler sunabileceğinizi sıralayabilir miyim?

Büyük olasılıkla, modern bir programcı yeniliklerden "şımarık" değildir. Büyük projeler için, herhangi bir "yenilik" genellikle devasa miktarda çalışmaya dönüşür.

Örneğin, herkes uzun süre bekledi, çoğu hemen kodlarını çevirmek için koştu. yeni platform... Ancak çok profesyonel ekiplerin bile buna hazır olmadığı ortaya çıkıyor. Derlenmiş 64 bit kod, çalışılabilir anlamına gelmez. "Gençliğin günahları" ortaya çıkmaya başladı, örneğin 4 baytlık bir adres boyutu varsayımı üzerine talimatların kullanılması. Test yapma kültürünün eksikliği, bu süreci kısa sürede uygulamak için teknolojik yetersizlik ile birleştiğinde.

Ve burada - proje ne kadar büyükse, diyelim ki satır sayısıyla ölçülür kaynak kodu, daha dikkatli ve dengeli programcılar, arayüzdeki "düğmenin" görünümünden derleyicideki "sözdizimsel şeker" e kadar çeşitli yenilikler hakkındadır.

Bu "sorunlu" başarılardan biri Windows 8'in piyasaya sürülmesiydi. Kişisel olarak, bir PC kullanıcısı ve sadece modern bir BT uzmanı olarak Windows 8 bir zevktir. Ancak, yükte yeni bir işletim sistemi geliştirmesi için teknik şartnameye sahip Windows 8 çalıştıran bir grup bilgisayar gönderilen geliştiriciler için bu, belirli zorluklar anlamına gelir.

Bu işletim sisteminin yeni arayüzü için geliştirme desteğini mümkün olduğunca rahat ve acısız bir şekilde sağlamaya çalıştık. Bu nedenle, hem VCL hem de FireMonkey için özel stiller tanıtıldı ve programcı, uygulama arabirimini yeniden oluşturabilir veya Windows 8 için "yerel" olandan ayırt edilemeyecek olan uygulamayı yeniden oluşturabilir. dış görünüş... Elbette WinRT üzerinden Windows 8 için "yerel" desteğe ihtiyaç var. Ancak burada modern koşullarda hedeflerin önceliklendirilmesi etkiler. Yakın gelecekte Mac OS, iOS, Android, yakın gelecekte WinRT için tam destek hakkında konuşma fırsatı vermiyor.

Embarcadero'nun stratejik hedefi elbette çoklu platformdur. RAD Studio XE4'ün piyasaya sürülmesi, öncelikle iOS desteği nedeniyle kilit bir sürümdü. VCL kullanan aktif bir programcı, birkaç saat içinde iOS için geliştirmeye başlayabilir. Hatta basit mobil uygulama anında mevcut altyapı içerisinde çalışan güçlü bir projeye dönüştürülebilir. Bunun sadece FireMonkey için yeni bir derleyici olduğunu düşünmeyin ve yeni stil iOS arayüzüyle eşleşmesi için.

Yeni bir görsel tasarımcı, çeşitli form faktörleri için yerleşik destek ve yeni FireDAC dahil olmak üzere veri erişim kitaplıkları ve kurumsal verilere esnek ve dinamik bağlama için LiveBindings teknolojisi içerir. Tüm bu yenilikler senkronize olarak gelir - hem Windows hem de Mac OS ve iOS için. Mac OS işletim sistemi o kadar hızlı gelişmediği için Windows 7'den Windows 8'e geçiş gibi bir sorun da yok. Ancak Retina ekranlar ortaya çıktı ve bu özel bir dikkat gerektiriyordu. Artık Delphi XE4'te oluşturulan herhangi bir MacOS uygulaması otomatik olarak iki stil içerir - "normal" ve "yüksek tanımlı".

O. aynı uygulama, herhangi bir Apple masaüstü bilgisayarında aynı yüksek kaliteli "yerel" arabirime sahip olabilir.

Embarcadero, yeni yenilikçi sürümleriyle geliştiricileri "şaşırtmak", "şaşırtmak" ve hatta "eğlendirmek" istemiyor. Aksine, BT alanı şimdiden çeşitli sürprizlerle dolu: yeni cihazlar, yeni platformlar, yeni kullanıcılar, yeni ihtiyaçları, yeni etkileşim senaryoları. Buna yeni yazılım geliştirme teknolojileri ekleyin ve programcıların mevcut sistemler üzerinde yeni sistemler oluşturmak için zamanları olmayacak - yalnızca bir ortamdan diğerine, eski bir kitaplıktan yenisine, bir dilden diğerine geçmek için ne yapacaklar? .

Ancak yeni olan her şeyi reddetmeyi kabul etmiyoruz. Biz sadece her şeyin sürekliliğini sağlamak istiyoruz - kod, arayüz, proje, hatta yeni platformlar ve cihazlar ortaya çıktığında profesyonel beceriler. Geliştirme araçlarında sağlıklı bir muhafazakarlık pahasına yeni platformlar konusunda sağlıksız bir muhafazakârlıkla mücadele ettiğimizi söyleyebiliriz. Embarcadero'dan egzotik ürünler, standart dışı programlama dilleri ve sıra dışı geliştirme araçları beklemeyin.

Bizimle her zaman bulacaksınız - görsel geliştirme, klasik diller, "yerel" kod ve uygulamalarınız için aynı kanıtlanmış klasik yolla oluşturulmuş yeni hedef platformlar olsun.

Delphi, C ++ Builder ve JBuilder gibi dünyaca ünlü araçların yanı sıra Interbase DBMS'nin oluşturulmasından sorumlu olan CodeGear bölümünün tasarım araçlarıyla tanınan Embarcadero Technologies'in bir parçası haline gelmesinden bu yana üç yıldan fazla bir süre geçti. ve veritabanlarının yönetimi. ve iki yıl sonra dergimizin sayfalarında Rus geliştiriciler arasında çok popüler olan araçların geliştirilmesinde neler beklenebileceğini tartıştık. Embarcadero Technologies'in Geliştirme İlişkileri Başkan Yardımcısı ve Baş Evangelisti David Intersimone ve Embarcadero Technologies'in Rusya'daki Temsilci Ofisi Başkanı Kirill Rannev'e sorduk. En genç okuyucularımız için, bunun David ve Kirill'in ComputerPress'e verdiği ilk röportaj olmadığını bildirmek isteriz - işbirliğimiz ikinci on yıldır devam etmektedir. Ve yaklaşık aynı yıllar boyunca, Embarcadero şirketinin ürünlerine çok dikkat edilen veritabanı yönetim araçlarının incelemelerini periyodik olarak yayınlıyoruz.

Bilgisayar Basın: David, senin bölümün üç yıldır Embarcadero'nun bir parçası. İki yıl önce, amaç ve ruh olarak size yakın bir şirketin parçası olmanın heyecanını yaşıyordunuz. Bu süre zarfında bir şey değişti mi? Siz ve meslektaşlarınız aynı coşkuya sahip misiniz?

Evet, hala hevesliyim. Embarcadero'nun bir parçası olduğumuzdan beri büyük bir değişiklik, Delphi'ye çok fazla yatırım yapılmış olmasıdır. Geliştirme araçları üzerinde çalışan çalışan sayısı arttı, geliştirebileceğimiz veya gerekirse edinebileceğimiz teknolojilerin sayısı arttı.

Moskova'da sergilemeyi planladığımız RAD Studio XE 2'nin piyasaya sürülmesi, bu ürünün en büyük sürümüdür. büyük fırsatlar ve Delphi'nin ilk sürümünden bu yana, 16 bit Windows için oluşturulan ve daha önce bileşen yaklaşımı ve derlemeyi makine koduyla birleştiren yenilikçi bir ürün olan çok sayıda desteklenen platform. Artık sadece Windows için değil, Macintosh için de geliştirmeyi destekliyoruz, mobil cihazlar için web geliştirme ve uygulama oluşturmadan bahsetmiyorum bile ve farklı platformlar için bu uygulamalar aynı koda sahip olabilir.

Yeni geliştirme platformu - FireMonkey - Embarcadero ile PixelShader 2.0 ile bir GPU kullanan vektör grafikleri, DirectX ve OpenGL, grafik efekt teknolojileri ve Delphi bileşenleri üreticisi UlanUde'den yakın zamanda satın alınan Rus firması KSDev arasındaki bir işbirliğidir. KSDev'i (bkz. ksdev.ru) bir yıl önce satın aldık ve Delphi bileşenleriyle FireMonkey uygulamaları geliştirmek için bir platform ve uygulamalar için bir kullanıcı arabirimi oluşturmak için C ++ Buider içeren çok platformlu bir geliştirme aracı oluşturmak için birlikte çalışmaya başladık. veritabanları ile , GPU kullanarak grafik işleme ve işletim sistemi ile entegrasyon.

FireMonkey ile CPU ve GPU'yu birlikte çalıştıran bir uygulama oluşturabilir ve ardından farklı derleyiciler ve Çalışma Zamanı Kitaplıkları (RTL'ler) kullanarak bunu Windows, Mac OS veya iOS için derleyebilirsiniz. Farklı grafik kitaplıkları kullanarak programlama öğrenmek yerine, farklı platformların API'lerini öğrenin. çeşitli sistemler koordinatlar ve farklı yetenekler, Delphi ve C ++ Builder kullanan geliştiriciler, aynı bileşen yaklaşımını kullanabilir, formları görsel olarak düzenleyebilir ve bileşeni fare ile hareket ettirerek veritabanlarına bağlanabilir. temelde yeni yol farklı platformlarda çalışan uygulamalar yaratmak ve gelecek ona ait. Uygulamanıza diğer işletim sistemleri ve platformlar için destek eklemek istiyorsanız, onu yeniden tasarlamanız ve geliştirmeniz gerekmez - sadece yeniden derlemeniz yeterlidir.

Yerel kod üreten yeni derleyiciler oluşturuyoruz. Bugün 32-bit ve 64-bit Windows, 32-bit Mac OS 10 için Delphi derleyicileri var. Ve her ikisi için de yüksek performanslı makine kodu oluşturmanıza olanak sağlayacak yeni nesil Delphi ve C++ Builder derleyicileri üzerinde çalışıyoruz. listelenen ve diğerleri. Android veya Linux gibi platformlar ve farklı derleyiciler ve çalışma zamanı kitaplıkları kullanarak aynı tasarımı, aynı bileşenleri, aynı kodu korur.

Gördüğünüz gibi, coşku için yeterli nedenim var. Ve dünyanın her yerinden tanıştığım geliştiriciler, Embarcadero'nun Delphi ve C++ Builder'ın yanı sıra PHP geliştirme araçlarına büyük yatırımlar yaptığını biliyor.

KP: Son iki yılda iki şirketin araçlarını entegre etme konusunda ne gibi ilerlemeler kaydettiniz? Embarcadero'nun bu alandaki gelecek planları nelerdir?

DI.: CodeGear bölümü Embarcadero'nun bir parçası olduğunda, bu şirketin Toronto, Monterrey ve Romanya'da geliştirme ekipleri vardı, biz Scotts Valley'de ve Rusya'da, St. Petersburg'daydık ve hala öyleyiz. Embarcadero'da geliştirici ve DBA araçları, CodeGear'da uygulama geliştirme araçları vardı, ancak ikincisi aynı zamanda veritabanlarını da kullanıyor. Şirketlerin birleşmesi, uzmanlık, veritabanları alanındaki bilgi, sunucu kodu da dahil olmak üzere kod optimizasyonunun bir birleşimidir. Birleşme ayrıca, normal bir Windows uygulamasını kullanımı çok kolay bir şeye (iPhone veya diğer cihazlar için uygulamalar gibi) dönüştürmek için özel bir teknoloji olan AppWave adlı yeni bir ürünün yaratılmasına da yol açtı. AppWave, bir uygulamayı yüklemenize değil, sadece onu seçip hazırlanan uygulama depolama sunucusundan (uygulama) çalıştırmanıza izin verirken, dosya sisteminin kayıt defterinde ve sistem alanında değişiklik yapmadan kullanıcının bilgisayarında çalışacaktır. Bu arada, AppWave uygulama tarayıcısı Delphi'de yazılmıştır. Embarcadero, kurum içi geliştirme ve uygulama geliştirme uzmanlığımız için Dephi'yi kullanır.

tarafından oluşturulan iPhone (iOS) uygulaması
FireMonkey platformunu kullanma

Uygulamalar oluştururken SQL sorgularını optimize etmek için geliştirme araçlarımızın ve DB Optimizer'ın entegrasyonunu da kullanabilirsiniz. SQL'i doğrudan DB Optimizer'a ileterek, onu profillendirebilir, test edebilir ve optimize edilmiş versiyonu ile geliştirme ortamına geri koyabilirsiniz. Embarcadero'nun veritabanı uzmanlığı, DataSnap teknolojisini de geliştirdi. Toronto'daki geliştiriciler sayesinde çok katmanlı sistemlerin ve veritabanlarının mimarisi hakkında çok fazla bilgi edindik. Artık her iki şirkette de sunucu tarafı kodu ve saklı yordam yazma konusunda ortak uzmanlığa sahibiz. Sunucu tarafı kod oluşturmayı kolaylaştıran IDE'lerin yanı sıra RapidSQL ve DB Change Manager gibi araçlarımız var - örneğin, Code Insight ve Code Completion teknolojileri, SQL içgörüsü ve SQL Completion teknolojilerini etkinleştirir. Bizim genel yaklaşımlar istemci ve sunucu kodunun oluşturulmasına kadar, ortak felsefemiz, veritabanı yönetim araçlarına ve uygulama geliştirme araçlarına ortak özellikler vermemizi sağlar.

Kirill Rannev:Önemli bir şey eklemek istiyorum. Ticari açıdan bakıldığında, araçlarımızı nasıl tedarik ettiğimiz çok önemlidir. Örneğin, RAD Studio XE 2 Ultimate'ın yeni sürümü, DB Power Studio araçlarının tamamını içerir. Veri modeli, veritabanı, kod ve daha fazlasındaki değişiklikleri yöneterek geliştirme ve devreye alma sürecinin önemli bir bölümünü gerçekleştirmek için RapidSQL Sorgu Geliştirme Ortamı, DB Change Manager ve DB Optimizer dahil olmak üzere çok güçlü bir araç setidir. Bu, teknolojilerin çok iyi ve doğru bir birleşimidir.

DI.: Ancak, gerekirse geliştiriciler, kaynak kodu sürümü oluşturma için Subversion'ı ve meta veri sürümü oluşturma için DB Change Manager'ı kullanabilir. Sunucu tarafı kodunu optimize etmek için kod profili oluşturmayı ve DB Optimizer'ı, sunucu tarafı kodunu oluşturmak ve hatalarını ayıklamak için RapidSQL'i ve uygulamalar oluşturmak ve hatalarını ayıklamak için IDE'lerimizi kullanabilirsiniz. RAD Studio XE Ultimate Edition'daki bu teknoloji kombinasyonu, veritabanı ve uygulama geliştirme modelleri arasındaki paralellikleri gösterir. Delphi ve C ++ Builder kullanarak iş uygulamaları oluşturan çoğu geliştirici, veritabanlarıyla çalışır ve bu araçlara ihtiyaç duyar ve RAD Studio XE Ultimate Edition, bu geliştiriciler için harika bir kombinasyondur.

KP: Modern kullanıcı artık sadece bir kullanıcı değil Windows platformları... Başvuruyoruz mobil cihazlar, iPhone, iPad, Android cihazlar. Bu, geliştiricilerin eğitim yatırımlarını önemli ölçüde artırmadan farklı platformları hedeflemeye başlaması gerektiği anlamına gelir - yani evrensel araçlara ihtiyaçları vardır. Açıkçası, platform üreticilerinden evrensel araçların ortaya çıkmasını beklemek gerçekçi değildir ve bu konuda yalnızca bağımsız araç üreticilerine güvenebiliriz. Embarcadero'ya nerede güvenebiliriz?

DI.: Platform desteği alanında daha yapacak çok işimiz var. Bugün iPhone ve iPAD için iOS platformu için destek sağlıyoruz, ardından Android platformuna dayalı akıllı telefonlar, Windows 7 ve Blackberry desteğimizi alacak. RAD Studio XE 2'de iOS için FireMonkey platformunu oluşturarak ve ardından FireMonkey'i diğer platformlara taşıyarak başladık.

Aynı zamanda, telefonlar, tabletler ve cihazlar, masaüstü bilgisayarlar için dokunmatik ekranları destekleyen çok sayıda işletim sistemi var ve bunlara destek eklemeye devam edeceğiz. Ayrıca sesli kontrol sistemleri, hareket kontrol sistemleri, biyometrik sistemler, ivmeölçerler var, bu yüzden tüm geliştiricilerin yeni platformlardan yararlanabilmesi için FireMonkey'i genişletmeye devam etmeliyiz. Örneğin, Microsoft Kinect cihazı Xbox 360 için tasarlandı ve şimdi Windows için de karşılık gelen bir SDK (Yazılım Geliştirme Kiti) var. Bir uygulamayı kontrol etmek için genellikle fare veya klavyenin kullanıldığı şekilde hareket kullandığımız örneklerimiz zaten var.

Çok sayıda karmaşık grafik içeren uygulamalar oluşturduğunuzda, yepyeni bir kullanıcı arabirimi dünyası oluşturmuş olursunuz. Bir ameliyathane ile uğraşıyorsak Windows sistemi, Windows API'sini bir VCL (Görsel Bileşen Kitaplığı) içine yerleştiriyoruz parçası Delphi geliştirme araçları ve C ++ Builder. - Yaklaşık. ed.), bu arada, daha fazla uygulanabilir. Ve FireMonkey'de API'yi kapsülleriz işletim sistemi... Ancak bugün şekilleri ve grafikleri çok daha geniş çapta manipüle ediyoruz. Animasyon ve özel efektler için alanın fiziksel özelliklerini de ekleyebilirsiniz. Buna ek olarak, farklı platformlar, mobil ve tablet cihazlar için önümüzdeki birkaç yıl içinde uygulayacağımız tonlarca ek kullanıcı deneyimi seçeneği var.

Microsoft kısa süre önce bir yıl içinde çıkacak olan Windows 8 ile ilgili ayrıntıları yayınladı. Bu yenilikleri VCL'de ve FireMonkey platformunda destekleyeceğiz. Ancak Delphi, yalnızca Windows için değil, Macintosh, iPhone ve iPad için de tasarlanmış bir geliştirme aracıdır. Ayrıca PHP ürünlerimizi geliştiriyoruz, jQuery Mobile'ı destekliyoruz, mobil istemci uygulamaları geliştirmek için iOS API'sini kullanıyoruz ve istemci tarafı JavaScript ve HTML kodları ve basamaklı stil sayfaları oluşturmak için sihirbazlar ve araçlar kullanarak PHP sunucu uygulamaları oluşturuyoruz. PHP uygulamalarından ve yerel istemci uygulamalarından paketler oluşturabiliriz. iPhone iOS, böyle bir istemci PHP sunucusuyla iletişim kurarken. Ve bu da, veri tabanı sunucusu ve web hizmetleri ile - iş için gerekli olan her şeyle - iletişim kuracaktır.

Geliştirme ortamı RadPHP XE2. Mobil web uygulaması oluşturma
iPhone 3G için jQuery Mobile bileşenlerini kullanma

Başka bir deyişle, mobil platformlar için destek alanı da dahil olmak üzere FireMonkey ve VCL'nin yeteneklerini genişletmeyi planlıyoruz.

KP: FireMonkey platformu hakkında daha fazla ayrıntı verebilir misiniz?

DI.: Belirttiğim gibi, Windows için oluşturulan VCL gelişmeye ve gelişmeye devam edecek. Ancak bugün gerçekten iş uygulamaları geliştirmek istiyorsanız, bunları farklı platformlar için oluşturmanız gerekiyor. FireMonkey platformu bunun için tasarlanmıştır. Yüksek çözünürlüklü, yüksek performanslı 3D grafikler, yüksek kare hızı ile kullanıcı arayüzlerinin oluşturulmasını destekler ve daha da önemlisi bunun için grafik işlemcisini kullanır.

Bu yetenekleri bilimsel, mühendislik ve iş uygulamaları oluştururken kullanabilirsiniz. benzer uygulamalar ClientDataSet veya DataSource gibi geliştiricilerin aşina olduğu görsel olmayan bileşenleri kullanırken dbExpress teknolojisini kullanarak veritabanlarına bağlanabilir, DataSnap teknolojisini kullanabilir, herhangi bir veritabanlarına, SOAP ve REST sunucularına bağlanabilir. Çekici kontroller, kutulu düğmeler, süslü tablolar ve diğer arayüz öğelerini 2B ve 3B olarak oluşturabilirsiniz. Uygulamaya hazır bir 3D modeli yükleyebilir ve döndürülebileceği ve farklı açılardan görülebileceği bir 2D şekle bağlayabilirsiniz. Bir veri küpü veya 3B iş diyagramı oluşturabilir ve fare, klavye ve hatta bir Kinect cihazı kullanarak döndürebilir veya küpün içine girip farklı yüzeylere içeriden bakabilirsiniz. Ve tüm bunlar yüksek hızda bir GPU ile yapılabilir. Daha sonra aynı uygulama, Mac OS gibi başka bir platform için derlenebilir.

Verilerle birlikte dönen bir küp içeren uygulama,
kenarlarına yerleştirilmiş

Veya sıfırdan bir 3B şekil oluşturabilir ve kameraları, ışıkları ve kullanıcı arayüzünün ışık ve döndürme parçalarını kullanabilirsiniz. Form tasarımcısı, geliştirme sırasında doğrudan 3B kullanıcı arabirimini desteklemek için zaten yerleşik bir ortama sahiptir.

Windows'ta, yüksek çözünürlüklü 2B grafiklerle çalışmak için Direct2D kitaplıkları ve 3B grafikler için Direct3D kullanabilirsiniz. Mac OS'de Quartz ve OpenGL kitaplıkları aynı amaçlar için kullanılır. iOS için Quartz ve OpenGL ES kitaplıkları kullanılır. Ancak tüm bunlar geliştiriciden gizlidir - bu kitaplıkları düşünmeden FireMonkey platformunu, koordinat sistemini ve API'sini kullanır ve aynı uygulamayı farklı platformlar için derleyebilir.

VCL'nin ne olduğunu hatırlayalım. VCL, Windows API'sinin etrafındaki bir bileşen sarmalayıcıdır. Kaynaklar, menüler, iletişim kutuları, renkler, stiller ile ilgileniyoruz, Windows mesajlaşma... Çok platformlu bir "sarmalayıcı" olan VCL'den farklı olarak, FireMonkey aynı olay ve bileşen modellerini koruyarak olaylar açısından düşünmenize izin verir (örneğin, OnClick, OnHasFocus, onMouseDown ve onKeyDown olayları), ancak Macintosh veya iPhone olaylarını yönetir .

FireMonkey platformu ayrıca komple sistem kullanıcı arabirimi öğelerinin animasyonları. Elbette Pixar gibi kapsamlı bir animasyon sistemi değil, ancak animasyon gibi efektlere izin veriyor. bit eşlemler bir UI öğesine odaklanmayı vurgulama ve birlikte çalışma vektör grafikleri... Geliştirici için 50'den fazla görsel efekt mevcuttur: bulanıklaştırma, görüntüyü siyah beyaza çevirme, çözme, geçişler, yansıma, gölgeler oluşturma - modern grafik işlemcilerinde bulunan ve artık hemen hemen her bilgisayarda bulunan her türlü efekt. FireMonkey platformu kullanılarak oluşturulan uygulama, grafikleri görüntüleme ve kullanıcı arayüzü oluşturma işini yapan GPU'ya komutlar gönderir. Bu durumda, merkezi işlemci hesaplamalar ve işletim sistemine yapılan çağrılar için ücretsizdir. Geliştiricinin yalnızca bileşenleri doğru şekilde yerleştirmesi gerekir.

FireMonkey platformuyla ilgili en temel şey, kullanıcı arayüzünü oluşturma şeklidir. Menüler, düğmeler ve kaydırma çubukları gibi arabirim öğelerine bitmap grafikleri yerleştirme olanakları vardır. FireMonkey'de bu amaçla GPU'yu kullanan vektör grafikleri kullanıyoruz. Programlama açısından, bunların hepsi aynı kontrollerdir, ancak grafik işlemcisi bunları görüntülemek için tüm işi yapar. Kontrollere stiller uygulayabilir, uygulamayı Mac OS veya Windows için bir uygulama gibi gösterebilir, kendi stilimizi oluşturabilir, stillerimizi arayüz öğelerine uygulayabiliriz (örneğin, form düzenleyicide stilini değiştirerek bir düğmeyi dikdörtgen veya yuvarlak hale getirebiliriz) - bunun için geliştirme ortamının bir stil düzenleyicisi vardır. Kendi stilinizi oluşturabilir veya bitmiş bir uygulamanın stilini değiştirebilirsiniz.

FireMonkey Platformu - Geliştirme Araçları
ve desteklenen platformlar

Hatırlarsanız, VCL'de sınırlı sayıda kapsayıcı denetimi vardı (yani, içlerine başka öğeler yerleştirmenize izin veriyordu) ve FireMonkey'de her denetim bir kapsayıcıdır. Bu, her denetimin başka herhangi bir denetimi içerebileceği anlamına gelir. Örneğin, açılır liste öğelerinin içinde resimler, düğmeler, düzenleme alanları ve diğer kontroller olabilir. Ayrıca bileşenleri katmanlar halinde de düzenleyebilirsiniz.

FireMonkey oluşturma sistemi yeterince esnektir - GPU'ya komutlar göndererek Direct2D, Direct3D ve OpenGL kitaplıklarını kullanabilir. Aynısını VCL'de elde etmek için, ekranın dışında ayrı bir arabellek oluşturmak, içinde bir görüntü oluşturmak, grafik kitaplıklarının uygun işlevlerini çağırmak ve ardından formda görüntülemek gerekiyordu.

FireMonkey tarafından desteklenen grafik efekt örnekleri

GPU'nuz yoksa yine de 2B veya 3B şekiller uygulayabilir ve FireMonkey kontrollerini kullanabilirsiniz. Bu durumda, FireMonkey platformu GDI + kitaplıklarını veya diğer benzer kitaplıkları kullanacak ve aynı efektleri ve animasyonu veya üç boyutlu nesnelerin manipülasyonunu gerçekleştirecektir.

FireMonkey'in bir başka özelliği de yeni sistem arabirim öğelerini verilere bağlama, açık ve esnek. VCL'de iki tür arabirim öğesi vardır: veriye bağlı ve veriye bağlı olmayan (örneğin, TDBEdit ve TEdit). FireMonkey'de her denetim, verilerle ve herhangi bir türle ilişkilendirilebilir. Yalnızca bir ifade, bir veri kümesinden bir alan, geliştirici tarafından oluşturulan nesnelerden gelen veriler veya bir yöntem çağrısının sonuçları olabilir.

Ek olarak, bir uygulama oluştururken, içine hazır bir 3D model yükleyebilir ve kullanabilirsiniz - bu tür yetenekler genellikle hem iş hem de mühendislik uygulamalarında gereklidir. Lojistik uygulamaları yaratan bir müşterimiz var. onlar vardı Bilgi sistemi, Delphi ile oluşturulmuş ve içinde - bir plan çizen ve veri kaynaklarından bilgi görüntüleyen bir uygulama. Kısa süre önce ilginç bir şey yaptılar - AutoCAD'de tam otomatik bir 3D depo çizdiler ve uygulamaları, otomatik bir forkliftin depoda nasıl hareket ettiğini ve ürünleri raflara nasıl yerleştirdiğini görmenizi sağlıyor. Ve kaynaklardan gelen verileri ilgili görüntünün üzerine koyarlar.

Değişen uygulama stillerine örnekler

KP:Şu anda hangi 3B model biçimleri destekleniyor?

DI.: Bu sürümde, AutoCAD, Collada'dan (açık kaynaklı 3D modelleme aracı) model yüklemeyi destekliyoruz. Yaklaşık. ed.), Maya, OBJ formatı, birçok 3D grafik satıcısı tarafından desteklenmektedir.

KP: Başka hangi formatları eklemeyi planlıyorsunuz?

DI.: 3DS (3D Studio MAX), SVG (genellikle bu biçim 2D vektör grafikleri için, ancak bazen 3D için kullanılır), Google SketchUp'ı eklemeyi planlıyoruz. Belki diğer formatları da destekleyeceğiz.

KP: FireMonkey ile oluşturulmuş uygulamalarda 3B modellerin kullanımı, ilgili 3B modelleme aracı için bir lisans gerektiriyor mu?

DI.: Hayır, değil. Tek yaptığımız model dosyasını okumak. Modeli içe aktarıyoruz ama dışa aktarmıyoruz (tabii ki modeli kendi formatınızda kaydedecek bir uygulama yazabilirsiniz). 3D modelleme araçlarının üreticisi gibi davranmıyoruz - bunun için AutoCAD, 3D Studio Max, Maya veya diğer herhangi bir 3D modelleme aracını kullanabilir ve oluşturulan modelleri uygulamalarımıza aktarabilirsiniz.

KP: Modern donanım platformlarında FireMonkey ile oluşturulan uygulamalar ne kadar performanslıdır?

DI.: Performans oldukça iyi. Örneğin, üç küre ve üç ışık açıkken bir 3B şekil oluşturma MacBook Pro saniyede 100 kare hızında gerçekleştirilebilir. Ve 600'e ulaşabilir - tam olarak ne yaptığımıza bağlı. Yine, hepsi GPU'nun gücüne bağlıdır.

KP: Bu, FireMonkey'in güncel oyunlar oluşturmak için kullanılabileceği anlamına mı geliyor?

DI.: Geliştirme araçlarımızı oyunlar için bir araç olarak konumlandırmıyoruz. Bununla birlikte, modern grafik işlemcilerinin yüksek performansını kullanarak FireMonkey ile oyunlar oluşturabilirsiniz - sonuçta onlar onları Direct3D veya OpenGL kullanarak oluştururlar.

KP: Hareket tanıma ve diğer yeni moda şeyleri destekleme alanında şu anda ne tür çalışmalar yapıyorsunuz? Bu destek mevcut mu?

DI.: Bu sürüm için henüz jest desteğimiz yok. FireMonkey'in gelecekteki bir sürümünde hareket kontrolü eklenecektir, ancak şimdilik işletim sisteminde yerleşik hareket desteğini kullanabilirsiniz.

Mihail Filippenko, Fast Reports, Inc.'in Direktörü

K.R.: FireMonkey teknolojisinin Rus köklerine sahip olduğunu zaten söylemiştik - temelleri ülkemizde atıldı ve ardından teknolojinin kendisi ve geliştiricileri Embarcadero'ya katıldı. Genel olarak, RAD Studio ve Delphi'nin bir parçası olarak Rus bileşeninin büyümesini görmek memnuniyet verici. Bu, hem St. Petersburg'daki geliştirme merkezimizin faaliyeti hem de bağımsız Rus geliştiricilerin katkısıdır. Örneğin, tüm dünyada bilinen ve ülkemizde oldukça popüler olan FastReport rapor oluşturucu, Rad Studio XE2'nin bir parçası haline geldi. O Rostov-on-Don'dan.

KP: Derleyiciler hakkında konuşmak istiyorum. iOS uygulamaları oluşturmak için ne tür bir derleyici kullanılır?

DI.: iPhone veya iPad için kendi Delphi derleyicimiz yok - bu cihazlarda kullanılan ARM işlemciler için henüz derleyiciler geliştirmedik. iOS için geçici olarak Free Pascal derleyicisini ve çalışma zamanı kitaplığını kullanıyoruz. Ancak APM işlemcileri de dahil olmak üzere yeni nesil derleyiciler üzerinde çalışıyoruz. Ancak Windows ve Mac OS için derleyiciler var, çünkü her iki donanım platformu da Intel işlemcilere dayanıyor.

KP: Ve son iki yılda derleyici geliştirme alanında neler yapıldı?

DI.: Windows ve Mac OS için 32 ve 64 bit Delphi derleyicilerimiz var. Ve yeni nesil Delphi ve C++ derleyicileri üzerinde çalışıyoruz. Üzerinde çalışmalar devam ediyor, ancak tamamlandığında ARM işlemciler, Android platformları, Linux ve her neyse Delphi derleyicilerimiz olacak. Ve Windows ve diğer platformlar için, ISO tarafından yeni kabul edilen en son C++ dil standardıyla uyumlu 64-bit C++ derleyicilerimiz olacak.

KP: Bugün Embarcadero geliştirme araçlarında bulut bilişim desteği ile neler oluyor?

DI.: RAD Studio XE 2'de, Platform Assistant'ı kullanarak Microsoft Azure veya Amazon EC2'de uygulamaların buluta taşınmasını destekliyoruz. Ayrıca tabloları, ikili verileri ve mesaj kuyruklarını depolamak için Azure ve Amazon S3 için Cloud Storage için sunucu bileşenlerimiz var. V önceki versiyon RAD Studio XE, uygulamaların Amazon EC2'ye dağıtılmasını da destekledi, ancak depolama desteğinden yoksundu.

RAD Studio XE 2'de bulut bilgi işlem desteği

KP:İki yıl önce, yeni Tam Erişim çözümünden bahsettiniz. Ne kadar talep gördü? Sistem entegratörleri ve geliştiriciler için faydaları nelerdir?

DI.: Tam Erişim çözümü ve AppWave bulut aracı dünyada yaygın olarak kullanılmaktadır. Hem firmamızın hem de diğer üreticilerin uygulamalarının kullanımını basitleştirmek için tasarlanmıştır. Aslında, lisansları ve uygulama uygulamalarını yönetmek için bir çözümdür ve büyük şirketler için uygundur. Öte yandan, uygulamaları yönetmekten sorumlu özel ekiplere sahip olmayan daha küçük firmalar, bir uygulamayı bir havuza koyabilir, bir veritabanından kullanıcı adlarını seçebilir ve bu uygulamaların lisans anahtarının nerede olduğunu hatırlamak zorunda kalmadan kullanılmasını sağlayabilir. ve kaç lisans mevcut. Tam Erişim ve AppWave tarayıcısı, hem sürüm oluşturma hem de erişim kontrolünü yönetmek için tasarlanmıştır.

K.R.: Pazar o kadar çeşitlidir ve kullanıcılar o kadar çeşitlidir ki, tüm ihtiyaçları tek bir çözümle karşılamak imkansızdır. Bu nedenle, çeşitli "ambalaj" çözümleri için çalışıyoruz. Lisanslama, lisans yönetimi ve ürün kurulumunu birleştirmek için çok çalıştık. Bu çözüm serisi, yalnızca Embarcadero ürünleri için değil, aynı zamanda şirketlerin dahili geliştirmeleri de dahil olmak üzere diğer tüm ürünler için lisanslama ve hibe yönetimi araçlarını içerir.

Geliştirme araçlarını kullanıcılar için etkili kitler halinde bir araya getirme çalışmaları halen devam etmektedir. Tüm Embarcadero ürünlerini bir araya getiren bir süper set olan All-Access'e sahibiz. Müşteri All-Access Platinum sürümünü satın alırsa, Embarcadero'nun sahip olduğu tüm araçlara sahip olur. Ancak bazen bu setin gereksiz olduğu ortaya çıkıyor, örneğin veritabanı uzmanları için iki set daha yaptık - DB Power Studio Developer Edition ve DB Power Studio DBA Edition. Aralarındaki fark, geliştirici için bir sunucu kodu geliştirme aracı olan RapidSQL'i sunduğumuz ve yönetici için DBArtizan'ın orada inşa edilmiş olmasıdır - bir veritabanı yönetim aracı, RapidSQL'den daha geniş bir ürün. Profesyoneller için şu Tam Erişim Kitlerine sahibiz: Tüm Ürünler, Geliştiriciler için DB Power Studio, Yöneticiler için DB Power Studio, Mimarlar için ER Studio Enterprise Edition ve modelleme ile ilgilenen herkes. Uygulama geliştirme ve yöneticiler için kombinasyonlar vardır. Delphi bir geliştirici aracıdır ve buna SQL geliştirme ve optimizasyon araçları eklemek mantıklıdır. Son olarak, DB Change Manager, yaşam döngüleri boyunca veritabanlarında meydana gelen değişikliklerin karmaşıklığını yönetmek için mantıklı bir araçtır.

Bu nedenle, All-Access, farklı ürün paketlerinden oluşan geniş bir ailenin başıdır.

KP: Bu bir sır değilse, Rusya'da Tam Erişim'i kim kullanıyor?

K.R.: Delphi'ye dayalı Tam Erişim satın alan müşterilerimiz var. Birçoğu, karmaşık istemci-sunucu sistemleri oluşturur. SQL Server ve Oracle ve platformlar arası veritabanı araç setimizi hemen beğendiler. İlk sürümden beri Delphi ile çalışan bir müşteri şirketimiz var ve bir yıl önce Delphi'den Tam Erişim'e geçiş yaptılar. Bu şirketteki tüm geliştiriciler tarafından kullanılması garanti edilen iki araç Delphi ve DBArtisan'dır. Bir de veritabanı tarafından All-Access'e gelen müşteriler var. Ana görevleri veritabanlarını yönetmektir, ancak bazen uygulamaların geliştirilmesini de yaparlar. Tam Erişim müşterileri, medya şirketlerini, mühendislik şirketlerini ve diğer endüstrileri içerir.

Ben de küçük şirketler üzerinde durmak istiyorum. Çoğu zaman, küçük ekiplerde bir geliştirici her şeyi yapar ve böyle bir şirket bazen bir veya iki geliştirici için büyük Tam Erişim ürün kitleri satın alır. Büyük ekiplerde, geliştiricinin örneğin bir veritabanı yöneticisi rolünü üstlenmesi önerilmez, bu nedenle genellikle küçük ürün setleri orada popülerdir ve küçük şirketlerde bu tür bir görev kombinasyonu oldukça kabul edilebilir.

Delphi Architect, modelleme ve programlama araçlarını içeren, yoğun olarak pazarlanan bir üründür. Ancak satılan kopya sayısı Delphi Enterprise sürümünden daha azdır, ancak aynı zamanda büyüktür. 2010 yılında tüm ülkeler krizden geçmesine rağmen satış bazında en iyi ülke olduğumuzu belirtmek isterim. Bu büyüme, ekonomik faktörlerle değil, 2009'un sonunda piyasaya sürülen RAD Studio XE sürümünün büyük talep görmesiyle ilişkiliydi. Ve daha fazla satış büyümesi beklerken.

Rusya'da çok talep edilen makul bir adım daha attık. Ürünlerimizin farklı sürümlerinin yasallaştırma derecesi farklıdır: sürüm ne kadar yüksek olursa, yazılım o kadar aktif olarak satın alınmadan önce o kadar yasallaşır. RAD Studio XE sürümünden başlayarak, lisans 2010, 2009, 2007 sürümlerini ve hatta yaygın bir ürün olan Delphi 7'yi kapsar.

Günümüzde geliştiriciler, hem yeni projelere hem de projelere destek durumunda oldukları gerçeğiyle karşı karşıya kalmaktadır. Delphi'nin ilk sürümlerinden çok sayıda proje sürüm 7'ye taşınmıştır ve bu sürümde kalarak nispeten küçük kaynaklar üzerinde çalışmaya devam etmektedir. Hiç kimse onları daha yeni sürümlere geçirmiyor, ancak uygulanabilir bir durumda tutuluyorlar. Ve şimdi hem RAD Studio XE hem de Delphi 7'yi almak için çok az paraya (Delphi 7 lisansının fiyatından daha az) izin veriyoruz - yani geliştiriciyi hem yeni projelerin uygulanması hem de destek projeleri için yasallaştırıyoruz.

KP: Embarcadero topluluğunun şu anki durumunu nasıl değerlendiriyorsunuz?

DI.: Bu topluluk büyük ve çok talepkar. Hemen her şeye ihtiyaçları var - onlar geliştiriciler. Ancak bazen bir şeyi doğru yapmak uzun zaman alır.

Birkaç yıl önce Windows bileşen mimarisini alıp Linux masaüstlerine yerleştirdik. Şimdi bunun doğru bir karar olmadığını görüyoruz. Doğru çözüm, uygulamalar için bir platform oluşturmaktır. Uygulamalar, farklı platformlar için bile menülere, pencerelere, grafiklere, ağ erişimine ve cihaz erişimine sahiptir. Farklı platformların farklı akış kontrolü veya istisna işleme modelleri olabilir, ancak uygulama kodunda aynı try bloklarını görüyoruz. İşimiz, ilgili işlemcilerin talimat sisteminin nasıl düzenlendiği ve bu platformların diğer özellikleri ne olursa olsun, geliştiricilerin iş uygulamaları oluşturmasını ve kullanılması gereken platformlar için derlemesini kolaylaştırmaktır. Ve FireMonkey, bu sorunu çözmek için tam olarak ihtiyacınız olan şeydir.

KP: Bir şirket yeni bir cihaz oluşturursa ve bunun için FireMonkey'de destek almak isterse, bu mümkün olacak mı?

DI.: Platformdan bağımsız bir ön uca ve platforma bağlı bir arka uca sahip yeni nesil derleyiciler ile bu mümkün olacaktır. Bu arada her işletim sistemi için sıfırdan bir derleyici ve runtime kütüphanesi oluşturuyoruz.

Herhangi bir modern yeni cihaz genellikle bir grafik kullanıcı arayüzüne (çoğu çift çekirdekli işlemciye ve GPU'ya sahiptir) ve standart geliştirici SDK'larına sahiptir. Tüm bunlar, FireMonkey'de cihaz desteği oluşturmayı kolaylaştırır. Yeni cihaz yalnızca Quartz gibi 2D grafikler için kitaplıklara sahip olacaksa, böyle bir cihaz için FireMonkey'de destek uygulayabileceğiz, ancak bu yaklaşık birkaç ay sürecektir. Ancak, çoğu platforma bağlıdır: tüm platformlar tüm özellikleri desteklemez, örneğin iOS'ta menüler ve iletişim kutuları yoktur ve ilgili bileşenleri bu tür uygulamaların formlarına koyamazsınız.

KP:İş ortağı politikasında herhangi bir değişiklik oldu mu? Ürünlerinizin kullanıcı payını artırmak için neler yapılıyor? Rusya'da neler oluyor?

DI.:İş ortağı ekosistemimiz geniştir - ürünlerimizde olmayan yüzlerce alet ve bileşen üreticisi var ve bir teknoloji ortaklığı programımız var. Bu nedenle, geliştiriciler çok çeşitli bileşenlere, teknolojilere ve araçlara erişebilir. Ve müşterileri için yarattıkları çözümler, sadece bizim ürünlerimizin kullanılmasından daha iyi oluyor. Ve satış için birçok ülkede ofislerimiz, bayilerimiz ve distribütörlerimiz var.

K.R.: Bizim için önemli olan ortak sayısı değil, her bir ortağın çalışma kalitesidir. Ortak havuzu açık kalsa da, şimdi mevcut ortaklarla yakın çalışmaya odaklanmak istiyoruz. Birçok ortağımız var ve onlara teknoloji açısından yardım etmeliyiz. Geliştiricilerle çalışıyoruz ve ne istediklerini biliyorlar ve piyasada ne olduğunu biliyorlar ve ortakların yetenekleri buna uygun olmalıdır.

Embarcadero'ya bir iş kolu olarak ciddi şekilde yatırım yapmış iş ortaklarımız var - eğitimli uzmanlara sahipler, ürünlerimizi pazarlıyorlar, bu alandan sorumlu özel çalışanlara sahipler ve ürünlerimizde, fiyat listemizde, pazarlamada neler olduğunu izliyorlar. Doğal olarak, ürünlerimizi vaka bazında satan şirketlere göre ürünlerimizi satma konusunda daha başarılılar.

KP: David, Kiril, çok teşekkürler ilginç bir röportaj için Yayınımız ve okuyucularımız adına, geliştiricilerin çok ihtiyaç duyduğu harika araçlarınızı yaratmada şirketinizin başarılarının devamını dilememe izin verin!

Sorular Natalia Elmanova tarafından soruldu