On Mon, Apr 28, 2014 at 1:01 PM, Freak Show <freaksho...@me.com> wrote: > > Because 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, etc....all came with some fatal problem > relative to 1.2. Some plugin or other was broken. None of those versions > offered new capabilities - but often came with new bugs. That's my > perspective on it. Furthermore, I wrote custom plugins on that api. They > still work. They are very fancy plugins. I don't care too much that you > made "architectural improvements" - from my perspective you just moved the > furniture around - nothing pre 2.0 was actually better in any way. Then > there's the gratuitous name change confusions that went on. Phonegap vs > Cordova changed a bunch of internal names for no really good reason.
These reasons were legal, and it was done to keep PhoneGap open source. If we didn't do this, we wouldn't be having this conversation. > > Even Apple was smart enough not to change all their api prefixes from NS when > they bought NextStep. Gratuitous code breakage seemed to be the rule of the > day for awhile. You are aware that this is an Open Source project, right? > > K, that's ancient history but if you're feeling butt hurt about excessive > changes, I would like to point out that things looked very keystone cops from > the consumer's point of view prior to 2.0. Furthermore all this shifting > kept breaking third party plugins. We didn't have a proper API for plugins prior to 2.0. In fact, I would argue that our Java APIs are still not fully up to par. That being said, 2.0 brought the CordovaWebView feature, which allowed Android developers to embed the view, and set the framework for our third-party webview work that we're doing now to work around problems with the Android WebView. There are also the improvements to the Javascript bridge as well. If you don't feel that those were improvements, there's not much more we can say about that. > I get stuff has to progress but this: > > you will need to change the path to the following two classes within the Java > plugin code for android: > > 1 > 2 > import org.apache.cordova.api.CallbackContext; > import org.apache.cordova.api.CordovaPlugin; > -to- > > 1 > 2 > import org.apache.cordova.CallbackContext; > import org.apache.cordova.CordovaPlugin; > > This was necessary exactly - why? Its "nicer" I guess but you could have > lived with the extra level of indirection and not forced those of us who are > very busy to have to run around doing string replacement in our custom > plugins. This wasn't necessary and I was against it. However, since I was the only developer against it, we ended up adopting it. I already said "I told you so" a year ago, you saying it again is just as helpful. I would like to remind everyone of my favourite line the Apache Software Licence: 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. as well as this line in the MIT licence: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. I think I'm just going to leave these here.