Watch, Follow, &
Connect with Us

Embarcadero Blogs

Latest Posts


CodeRage Mobile: My session on iOS apps and enterprise services

The CodeRage Mobile conference Day 1st is almost finished. I’m listening to last sessions from Anders Ohlsson. Few hours ago I have been doing my own session "Create iOS Applications that Work with Enterprise Web Services and Multi-tier Architectures" and promised to share the source code from my demos. I have uploaded it to Embarcadero Code Central.

Enjoy!


posted @ Tue, 18 Jun 2013 19:39:34 +0000 by Pawel Glowacki


Exemplos do RAD Studio Multi-Device Tour

Olá pessoal!

Conforme prometemos durante nosso Tour, estão disponíveis para download todos os exemplos utilizados durante as apresentações, além de alguns inéditos!

Link para download: http://cc.embarcadero.com/item/29455

Em breve novidades e novos eventos, fiquem ligados!


posted @ Tue, 18 Jun 2013 17:03:23 +0000 by Fernando Rizzato


Delphi for iOS Kick Start

Last week instead of being out on the road, we had two one day workshops hosted in the Maidenhead office of Embarcadero. The purpose of these days were to provide a Kick Start for developers new to XE4 or those hands on and produce their first iOS applications. It was great to see a mix of people who have Macs already for developing Mac and iOS applications with Delphi, but also a lot of fun with a few VM’s running on a mac at the front for those without one to connect onto.

Delphi Programming in a hands on way #embtdd

Delphi Programming in a hands on way #embtdd

Hands on Step by Step

Hands on Step by Step

Through the day we covered remote debugging with the PAServer, followed some delphi programming tutorials from DocWiki, created sample SOAP servers and clients working on Windows, Mac and iOS and also looked at building our first Delphi DataSnap application. Rather a lot for a single day, but it was great fun.

It was also good to see a number of new faces at the event with a good number of attendees new to Delphi, coming mainly Java or .Net backgrounds. However, my favourite demo of the two day actually came at the end when William Rennison showed me the project he has been completing for his GCSE assessments, I wonder with his new skills learned, how long it will be before we see that running from an iPad into the AppStore :-)

I’m sure we will have some more sessions like these in the future, make sure you subscribe to Developer Direct @EMBTDDirect and keep an eye on the events page for Delphi and C++ Builder programming sessions.

If you want to learn more from the experts: Then don’t forget CodeRage starts TODAY!! Register Now


posted @ Tue, 18 Jun 2013 09:37:43 +0000 by Stephen Ball


Delphi CodeRage Mobile Online Conference is going on now

The CodeRage Mobile online conference for Delphi and RAD Studio developers has started. Join us for one session or join us for them all. Click here to register and log in.




posted @ Tue, 18 Jun 2013 07:16:00 +0000 by Tim Del Chiaro


CodeRage Mobile - мобильная лихорадка

Всем привет! Сегодня стартует "мобильная лихорадка" - онлайн-конференция CodeRage

Регистрируемся здесь.

У меня тоже будет доклад (на английском, но мой вы поймёте), где я попытался поделиться идеями по части мобилизации приложений. Брал из головы, из опыта разработки и общения с заказчиками. Показываю ряд прототипов, сделанных в Delphi. Уверен, что у вас уже тоже есть мысли, достойные реализации в коде и запуска на iPad и iPhone.

Многие доклады построены по шаблону "тренинга", поэтому будет полезно посмотреть в плане экономии времени на первичное ознакомление с техниками работы в Delphi XE4 (for iOS).

Какие доклады покажутся особо интересными - пишите в комментариях, буду класть на них русский голос.

Спасибо моему другу, которого зовут Anil Mahadev, за отличный промо-ролик!


posted @ Tue, 18 Jun 2013 11:51:43 +0000 by Vsevolod Leonov


Delphi Tage 2013 in Leipzig - Call 4 papers

Wir sind auf der Suche nach guten, ambitionierten und freiwilligen Sprechern für die Delphi Tage 2013 in Leipzig:
http://www.delphitage.de/index.php/veranstaltung/call-for-papers/

Die Delphi-Tage sind das jährliche große Treffen der deutschsprachigen Delphi-Gemeinde. Dieses Jahr findet die neunte Veranstaltung in Folge statt und zieht einen stetig wachsenden Kreis an Teilnehmern an.

Die diesjährigen Delphi-Tage werden vom 19. bis zum 21. September in Leipzig, im Konferenzzentrum “Kubus” der Leipziger Helmholtzstiftung, stattfinden.


posted @ Mon, 17 Jun 2013 14:17:58 +0000 by Matthias Eissing


Multi-Device is the New Platform

This past week I had some great conversations with developers at WWDC in San Francsico while waiting in line for sessions, between sessions, and at the various events. I met a few developers focused solely on iOS, but the majority I spoke with were with companies that are working to deliver their product value across multiple devices and form factors including Macs and iOS mobile devices. I talked to developers working on document management, wearable fitness devices, event ticketing, and more. We discussed different approaches, frameworks, languages, and business models. But the common denominator boiled down to the need and challenge to deliver their business to as many users as possible.

For the Windows developer, multi-device is both a business opportunity and a business necessity. Just five years ago a Windows only business strategy was still viable, but it was in the last days of dominating the single device era. In 2007 a trend was already underway toward a more diversified desktop landscape. While still a small percentage of the desktop market compared to Windows, Macs were back and gaining in market share. Specifically, Macs for the first time were growing at a faster pace than Windows desktops. And importantly, Macs were becoming the device of choice with influencers, developers, and technical experts. This trend, along with the BYOD trend, started a significant shift toward allowing and supporting heterogeneous desktops in IT. This real world trend even led to Forrester reversing its long standing position against Macs in the enterprise and in late 2011 urged Enterprise IT organizations to start supporting Macs along with Windows PCs. But it was a flat glass multi-touch Internet device released by Apple in 2007 that cracked the single device world wide open - and it could make calls too.

For most developers up to 2007 supporting platforms other than Windows was a cost/benefit exercise that more than often didn’t add up and make business sense. For most developers it didn’t make sense to double upfront and ongoing R&D cost for a 10% growth in revenue. Fast forward to 2013 and it is a completely different world and model. Users are now typically using multiple hardware and software platforms during the course of a day. Users expect to get updates, alerts, and notifications from their applications where ever they are and on which ever device they are in front of or carrying (and soon, wearing). The question is no longer "Can I cost justify the R&D expense?". It is now "How do we deliver our business value to the devices our customers are using and maintain budgets and schedules that make sense for the business?".

Venture capital firm KPCB put out a chart late last year that visually, and dramatically, illustrates the shift from the single platform dominated landscape that started in the early 90’s to a rapidly re-emerging multi-device landscape that began in the last several years and continues to climb today.

While the desire to strengthen and grow an existing business with multi-device is attractive, some developers are still stalled by business risk. Some of the perceived risks include price dilution, cannibalization, and increased costs. R&D costs can be addressed with multi-device tools. Development tools from Embarcadero, for example, are designed to natively support multiple device platforms from a single development effort providing multi-device support for the similar cost as a single platform effort. Business changes, on the other hand, can be addressed by viewing multi-device as an additive component to a successful business rather than a replacement. There is no need to start over offering a 99 cent app in the App Store that dilutes your product value or cannibalizes your existing customer. Few successful app businesses today are truly based on 99 cent apps anyway. Instead, existing established software businesses, including Windows based businesses, have variety of business models to choose from when moving to multi-device that can be complimentary and enhance existing established businesses with new revenue and customers without dilution or cannibalization. Some of the more common multi-device business models for existing desktop software include Extension, Replication, Marketing, and Services models.

Extension model - Create mobile apps that extend the functionality of your desktop application, making the solution more versatile and adaptable. A dentist office solution for example, is typically a rich client Windows application with a display fixed near the patients chair to display patient records and X-rays. These are typically built in a client/server model often with a middleware server such as DataSnap. In the extension model, add an iPad app that connects to the data snap server enabling the staff to carry the patient information around the office. Tablets also tend to be less intimidating in stressful settings such as medical and dental offices. These apps do not have to have the full functionality of the main workstation. They give the staff flexibility and mobility in the office while creating a friendlier and more accessible environment for patients. The goal of extension is to build upon your existing success, creating a more compelling and competitive solution for your customers and market. The extension model is also one of the more cost effective to implement and can be rolled out quickly, particularly if you’ve built your existing solution with client/server middleware such as Embarcadero’s DataSnap. If your application is a pure two-tier client/server solution, then consider moving it to DataSnap and adding native mobile app clients and web clients with RADStudio XE4

Replication model - The goal of replication is to duplicate your Windows application feature set in a new form factor and device platform in order to a) reach new users and b) provide more convenience for your users by offering your apps features on devices they are using at anytime. Replication strengthens the user base and creates stickiness for your applications. Replication typically requires rewriting your application with new tools, languages, and APIs for each target platform and can be the most costly multi-device model to implement. However, Embarcadero’s RADStudio XE4 can mitigate the R&D cost enabling existing Windows VCL applications to be migrated to the FM framework on Windows (aka Firemonkey) and then natively to new platforms such as Mac, iOS, and soon Android - making replication fast and cost effective compared to other approaches. One of the benefits of replication is taking your existing business and leveraging the successful sales and marketing infrastructure of app stores such as the iOS AppStore and the Mac AppStore. I spoke to two different well known companies at WWDC this week who are now getting more traffic via their apps, than their website and many statistics demonstrate that users spend more time in apps than the web on mobile devices. Placing your application in app stores it searchable and available to completely new audiences, where they are looking and searching for solutions today.

Marketing model – Marketing models leverage the mobile app to upsell additional capability or applications. The most popular marketing model is aimed to attract new customers with free or low cost functionality, and reserving additional capabilities, often the most valuable for in app purchases. It is not uncommon for a $9.99 app to have a $49.99 in app add-on for example. The most successful model from a revenue perspective being consumable in-app purchases such as time, capacity, or usable items. App stores are also a tremendous marketing vehicle that can expose your application to completely new audiences. Since the iOS AppStore doesn’t allow for trial downloads developers have found success with free apps that upsell add’l capacity via the in-app purchase mechanism. In fact the highest grossing apps today are free apps with in-app purchases. The model works because the iOS AppStore is an incredible marketing machine with millions of views and searches every day and free apps are the most sought for and downloaded.

Another marketing model that is starting to become popular among businesses with existing desktop apps is the free mobile to desktop approach. By giving away a specific feature set of the desktop version in a mobile app, the mobile app can upsell to the more powerful and feature rich desktop version.

Services model - Existing applications can be reworked to push their data into the cloud, and then shared among different device versions of your app. Amazon and Google provide cloud services that are easy to implement. But consider emerging REST based BAAS (back end as a service) platforms that offer a wider variety of app oriented and value added hosted back end cloud services for your app such as push notifications, user management, data storage, file storage, geolocation services (ie search and users near me). These services can also help you to expand your business with new revenue models such as subscription and service capacity. Some BAAS platforms to look at are Kinvey, App42, Stackmob, and Parse. Programmable Web has a useful list of 50 BAAS platforms http://blog.programmableweb.com/2012/10/17/50-backend-apis-cloudmine-mydigitalstructure-and-quickblox/

Today’s device choices of desktops, tablets, and phones will soon be rapidly expanding to include televisions, automobile, HUDs, wearable devices, game consoles, and more. And regardless of the business model you choose, today’s multi-device landscape provides Windows and desktop application developers with a far larger audience, better marketing methods, and new ways to monetize your business.

As a software developer or development organization, if you haven’t begun to move your business to a multi-device model, now is the time. You can get started by picking up Embarcadero’s Delphi XE4 or RADStudio XE4 line of development tools which support rapidly building apps for Windows, Mac, and iOS with a single code base and add Android when it becomes available. If you have existing Windows or Windows VCL applications Embarcadero’s XE4 line of tools will help you migrate them to a native multi-device strategy. Another great place to start is the free CodeRage Mobile online conference this week June 18-19 where you can learn how to kick start your multi-device application strategy today.


posted @ Mon, 17 Jun 2013 22:30:30 +0000 by Michael Swindell


FireMonkey. Доступ к пикселям TBitmap. Аналог Scanline из VCL.

Добрый день. По скольку одним из частых вопросов по использованию TBitmap в FireMonkey является: "Как мне получить доступ к пикселям TBitmap?". То стоит рассказать про это один раз и помочь разработчикам. А так же ответить на вопрос: "Почему в FMX у TBitmap нету метода SсanLine и причины перехода на Map и UnMap?"

Вопрос: Как мне получить доступ на чтение/изменение пикселей в TBitmap?

Ответ: Для манипуляции с содержимым (точками) в TBitmpa есть два метода: TBitmap.Map и TBitmap.Unmap.

    { Direct access  }
    function Map(const Access: TMapAccess; var Data: TBitmapData): Boolean;
    procedure Unmap(var Data: TBitmapData);

Map - возвращает объект для работы напрямую с точками, информацию о формате пикселей (TBitmapData.PixelFormat), размер изображения в точках (TBitmapData.Width, TBitmapData.Height), размер одного пикселя в текущем представлении точек (TBitmapData.BytesPerPixel).

В качестве параметров функция принимает:

  1. Вид доступа (Чтение - TMapAccess.maRead, запись - TMapAccess.maWrite, чтение и запись  - TMapAccess.maReadWrite). Если вы хотите только прочитать информацию о точках, то используйте вид доступа - TMapAccess.maRead. Это позволит избежать накладных расходов на манипуляцию с данными TBitmap.
И возвращает:
  1. Объект (Data: TBitmapData) содержащий буфер TBitmap и простые методы по манипуляции с буфером.

Получив TBitmapData в вашем распоряжении арсенал по работе с точками, работа непосредственно с буфером памяти TBitmap и мета информация о формате хранения данных TBitmap.

После окончания работы с данными, НЕОБХОДИМО!!! закрыть доступ к данным применив метод TBitmap.Unmap. Иначе результат изменения не отобразится. Вот в принципе и все.

Пример:

var
  M: TBitmapData;
...
  if FBitmap.Map(TMapAccess.maWrite, M) then
    try
      for i := 0 to FColorBitmap.Width - 1 do
        for j := 0 to FColorBitmap.Height - 1 do
          M.SetPixel(i, j, TAlphaColorRec.Red);
    finally
      FColorBitmap.Unmap(M);
    end;
...

Вопрос: Зачем это сделано? Почему нельзя было оставить Scanline в TBitmap, как это сделано в VCL?

Это самый важный вопрос. VCL для хранения и работы с  bitmap изображением использует оболочку над Winapi. В FMX TBitmap это более сложный объект. Так как он должен работать как на всех платформах, так и в разных графических библиотеках. Поэтому прямого доступа к памяти нет, из-за особенностей хранения изображений в разных системах. Где-то мы можем напрямую производить изменение буфера, а где-то нет

Например: в канве GPU работа с битмапом идет через текстуры. Поэтому при вызове метода Map, создается копия буфера. Затем пользователь производит ее модификацию и по методу unmap происходит обновление текстуры новым изображением. Такая же ситуация происходит с использованием канвы D2D под Windows

Надеюсь я пролил свет на работу с буфером битмапа. Если буду вопросы, задавайте. По мере возможности напишу пару статей в формате Вопрос-Ответ.


posted @ Mon, 17 Jun 2013 10:12:51 +0000 by ybrovin


Join me for CodeRage Mobile this week

CodeRage Mobile is starting tomorrow. You can sign up by going to http://www.embarcadero.com/coderage

Below are my sessions, but you can view the entire schedule here:

Tuesday, June 18th at 11:00am PDT:

Build Great iOS UIs and get your Apps Accepted into the Apple AppStore

Wednesday, June 19th at 11:00am PDT:

Building Mobile Image Processing Applications using Delphi XE4


posted @ Mon, 17 Jun 2013 18:25:01 +0000 by sarinadupont


CodeRage Mobile starts Tuesday June 18 - Free two day online conference for Delphi and RAD Studio developers

If you're currently using any version of Delphi or RAD Studio, be sure to register for CodeRage Mobile. This free, online two day conference starts Tuesday June 18.  


The tagline for the conference says "for mobile developers" but you don't already have to be a mobile developer to attend. If you're new to mobile development and interested to see how you can get started creating mobile apps with Delphi and RAD Studio, this is the event for you. 


You'll get two days of great technical information where you will learn about mobile opportunities, strategies, and how to use Delphi and RAD Studio to create awesome mobile apps. 

Even if you can't attend all of the sessions live over two days, I recommend registering anyway and attending the sessions that you can during the live conference where you will be able to get answers to your questions during the Q&A portion of each session and then watch the replays of others after the conference.

Also, be sure to take a look at the latest deals available on Delphi and RAD Studio XE4 including savings up to $450 USD and free extras including the TMS Cloud Pack for iOS, Mida VCL to FireMonkey converter and a new set of free FireMonkey styles for Windows, Mac OS X and iOS



posted @ Sun, 16 Jun 2013 21:49:00 +0000 by Tim Del Chiaro


Server Response from: BLOGS2