Mobile User Interface Design: Home Screen Navigation

Mobile User Interface Design: Home Screen Navigation

When it comes to mobile UI design, there are several key design paradigms. I covered the different mobile UI design patterns in my recent C++ Mobile Day session.

Today, I thought I would write a quick tutorial on how to create your own Home Screen Navigation using Delphi, C++Builder or RAD Studio XE6.

One more great article of Sarina DuPont. Click on the image for see more..

Uploading images to the cloud with BaaS in RAD Studio XE6

Uploading images to the cloud with BaaS in RAD Studio XE6

In Delphi, C++Builder and RAD Studio XE6, we integrate with leading Backend as a Service (BaaS) providers to add functionality and platform services to your applications. With BaaS, you get easy access to common services in the cloud without having to build or maintain the backend services yourself. This includes support for being able to upload images to your BaaS account using RAD Studio XE6.

Today, I thought I would create a demo that shows you how to load an image from the gallery, upload it to your Parse.com account (you will need to sign up for an account), display the image URL in an Edit control and then download the uploaded image and display it in your app.

Click on the image for see this article.

Fast programming, TIPS, TRICKS, and TECHNIQUES

Fast programming, TIPS, TRICKS, and TECHNIQUES

You’re invited to join the software development experts at Embarcadero each Tuesday and Thursday for Developer Skill Sprints – 20 minute online live tutorials on software development for Windows, Mac, Android and iOS.

June 17 Create and consume a custom REST API
June 19 Push a notification from your Windows app to your mobile apps with Kinvey BaaS
June 24 Manage user accounts and storage with Parse BaaS
June 26 Create a tablet specific VCL Windows app
July 1 Talk to GPS and accelerometer on your Windows tablet with VCL
July 3 Integrate More iOS with an Objective-C Call in your App
July 8 Integrate More Android with a JNI Call to your Android App
July 10 Add Voice Commands to Launch your Google Glass Apps
July 15 Use the Database Explorer with FireDAC
July 17 Deploy To Apache
July 22 Add Screen Reader Support to your FireMonkey Desktop App for Accessibility
July 24 Add In-app Purchase to your Mobile App
July 29 Find C++ 11 References Across your Entire Project

Click on the image and register!

Swift Development for iOS… and Android with C++ and Object Pascal

Swift Development for iOS... and Android with C++ and Object Pascal

Swift is the name of the new programming language by Apple… but I think RAD Studio offers faster development and for more platforms, and adopt two equally powerful languages, C++ and modern Object Pascal.
Swift is the name of the new programming language by Apple, announced last week at the company developers conference. I’m pretty sure you’ve heard about it.

Swift Roundup
Here are some interesting links and blogs, with widely different opinions:

Apple’s official introduction to Swift: developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/GuidedTour.html
Tim Anderson fairly balanced opinion at http://www.itwriting.com/blog/8483-apples-swift-programming-language-easy-coding-for-os-x-and-ios-at-last.html
ZDNet very critical voice (but picking C# won’t have been a nice idea to me, quite the opposite): http://www.zdnet.com/apples-new-swift-development-language-highlights-the-companys-worst-side-7000030150/
Performance doubts (but it is still a beta, too early to tell): http://www.splasmata.com/
What’s New and Different… from C / ObjectiveC: http://www.fastcolabs.com/3031400/whats-new-and-different-about-apples-new-swift-programming-language
Swift, Objectively by Dr Dobb’s (even if Andrew fails to recognize the features coming from Object Pascal, in the rather long list of languages this new draws upon): http://www.drdobbs.com/architecture-and-design/swift-objectively/240168424
Language Considerations (C++ and Object Pascal)
I think that RAD Studio, with C++ and modern Object Pascal, offers faster development and for more platforms. Development is based on an equally powerful language, but it is more visual, offers component previews and live data at design time. This is due to the libraries, but there is a clear language influence. Anyway with RAD Studio a single source code will work both on iOS and Android, not to mention Windows and Mac.

By comparison, Swift can be used only for Mac and iOS development, and given it is a proprietary language, it might remain limited to those two platform. Not that the scenario was very different in ObjectiveC, and certainly Swift seems a better and more modern language from what I’ve read so far.

What does this new language mean for the languages used by RAD Studio?

C++ remains a more open and flexible option. With C++Builder and Appmethod you use the same LLVM engine Apple leverages and embrace the same ARC memory management on mobile, you have a similar features set… but a more standard language and many common C++ libraries to use.

Object Pascal is very similar to Swift features-wise, again uses the same underlying architecture and can gain the same speed of compiled code. Given iOS developers will have to learn a new language, why not learn one that will give them support for more platforms (Android included)?
Swift vs. Object Pascal
How can we compare Swift to Object Pascal on mobile language-wise? Both languages can compile via LLVM, use ARC memory management, are strongly typed, have full support for object-oriented programming with single inheritance and multiple interfaces, both support generics, both have closures. The languages even share some keywords like self and override. And AnyValue looks a lot like TValue.

One more thing. From Tim Anderson article: “There is an interesting feature called Extensions which lets you add methods to any existing type. For example, you could extend Int with a prettyprint method and then call 3.prettyprint.” Object Pascal has the same exact feature, it is called helpers and can be applies to classes, records, and native data types. You can write “3.ToString” in Delphi XE6 on all platforms.

Where Swift has more flexibility is in the use of implicit types, tuples, and distinction between nullable and non-nullable types. What seems missing is exception handling, which I personally find quite odd. What I like more in Object Pascal is the use of properties, published, and streaming; named and virtual constructors and destructors, plus class references and class operations, along with rich reflection and attributes. I also prefer the way closures capture the execution context. But this could lead a lengthly debate on languages features, which I really don’t want to get into.

Temporary Conclusion
Personally, it is very interesting to see a new programming language coming, and I’m sure Swift will have a good following, because it seems nicer than ObjectiveC and many iOS and Mac developer will move to it. It might also be easier for C# developers to adopt it. Again, it is nice to see some ideas from Object Pascal in Swift, but I’m quite sure there are a couple of nice ideas in Swift that Object Pascal could borrow in the future.

One final question: With more (new) languages gettign wider adoption, will the language barriers reduce and will developer be more willing to be fluent in multiple languages?

Click on the image to see original website