Discussions

News: Is Mobile Development Ready to Rock?

  1. Is Mobile Development Ready to Rock? (22 messages)

    According to our most recent Java trends survey (which you may have participated in), mobile development is continuing its steady upward march on your minds and in your projects. This is an unusual result in a community such as TheServerSide, which focuses on Java code running on enterprise servers, but the percentage remains pretty small at under 20 percent. The apparent growth in mobile development makes sense; most of the people I know have a smartphone of some type, and between phones and other gadgets at the edge, it looks like fertile for a next wave of development. The trend started with the introduction of the iPhone, but with the proliferation of BlackBerries, Windows Mobile systems, and most recently the Android (apparently coming out on a new phone from Dell), there is ample horsepower and OS capability to be able to build out some interesting applications. There are a couple of ways developers can play mobile – either Java directly on the client, through the use of Java ME, or building Web applications with business logic and data on the server, and JSPs or other Web interface on the phone. The problem with writing code directly for the mobile platform, as I see it, is the incompatible platforms. If you write to the client, you may be faced with the issue of Java ME not being available on that client, or of having to modify code to take into account differences in the VM or underlying OS. Being primarily server side developers, I see TheServerSide community as opting toward the latter solution – building JSPs or other Web interfaces that call server side code. This enables the community members to leverage their strengths – EE and EJB development – while also taking advantages of the capabilities of the phone. Web app development is supported by our surveys, which say that 85 percent of you work on client-side code too, with Ajax being by far the most popular option. This approach also plays to the divided phone market, with each of the major phone providers offering their own stores for applications. The challenges for phone and other edge device developers are significant, with memory, connectivity, and application architecture issues. Are you doing mobile development? If so, on the phone, or on another type of device? Are you developing logic on the client, or running everything but the UI from the server?

    Threaded Messages (22)

  2. iPhone, Android, Blackberry, Symbian[ Go to top ]

    We have being doing a lot of mobile development recently, it was initiated by conversation with a customer who mentioned what they'd be prepared to pay for an iPhone version and that was like a red rag to a bull. In the past 3-4 months we've got several contracts for commercial mobile applications and have had to recruit to be able to ramp up. Initially we're working on the iPhone but I don't like the model where by Apple controls the releases and for that reason we're also working with Android. Apple has far better control on the environment as Android lacks a single version, I'd love Android to take off but it's still a gamble at the moment. Blackberry, Palm and Symbian are a nice to have but the lack of decent stores makes them too risky to develop for for the moment. I've started looking at Ideaworks, the platform looks perfect for developing on one SDK (theirs) and deploying to multiple mobile devices. I don't mind Objective C, it's not a bad language but Apple's XCode makes you feel like you've gone back in time, to the early 90s, re-factoring is not much better that rename and even then it's limited. The libraries are however very rich and once you get used to the grotty IDE and various little quirks it's quite productive, especially the interface builder. To me the future of mobile application development, outside of the gaming market, is the smart devices being the new clients for enterprise applications. They won't perhaps replace the PC, laptop, desktop applications and web front-ends but they will supplement them and in many cases become the preferred platform. What's interesting here is that enterprise experience counts, you can't simply be an iPhone programmer, you need to know how to hook it up to a server sunning Java, .NET or LAMP for example. These are the problems we've had for decades and are starting again from a fresh with these new devices. Anyway, it's exciting and there appears to be a lot of opportunity and plenty of money around for the right solutions. -John- CTO, Incept5
  3. Did you try Sybase unwired platform for Mobile Applucation development? The Application Development Tool + middleware tool allows Heterogenious mobile devices to talk to hetergenious datasources. There are many more features like Devoce management, offline capability etc. Check it out at http://www.sybase.com/products/mobileenterprise/sybaseunwiredplatform
  4. I agree that mobile is the future of development. It is one of the motivations for me to create TouchFaces that integrates iPhone, webkit based mobile browsers with JSF and Java. http://97.107.138.40:8080/prime-showcase/touch/index.jsf
  5. JavaME being left behind[ Go to top ]

    I see another problem with mobile development recently. The phones say they are MIDP 2x compatible, but they are so far advanced compared to what MIDP was designed for, with virtual keyboards, drag&drop, etc, that either their extensions are proprietary or the extra features are not available from JME, which annoys users. I can see J2SE being teh platform of choice fairly soon, with JavaFX providing the UI. Kit
  6. Re: JavaME being left behind[ Go to top ]

    Of all the platforms that have momentum, none support J2ME or J2SE/JavaFx. Android's subset of Java is the only game in town for Java. And android probably won't support JavaFx.
  7. mobile web is the future[ Go to top ]

    Mobile Web is the future for mobile. As your survey has shown the mobile community is already looking beyond native mobile apps towards mobile web centric solutions. This is especially true for the emerging mobile enterprise movement that is looking to mobilize both customers and workforce. The net for us Java developers are new opportunities as mobile web developers working to repurpose existing web services and create all new online mobile services and experiences that take into account mobile contexts, e.g., task, location, history, emotion... The emerging mobile app platform is the mobile web browser with HTML5 support. The mobile browser is the runtime with HTML5, JavaScript and CSS3 as the execution code. If you have been following the emerging HTML5 features over this past year then you know it is gaining general purpose programming features such as 2D & 3D graphics, concurrency, native SQL DB, offline and update support, web sockets, geolocation, media, animation, ... The open-source HTML5 WebKit browser (LGPL) is the innovation leader among mobile web browsers. It powers the browsers on devices such as iPhone (Mobile Safari), Palm Pre WebOS, Android, Symbian S60s, and hopefully soon RIM Blackberry. Opera and Windows Mobile also have their place. But WebKit dominates on the smartphones that are reshaping mobile to become more web centric. A lot of innovation in mobile web is happening outside of the Java community. An opportunity for the Java community is to embrace and extend this work. Examples include mobile UI and application frameworks. There are already non-Java frameworks in use by mobile developers that enable creation of high quality mobile applications using web programming technologies and then distribute directly to the mobile device or package for app store deployment. Mobile web for Java developers is still in the early adopter stage but already starting to gain attention. For the short term Java web developers should look to the mobile web technologies to gain a strong foundation of what is possible with HTML5 capabilities on the most popular smartphones. This mix of mobile web + JavaEE know-how will provide you insight into the most appropriate approach to developing mobile web solutions now and in the future. Wayne Parrott Mobile Team Genuitec, LLC Shameless plug - To see some of the advances in mobile web checkout MobiOne Developer an IDE for mobile web developers that we are developing at Genuitec. You can test drive the coolest mobile web frameworks in iPhone and Pre emulators.
  8. Re: mobile web is the future[ Go to top ]

    sounds great on paper. But we're not there yet. I can tell you from personal exp on the iPhone native apps are a lot nicer than web apps. With web apps, you have much less control, less elegance, and less power. So for now native apps rule. On WebOS, I think your thoughts apply well currently. But WebOS has very low market share at this point. Haven't tried Android yet. Down the road, maybe.
  9. Re: mobile web is the future[ Go to top ]

    keeping up with various browsers is a challenge in itself, supporting so many devices is a nightmare. :) although i love the way apps look on iPhone, from a long term reusability point of view the best bet is to put serverside code to take the load of all supporting services and have UI light n flexible on the device. Creating full blown apps for each device becomes unmaintainable and soon they start to go out of synch. anyway .. i agree its a very interesting area and lots of future - even though it means developers pulling their hair. :)
  10. Re: mobile web is the future[ Go to top ]

    ... I can tell you from personal exp on the iPhone native apps are a lot nicer than web apps. With web apps, you have much less control, less elegance, and less power. So for now native apps rule.
    These claims are relative to the type of application features one is developing. For example, in a recent meeting with a group of iPhone developers, this sentiment was expressed in the abstract. Yet, when the claim was put to a friendly test by evaluating the sophistication of most apps in the iphone app store the group concluded that the majority of them could have been developed quickly and easily using HTML5 and a good UI framework such as jqtouch, iui, or webapp.net. While mobile web technology is more powerful than native at this time, in many cases it is powerful enough for the job. Mobile web is the future with native becoming the exception. W
  11. Oh, really?[ Go to top ]

    Mobile web is the future with native becoming the exception.
    Ok, let's see you implement a car chase app in HTML.
  12. Re: Oh, really?[ Go to top ]

    Ok, let's see you implement a car chase app in HTML.
    I agree you can't do that - yet - in HTML5 technologies, CSS3, etc. But, as most of us here on TSS, I'm much more concerned about enterprise-level applications and the functionality demanded by customers - not native game development. I'm sure there are lots of forums where you could be a snot posting anonymously about game development for smart phones, but not sure this is the place to do it.
  13. What makes you think I'm anonymous?[ Go to top ]

    I'm sure there are lots of forums where you could be a snot posting anonymously about game development for smart phones, but not sure this is the place to do it.
    I agree that this site has a narrower focus than general-purpose programming, but some earlier posts suggested that web-based technologies are going to replace native apps in general, with a few exceptions. I don't think that's the case. It reminds me of the days when ROR was the flavor of the week, and people were suggesting that Java had no more purpose in life. All this prognosticating doesn't matter that much; two years from now we'll know the truth.
  14. ...It reminds me of the days when ROR was the flavor of the week, and people were suggesting that Java had no more purpose in life....
    Your position reminds me of 10 years ago when the C/C++ community was ragging on the emerging Java VM technologies since their early performance was not up to that of the compiled languages. But unlike ROR, Java had the advantage of mass familiarity. That is Java syntax was basically familiar to a mass audience of C developers. And Java had the perfect timing to capitalized on the growth of the internet and new internet application models (applets). In a few short years after Java's release CPU cycles became a commodity. Now you don't here all the whining that we used to about inefficencies of VMs and the like. Fast forward 10 years and mobile is taking off. The popular devices are all upgrading their platforms with much improved browser performance and faster CPUs (3GS). Then bolt on HTML5 and its expanded programming features. Now you have a programming model familiar to a few million web developers and the sexiness of developing for devices such as the iPhone. The ingredients are there for the coming mobile web explosion. To your point about creating some game animation in web technology. That capability is still a ways out but not that far. Pick the right tool for the right job. So go native when you need to. Go mobile web when it works. Most enterprise mobile apps are well suited to be implemented with mobile web technology. W
  15. Ok, so graphics are getting a little better, but where's your browser support for the accelerometer, GPS, OpenGL, phone control, multi-point touch, and sound synchronized with UI animations? I would argue that the realm of enterprise apps is widening. It's moving beyond forms and text, even when the text has a cute name like "tweet". A car chase app could be a tool for delivering on-line advertising. Maybe it's a promotion and people can request more information about tires after they're done playing the game. I'm not convinced that enterprise apps will be very compelling if they're essentially miniature web pages.
  16. Re: mobile web is the future[ Go to top ]

    Mobile web is the future with native becoming the exception.

    W
    I respectfully disagree, mobile web will play a major roll yes but native certainly won't be the exception. Here we are some 15+ years into the modern internet (web etc.) and it's not the case that the web has replaced native applications. There are a few notable champions like Salesforce, Gliffy, Jira, Google Docs etc. but these are still in the minority globally. So, I'm not saying mobile-web will not play a major roll, I'm saying it won't replace native. I've been working on several commercial applications and while the idea of wiring them as web applications is appealing the speed, responsiveness, low-latency and simply sexiness of a native application is what my clients and my clients' customers want, not mobile web (for now). -John-
  17. Re: mobile web is the future[ Go to top ]

    I respectfully disagree, mobile web will play a major roll yes but native certainly won't be the exception. Here we are some 15+ years into the modern internet (web etc.) and it's not the case that the web has replaced native applications.
    Yeah right, but nobody says "fully replacing" native applications. These days many people are doing native mobile applications to connect to remote databases, most of them (all?) are shown as typical web sites. Are you going to add a native application in desktop doing the same as the web version does? Is a non-sense in desktop...and in mobile? All of previously listed mobile browsers are capable to run Single Page Interface applications like this or this (Bolt, UCWEB and Motorola Symphony are supported on the upcoming 0.7 version of ItsNat, and Palm Pre already runs). Of course I'm not talking about local applications, games or graphic intensive applications in general, they will be native applications as ever.
  18. We are going to repeat the history in desktop: today native applications, tomorrow web, web and web. The problem today is the overwhelming diversity of mobile browsers, all of these support AJAX! Android, BlackBerry JDE 4.6+ (Flip, Bold, Storm etc), Bolt, Fennec 1.0a1 (a.k.a FireFox Mobile), Pocket IE 6 (Windows Mobile 6 and 6.1), IE Mobile 6 (since Windows Mobile 6.1.4), iPhone/iPod Touch 2.0+, Iris 1.0.8+, Minimo 0.2, Motorola Symphony 1.1, NetFront 3.4+, Opera Mini 4.x, Opera Mobile 8.6x (WinMob and UIQ), 9.5 and 9.7, S60WebKit (since S60 3rd), S40WebKit (since S40 6th), Palm Pre webOS, QtWebKit of Qt for Embedded Linux (Qt v4.4) and Windows CE, SkyFire 1.0 and UCWEB (Java and WinMob). Fortunately we have some tools to deal with this diversity like ItsNat.
  19. Programming in iPhone's Objective-C is like programming 30yrs ago with that archaic language.
  20. Honestly i didn't think objective c was that horrible. Sure coming from java it feels like a step back but not nearly as much as i expected
  21. Re: Is Mobile Development Ready to Rock?[ Go to top ]

    Programming in iPhone's Objective-C is like programming 30yrs ago with that archaic language.
    OK, be constructive and actually tell us what you don't like about the language. Personally I think it's quite a good language, true there are some strangeness's but there are plenty of those in Java and other "main-stream" languages. Objective C was more popular that C++ in the mid to late 80s, OK I mentioned the 80s but Ruby and Java date back to the mid 90s, Objective C isn't THAT much older. Yes it's true to say that Ioke, Scala etc. are new languages but they're still very immature and although they're sexy they wouldn't be stable enough to support a mobile phone. Come on, explain why it's "archaic", do you actually know anything about it? -John-
  22. Open Source mobile/desktop Titanium[ Go to top ]

    We're trying to solve the problem by embedding (or linking in mobile) webkit to create native applications for both desktop/mobile and using HTML/JavaScript as the language for building the apps. However, for example on iPhone, you don't sacrifice native features since we expose all the native mobile features to Javascript and compile them into true native apps. You can checkout the code at http://github.com/appcelerator or download it for free at http://www.appcelerator.com. Check out some videos of it in action at http://vimeo.com/appcelerator
  23. Maemo[ Go to top ]

    An interesting "new" platform is Maemo, running on Nokia's Internet tablets and now also on a smartphone, the Nokia N900. Basically it's a Debian Linux distribution, so a lot of Linux apps are at least potentially easily portable. And QT apps especially so. I think Java apps are also supported, at least ME, if not SE. It will be interesting to see how well it catches on with the developer community, at least all the building blocks are there. But of course, currently the easiest way to reach a large audience of mobile users is through mobile-friendly web apps. Native apps reach a much more limited audience.