.
Mobile Apps Framework: Cordova or PhoneGap?
(Extracted from the original article written by John M.Wargo )
How PhoneGap Became Apache Cordova and Adobe PhoneGap
Let's start with the short version:
- Apache Cordova is the current name for the open source project formerly known as PhoneGap.
- Adobe PhoneGap is Adobe's distribution (flavor) of Apache Cordova, with some extra capabilities added by Adobe.
Here's what happened. In 2011, Adobe acquired Nitobi, the company that created and managed the open source PhoneGap project. PhoneGap was already used by several vendors in their software products. Also, since PhoneGap provided an easy way to deliver cross-platform mobile apps, a capability that was highly valued by development organizations, product companies (IBM, for example) and even some hardware vendors and mobile OS vendors (such as Google) were involved in the project. To protect stewardship and to help ensure the longevity of the PhoneGap project, Nitobi donated PhoneGap to the Apache Software Foundation immediately before closing the acquisition with Adobe. This action placed the project in a protected space, enabled invested parties to remain involved, and actually helped to make the project more visible in the community.
The PhoneGap project had a bit of a schizophrenic beginning at Apache. When the project was first donated, the team gave it a new name: Apache Callback. That name wasn't too popular, and it was quickly renamed Apache DeviceReady (because the PhoneGap capabilities were available in a PhoneGap app after the deviceready event fired). That name also failed, and the project finally stabilized under the name Apache Cordova, deriving its name from the street where the Nitobi offices were located when PhoneGap was created.
With a new name and now safely ensconced within the Apache Software Foundation, the project was ready to soar. At this point (around the time of release 1.4), Apache Cordova was simply the new name for PhoneGap; the two were essentially synonymous. Once Nitobi settled within Adobe, however, the team created a distribution of Apache Cordova and called it Adobe PhoneGap. Figure 1 illustrates how this process started and what it looks like today, as each version of Apache Cordova becomes a distribution of Adobe PhoneGap.
After the initial release of Apache Cordova, the Cordova team started implementing new tools to simplify the process of creating and maintaining a Cordova application project. With early versions of PhoneGap (versions 1 through 2.x), creating projects for different mobile operating systems required different processes and tools for each. Beginning with Cordova 3, a unifying set of tools was added (the Cordova command-line interface) and a consistent project folder was implemented. It was suddenly much, much easier to work with Cordova application projects.
The former Nitobi team, now part of Adobe, stayed involved in the project and helped shepherd new features and capabilities. They also started thinking about how Adobe could enhance Cordova. With an open source project, the team could implement many improvements, but some changes would have been difficult or expensive to deliver. The Adobe team also came up with some interesting enhancements that really didn't belong in the Cordova project, either because they'd be difficult to maintain with existing Cordova team members or because they had commercial requirements that an open source project simply couldn't tackle. These enhancements (the "extra stuff" boxed in Figure 1) became additional capabilities delivered by Adobe's distribution of Apache Cordova, now officially called Adobe PhoneGap.
Still puzzled? Think of it this way: If we're discussing Linux distributions and I mention Debian, we've moved from a conversation about an open source operating system (Linux) to talking about a specific distribution of Linux, in this case the Debian distribution. If I say I'm using Linux, I could mean Debian—or any of a number of other Linux distributions. But if I say I'm using Debian, I mean that I'm using the Debian distribution of Linux.
When people mention using PhoneGap, they're probably referring to Cordova, but they might mean Adobe's distribution of Cordova instead. So they could be using Cordova and calling it by the wrong name, or using PhoneGap and one or more of the additional parts that Adobe provides in its distribution of the framework (the "extra stuff" in Figure 1).
Though the name changes happened years ago, people are surprisingly still confused about the difference between PhoneGap (Adobe) and Cordova (Apache). Here's an example of the confusion: My book PhoneGap Essentials: Building Cross-Platform Mobile Apps is still the bestselling book on PhoneGap, even though it was published in 2012 and covers a version of PhoneGap that is no longer available (and differs dramatically from the current version). Why are people still buying the book? Because the project is more widely known as PhoneGap than as Cordova. Though more books are available for Cordova than for PhoneGap, the older PhoneGap books still sell—even though they're too old to be useful anymore. Amazon and other vendors don't automatically make the connection between PhoneGap and Cordova, so customers are misdirected to older books when PhoneGap is used as a search term.
Meanwhile, Apache Cordova is now included in many commercial software products. Oracle, Salesforce, and many other companies use Cordova in their mobile development platforms. IBM MobileFirst (formerly known as IBM Worklight) includes a distribution of Cordova. IBM also contributes to the Cordova project, staffing the project with many developers.
No comments:
Post a Comment