Friday, February 21, 2014

Why we use Adobe Flex?

 Flex is an Asynchronize and high productive technology, building web and desktop based rich internet application using different frameworks and operating systems by leveraging the Adobe Flash player and Adobe AIR. While Application build using only Adobe Flex builder.  Compare to other development platforms like java, Microsoft technologies, they such complex but Adobe Flex applications are much easier to integrate and more efficient to maintain. Flex provides a modern, standards-based language and programming model that supports common design patterns. There are lots of frameworks available in market such as cairngorm, Mate, PureMVC, Parsley, RobotLegs and Swiz.

Flex can create number of different application types such as E-commerce with vast shopping carts. It also can be used to create widgets and Plugins for popular social sites such as facebook, twitter and myspace.
  • Adobe Flex is easily integrate with other technologies using Remote service, Web service and http service but remote service is more powerful and provide fast response as compare to other services. We can also directly connect to SQLLite database from Adobe Flex or AIR.
Client Technology

(Adobe Flex / AIR)
Bridge Technology
(WebOrb for Microsoft.Net, PHP, Ruby on Rails and Java)
(AMF (Action Message Format) for PHP and Ruby on Rails)

(FluorineFx for Microsoft.Net)

(BlazeDs and LCDS for Java)
Server Technologies

Advantage of using Abode Flex / AIR

• High Productive and building Rich Internet Applications
• High Performance and cross platform runtime
• Integrated support for text, graphics, animation, and audio/video
• Enterprise data integration
• Support for disconnected computing ( Online and offline synchronization )
• Provide high Security and reliability

Microsoft ASP.NET MVC Overview


The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating Web applications. The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc assembly.
           MVC design pattern

mvc_DesignPatternMVC is a standard design pattern that many developers are familiar with. Some types of Web applications will benefit from the MVC framework. Others will continue to use the traditional ASP.NET application pattern that is based on Web Forms and postbacks. Other types of Web applications will combine the two approaches; neither approach excludes the other.
The MVC framework includes the following components:
  • Models. Model objects are the parts of the application that implement the logic for the application's data domain. Often, model objects retrieve and store model state in a database. For example, a Product object might retrieve information from a database, operate on it, and then write updated information back to a Products table in a SQL Server database.
    In small applications, the model is often a conceptual separation instead of a physical one. For example, if the application only reads a dataset and sends it to the view, the application does not have a physical model layer and associated classes. In that case, the dataset takes on the role of a model object.
  • Views. Views are the components that display the application's user interface (UI). Typically, this UI is created from the model data. An example would be an edit view of a Products table that displays text boxes, drop-down lists, and check boxes based on the current state of a Product object.
  • Controllers. Controllers are the components that handle user interaction, work with the model, and ultimately select a view to render that displays UI. In an MVC application, the view only displays information; the controller handles and responds to user input and interaction. For example, the controller handles query-string values, and passes these values to the model, which in turn might use these values to query the database.
The MVC pattern helps you create applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements. The pattern specifies where each kind of logic should be located in the application. The UI logic belongs in the view. Input logic belongs in the controller. Business logic belongs in the model. This separation helps you manage complexity when you build an application, because it enables you to focus on one aspect of the implementation at a time. For example, you can focus on the view without depending on the business logic.
The loose coupling between the three main components of an MVC application also promotes parallel development. For example, one developer can work on the view, a second developer can work on the controller logic, and a third developer can focus on the business logic in the model.



In addition to managing complexity, the MVC pattern makes it easier to test applications than it is to test a Web Forms-based ASP.NET Web application. For example, in a Web Forms-based ASP.NET Web application, a single class is used both to display output and to respond to user input. Writing automated tests for Web Forms-based ASP.NET applications can be complex, because to test an individual page, you must instantiate the page class, all its child controls, and additional dependent classes in the application. Because so many classes are instantiated to run the page, it can be hard to write tests that focus exclusively on individual parts of the application. Tests for Web Forms-based ASP.NET applications can therefore be more difficult to implement than tests in an MVC application. Moreover, tests in a Web Forms-based ASP.NET application require a Web server. The MVC framework decouples the components and makes heavy use of interfaces, which makes it possible to test individual components in isolation from the rest of the framework.

You must consider carefully whether to implement a Web application by using either the ASP.NET MVC framework or the ASP.NET Web Forms model. The MVC framework does not replace the Web Forms model; you can use either framework for Web applications. (If you have existing Web Forms-based applications, these continue to work exactly as they always have.)
Before you decide to use the MVC framework or the Web Forms model for a specific Web site, weigh the advantages of each approach.

Advantages of an MVC-Based Web Application

The ASP.NET MVC framework offers the following advantages:
  • It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
  • It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
  • It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, see Front Controller.
  • It provides better support for test-driven development (TDD).
  • It works well for Web applications that are supported by large teams of developers and for Web designers who need a high degree of control over the application behavior.

Advantages of a Web Forms-Based Web Application

The Web Forms-based framework offers the following advantages:
  • It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
  • It uses a Page Controller pattern that adds functionality to individual pages. For more information, see Page Controller.
  • It uses view state on server-based forms, which can make managing state information easier.
  • It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
  • In general, it is less complex for application development, because the components (the Page class, controls, and so on) are tightly integrated and usually require less code than the MVC model.
The ASP.NET MVC framework provides the following features:
  • Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD). All core contracts in the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.
  • An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports the use of Dependency Injection (DI) and Inversion of Control (IOC) container models. DI enables you to inject objects into a class, instead of relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This makes testing easier.
  • Extensive support for ASP.NET routing, which is a powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.
  • Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.
  • Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.

Cross-Platform Mobile Development

Smartphones and tablets are becoming integral part of every one’s life, this vast demand leads to many OEM and many platform available in market, this obviously means a wide spectrum of devices and many choices the user has and they are available in different range and one can select based on their need either on different platform or extending the open source one and customize it. But what does the proliferation of different devices mean for product companies? It means increased cost of development and maintenance of the solution. In order to cut these costs down to some extent there are few such solutions. Below are few cross platform kit that Verve has capability on:
1.  Rhomobile provides a complete set of products for managing an enterprise’s mobile apps and data. Rhomobile uses the power and productivity of web technology and the cloud to allow enterprises to more easily develop design and distribute the application.
Platforms: iOS, Android, Blackberry, Windows Mobile
License: Free
2.  Appcelerator is a free and open source application development platform. Appcelerator Titanium lets you create native mobile, tablet and desktop application experiences using existing web skills like Javascript, HTML, CSS, Python, Ruby, and PHP. It comes with an in built language-OS bridge and a runtime shell that compiles and packages your applications for cross platform distribution.
Platforms: iOS, Android based mobiles and tablets and windows/linux/mac desktop based apps
License: Free
3.  PhoneGap is a HTML5 app platform that allows you to author native applications with web technologies and get access to api’s and appstore. Allows to develop applications for iPhone, iTouch, iPAD, Android, Blackberry, Symbian and Palm becoming one of the few products that supports almost all major platforms. The company offers a cross-platform simulator (an Adobe AIR app), as well as online training sessions to help you access native APIs and build functioning mobile apps on the PhoneGap platform.
Platforms: iPhone, Blackberry, Android, Symbian and Palm
License: Free (Open Source)

What is Microsoft Silverlight?

File:Microsoft Silverlight logo.png Silverlight is a cross-browser, cross-platform technology for implementation on the .NET Framework, and is purportedly intended to deliver stunningly rich internet applications and visually stimulating media experiences. Operational virtually on all of the popular browsers, its plug-in is pretty light-weight and easily deployable. Essentially a combination of technologies on a single platter, it allows developers to pick and choose tools and languages for development. Interestingly, it complements and gels seamlessly with existing ASP.NET AJAX code as well as JavaScript to enhance the application’s inherent properties and functionalities. In many ways, it is a dazzling answer to Adobe Flash or even to that of Sun’s JavaFX. Versions 1.0 and 2.0 (earlier referred to as 1.1) are the two major releases till date.

The first release consisted of the core presentation framework, responsible for generation of the rich user interfaces, interactivity, user inputs and basic user interface controls, graphics, animation and media playback, DRM support, with DOM API integration. It has inherent support for MP3/WMA audio as well as VC-1/WMV video formats and optionally supports built-in media streaming. It has the ability to download and play audio-visual media content from any web server, progressively. It not only provides for blending of vector graphics and HTML to create persuasive content experiences but also assists in throwing up gorgeous user interfaces, animation and rich interactive video player experiences. 
The version 2.0 takes the experience a few notches up. Much to delight of the Silverlight developers this version comes with the complete CLR (.NET Framework 3.0), with the facility to host multiple instances of the CLR in a single process, and has this uncanny ability, built-in, to execute any of the .NET languages including C# and VB.NET. With these benefits, the associated XAML files, containing the programming logic, could easily be augmented by code-behind code, written in a choice of .NET languages. The super-strong CLR engine drives high-performance execution on browsers. This version comes with a plethora of user interface controls including CheckBox, TextBox, ScrollViewer, Slider, DataGrid, ListBox, StackPanel, grid, etc. – not less than atleast thirty of various UI, data-binding support, layout management and data management skinnable, encapsulated, template-driven controls. The rich library of built-in classes associated with the framework, with its support for Windows Phone Foundation user interface programming model, makes it one of the most potent technologies for developing superior web browser-based and SmartPhone applications. The Deep Zoom feature on the latest version allows smooth zooming in-and-out of images using the user’s mouse wheel. The amazing scaling up-and-down range, from megapixels to a few gigapixels, is optimised and managed efficiently by the technology feature. The Version 2.0 allows limited ‘filesystem’ access, using the operating systems’ native file dialogue box. In fact it does not mandatorily require ASP.NET to be deployed and utlised on the web-server and can easily leverage Linux or even PHP, if Silverlight programmers intended or required it to. 

Microsoft Silverlight 2.0, in association with Visual Studio 8.0 empowers programmers to produce striking applications on any browser or operating system. Developers can finally focus on the back-end application core without bothering about the visuals those could simultaneously be taken care of by the graphic designers using the power of XAML. Licensing is pretty simple while developers can pull weight of the powerful CLR to use Ruby, Python or even EcmaScript, etc., leveraging the .NET Framework! Dramatic improvement in browsing and operational speed on AJAX-enabled websites makes Silverlight development such a craze amongst the global developer community. No wonder this emerging cross-platform / cross-browser technology promises to throw-up tons of promises and opportunities ensuring enriching client experiences.

Saturday, October 5, 2013

Android KitKat

Android KitKat

Prepare for a sweet new treat 

 

Android is the operating system that powers over 1 billion smartphones and tablets. Since these devices make our lives so sweet, each Android version is named after a dessert: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, and Jelly Bean. As everybody finds it difficult to stay away from chocolate we decided to name the next version of Android after one of our favorite chocolate treats, Kitkat®!

To make this release even sweeter, Kit Kat is giving you the chance to win a Nexus 7 or Google Play credit. Just look for specially branded Kit Kat candy bars featuring the Android robot in a store near you.

Friday, September 20, 2013

Support Library Features

Support Library Features

The Android Support Library package contains several libraries that can be included in your application. Each of these libraries supports a specific range of Android platform versions and set of features.

This guide explains the important features and version support provided by the Support Libraries to help you decide which of them you should include in your application. In general, we recommend including the v4 support and v7 appcompat libraries, because they support a wide range of Android versions and provide APIs for recommended user interface patterns.

In order to use any of the following libraries, you must download the library files to your Android SDK installation. Follow the directions for downloading the Support Libraries in Support Library Setup to complete this step. You must take additional steps to include a specific Support Library in your application. See the end of each library section below for important information on how to include the library in your application.

v4 Support Library


This library is designed to be used with Android 1.6 (API level 4) and higher. It includes the largest set of APIs compared to the other libraries, including support for application components, user interface features, accessibility, data handling, network connectivity, and programming utilities. Here are a few of the key classes included in the v4 library:
There are many other APIs included in this library. For complete, detailed information about the v4 Support Library APIs, see the android.support.v4 package in the API reference.
This library is located in the <sdk>/extras/android/support/v4/ directory after you download the Android Support Libraries. This library does not contain user interface resources. To include it in your application project, follow the instructions for adding libraries without resources.
The Gradle build script dependency identifier for this library is as follows:
com.android.support:support-v4:18.0.+
This dependency notation specifies the release version 18.0.0 or higher.

v7 Libraries


There are several libraries designed to be used with Android 2.1 (API level 7) and higher. These libraries provide specific feature sets and can be included in your application independently from each other.

v7 appcompat library

This library adds support for the Action Bar user interface design pattern.
Note: This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure you include the v4 Support Library as part of this library's classpath.
Here are a few of the key classes included in the v7 appcompat library:
  • ActionBar - Provides an implementation of the action bar user interface pattern. For more information on using the Action Bar, see the Action Bar developer guide.
  • ActionBarActivity - Adds an application activity class that must be used as a base class for activities that uses the Support Library action bar implementation.
  • ShareActionProvider - Adds support for a standardized sharing action (such as email or posting to social applications) that can be included in an action bar.
This library is located in the <sdk>/extras/android/support/v7/appcompat/ directory after you download the Android Support Libraries. This library contains user interface resources. To include it in your application project, follow the instructions for adding libraries with resources.
The Gradle build script dependency identifier for this library is as follows:
com.android.support:appcompat-v7:18.0.+
This dependency notation specifies the release version 18.0.0 or higher.

v7 gridlayout library

This library adds support for the GridLayout class, which allows you to arrange user interface elements using a grid of rectangular cells. For detailed information about the v7 gridlayout library APIs, see the android.support.v7.widget package in the API reference.
This library is located in the <sdk>/extras/android/support/v7/gridlayout/ directory after you download the Android Support Libraries. This library contains user interface resources. To include it in your application project, follow the instructions for adding libraries with resources.
The Gradle build script dependency identifier for this library is as follows:
com.android.support:gridlayout-v7:18.0.+
This dependency notation specifies the release version 18.0.0 or higher.

v7 mediarouter library

This library provides MediaRouter, MediaRouteProvider, and related media classes that support the Google Cast developer preview.
In general, the APIs in the v7 mediarouter library provide a means of controlling the routing of media channels and streams from the current device to external screens, speakers, and other destination devices. The library includes APIs for publishing app-specific media route providers, for discovering and selecting destination devices, for checking media status, and more. For detailed information about the v7 mediarouter library APIs, see the android.support.v7.media package in the API reference.
The v7 mediarouter library is located in the <sdk>/extras/android/support/v7/mediarouter/ directory after you download the Android Support Library. It's provided as a library project with a dependency on the v7 appcompat library, so you'll need to include both libraries in your build path when setting up your project. For more information on how to set up your project, follow the instructions in adding libraries with resources. If you are developing in Eclipse/ADT, make sure to include both the android-support-v7-mediarouter.jar and android-support-v7-appcompat.jar files.
If you are using Android Studio, all you need to do is specify the Gradle build script dependency identifier com.android.support:support-v7-mediarouter:<revision>, where "18.0.0" is the minimum revision at which the library is available. For example:
com.android.support:mediarouter-v7:18.0.+
The v7 mediarouter library APIs introduced in Support Library r18 are subject to change in later revisions of the Support Library. At this time, we recommend using the library only in connection with the Google Cast developer preview.

v8 Support Library


This library is designed to be used with Android (API level 8) and higher. It adds support for the RenderScript computation framework. These APIs are included in the android.support.v8.renderscript package. You should be aware that the steps for including these APIs in your application is very different from other support library APIs. For more information about using these APIs in your application, see the RenderScript developer guide.
Note: Use of RenderScript with the support library is supported with the Android Eclipse plugin and Ant build tools. It is not currently supported with Android Studio or Gradle-based builds.

v13 Support Library


This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support for the Fragment user interface pattern with the (FragmentCompat) class and additional fragment support classes For more information about fragments, see the Fragments developer guide. For detailed information about the v13 Support Library APIs, see the android.support.v13 package in the API reference.
This library is located in the <sdk>/extras/android/support/v13/ directory after you download the Android Support Libraries. This library does not contain user interface resources. To include it in your application project, follow the instructions for adding libraries without resources.
The Gradle build script dependency identifier for this library is as follows:
com.android.support:support-v13:18.0.+
This dependency notation specifies the release version 18.0.0 or higher.

Installing the Eclipse Plugin

Android offers a custom plugin for the Eclipse IDE, called Android Development Tools (ADT). This plugin provides a powerful, integrated environment in which to develop Android apps. It extends the capabilities of Eclipse to let you quickly set up new Android projects, build an app UI, debug your app, and export signed (or unsigned) app packages (APKs) for distribution.
If you need to install Eclipse, you can download it from eclipse.org/downloads/.
Note: If you prefer to work in a different IDE, you do not need to install Eclipse or ADT. Instead, you can directly use the SDK tools to build and debug your application.

Download the ADT Plugin


  1. Start Eclipse, then select Help > Install New Software.
  2. Click Add, in the top-right corner.
  3. In the Add Repository dialog that appears, enter "ADT Plugin" for the Name and the following URL for the Location: https://dl-ssl.google.com/android/eclipse/
  4. Click OK. If you have trouble acquiring the plugin, try using "http" in the Location URL, instead of "https" (https is preferred for security reasons).
  5. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.
  6. In the next window, you'll see a list of the tools to be downloaded. Click Next.
  7. Read and accept the license agreements, then click Finish. If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.
  8. When the installation completes, restart Eclipse.

Configure the ADT Plugin


Once Eclipse restarts, you must specify the location of your Android SDK directory:
  1. In the "Welcome to Android Development" window that appears, select Use existing SDKs.
  2. Browse and select the location of the Android SDK directory you recently downloaded and unpacked.
  3. Click Next.
Your Eclipse IDE is now set up to develop Android apps, but you need to add the latest SDK platform tools and an Android platform to your environment. To get these packages for your SDK, continue to Adding Platforms and Packages.

Download the ADT Translation Manager Plugin


ADT Translation Manager Plugin is an Android SDK Tools plugin that helps you work with strings that you are localizing. It's designed to work with the translation services built into the Google Play Developer Console that let you quickly find and purchase translations of your app from a list of pre-qualified vendors.
The plugin simplifies the management of strings during translation. It lets you easily export your default strings and upload them directly to the Developer Console, from which you can get estimates or purchase translations. When your translations are ready, the plugin lets you quickly download and import them back into your project. During import, it moves all of the translated resources into the correct locations under res/values, so that localization works instantly.
For more information about translation services in Google Play, see Purchase professional translations through the Developer Console.
To install the ADT Translation Manager Plugin follow these steps:
  1. Install the ADT Plugin, as described above.
  2. In Eclipse, select Help > Install New Software.
  3. Click Add, in the top-right corner.
  4. In the Add Repository dialog that appears, enter a repository name for the Name and the following URL for the Location:
    https://dl.google.com/alt/
  5. Click OK.
  6. In the Available Software dialog, select the checkbox next to Android Developer Tools - Translation Manager and click Next.
  7. In the next window, you'll see a list of the tools to be downloaded. Click Next.
  8. Read and accept the license agreements, then click Finish. If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.
  9. When the installation completes, restart Eclipse.

Installation notes

  • The full ADT Plugin must be installed in your Eclipse environment before you install the ADT Translation Manager Plugin.
  • ADT Translation Manager Plugin is designed for use with the translation services offered through the Google Play Developer Console. It is not designed for general purpose import/export of strings.
  • To use the plugin, you must set up a Developer Console account.
  • Currently, translation services are available through the Developer Console only as part of a pilot program. To use the plugin, you must first sign up for the pilot program by visiting the Developer Console.
  • If you downloaded ADT as part of the SDK ADT bundle, you may encounter an error when attempting to download the ADT Translation Manager Plugin from the remote repository. In that case, open the Install New Software, uncheck "Contact all update sites during install to find required software" at the bottom and try again.

Troubleshooting ADT Installation


If you are having trouble downloading the ADT plugin after following the steps above, here are some suggestions:
  • If Eclipse can not find the remote update site containing the ADT plugin, try changing the remote site URL to use http, rather than https. That is, set the Location for the remote site to:
    http://dl-ssl.google.com/android/eclipse/
  • If you are behind a firewall (such as a corporate firewall), make sure that you have properly configured your proxy settings in Eclipse. In Eclipse, you can configure proxy information from the main Eclipse menu in Window (on Mac OS X, Eclipse) > Preferences > General > Network Connections.
If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you can download the ADT zip file to your local machine and manually install it:
  1. Download the ADT Plugin zip file (do not unpack it):
    Package Size MD5 Checksum
      ADT-22.2.1.zip          14476845 bytes                     97176754a1e86adf2e5e05f44dc7229e
  2. Start Eclipse, then select Help > Install New Software.
  3. Click Add, in the top-right corner.
  4. In the Add Repository dialog, click Archive.
  5. Select the downloaded ADT-22.2.1.zip file and click OK.
  6. Enter "ADT Plugin" for the name and click OK.
  7. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.
  8. In the next window, you'll see a list of the tools to be downloaded. Click Next.
  9. Read and accept the license agreements, then click Finish. If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.
  10. When the installation completes, restart Eclipse.
To update your plugin once you've installed using the zip file, you will have to follow these steps again instead of the default update instructions.

Other install errors

Note that there are features of ADT that require some optional Eclipse packages (for example, WST). If you encounter an error when installing ADT, your Eclipse installion might not include these packages. For information about how to quickly add the necessary packages to your Eclipse installation, see the troubleshooting topic ADT Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

For Linux users

If you encounter this error when installing the ADT Plugin for Eclipse:

An error occurred during provisioning.
Cannot connect to keystore.
JKS
 
...then your development machine lacks a suitable Java VM. Installing Sun Java 6 will resolve this issue and you can then reinstall the ADT Plugin.