Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am doing some research on SmartTV development right now and the topic seems very very fragmented.
I mean:
If you want to develop a android app, you get eclipse and the android sdk.
If you want to develop for iphone, you get xcode.
But SmartTV?
There is a Samsung SDK, a LG SDK, Google TV, a SmartTV Alliance SDK...
So what should I choose?
Especially if i want to
write once, run everywhere
enjoy mature development environment and tools
If you want to write once... you should choose the "The App Engine" but it's not free, it costs 48.000$/year with a max of 8 apps developed.
The second option is the SmartTV Alliance SDK.
The most mature SDK is the Samsung one, the LG one is good too but support from the manufacturer is not so good.
HTML is surely the best promising technology but we should consider that the market is very fragmented now. The first manufacturer/platform that obtains an important role will own the entire (and growing) market.
Actually the best options (in my opinion) are:
- PlayJam: they have a big experience and they're the most advanced platform today, they're partnering Steam too
- Google TV: it could become the Android of TVs... indeed, it's an Android-powered OS and LG, Samsung, Sony and Vizio already have a GoogleTV-device, Philips will add itself soon to the list.
So far the only two options are Adobe AIR and HTML, what do you have to develop?
We're developing some casual games and we use Adobe AIR
http://www.youtube.com/watch?v=0e8cmy1Vmic
http://www.noriste.com/lg-smarttvs-adobe-air-3-0-and-app-test/
Some (maybe obvious) links:
Samsung SDK - supports Java, HTML, Adobe AIR - samsungdforum.com
LG SDK - supports HTML, Adobe AIR, Unity - developer.lgappstv.com
Google TV SDK - supports Java, HTML, Adobe AIR, Unity - developers.google.com/tv/android
SmartTV Alliance SDK (LG, Sharp, Philips) - supports HTML - smarttv-alliance.org
NetTV SDK (Sharp, Philips) - supports HTML - yourappontv.com
Roku SDK - supports C++, Unity - roku.com/developer
PlayJam SDK - supports Adobe AIR, runs on LG and Samsung (they'll support HTML) - playjam.com
TV App Engine - supports HTML and converts apps into native ones - tvappagency.com
Marmalade - supports C/C++ and integrates the PlayJam APIs - madewithmarmalade.com
Yahoo Connected TV - supports HTML - connectedtv.yahoo.com/developer
Opera TV - supports HTML - dev.opera.com/tv
We are developing cross-plaform. It is all about the experience. Once you finish 2 or 3 applications you are aware about the differences between Samsung, LG, Sony, Philips and Panasonic and you can work with that. Of course the QA process and testing on TVs is different chapter - we have 30 TVs for testing only.
On the other side we have 30 Android phones as well, so comparing Android and SmartTV fragmentation I do not see that big differences, same situation was on Symbian, similar issues you have across different web browser versions or even iOS versions.
It is nothing that should scary or stop you.
BR
Petr
www.mautilus.com/blog
Try BBC Tal frame work, its open source and supports most of the smart tv
http://fmtvp.github.io/tal/getting-started/introducing-tal.html
Building Android TV Apps
Android offers a rich user experience that's optimized for apps running on large screen devices, such as high-definition televisions. Apps on TV offer new opportunities to delight your users from the comfort of their couch. More...
Dependencies and Prerequisites
Android 5.0 (API level 21) or higher
Android Studio 0.8 or later and Gradle 0.12 or later
Building Apps for TV more detail here..
Related
We have a peculiar problem if anyone has run into anything similar. We have a fairly large mobile app, built with Apache Flex 4.10 and Air 3.8. Runs beautifully on iOS. Screens are quick to load, scrolling is smooth and the app is almost desktop like. However, on an Android device, it runs painfully slow. Same codebase, both modern devices, everything same. It takes about 4 times as long to run on android as on an iOS device. Any ideas?
The issue turns out is specific to Galaxy Tab 3 10.1. Same app runs significantly faster on a much older beat up Samsung Galaxy Note 2.
Other folks are running into the same issue. (http://forums.adobe.com/message/5773513) . This device ships with an Intel based chip. Air is not supported on Intel x86 based Androids (atleast from their tech specs) http://www.adobe.com/products/air/tech-specs.html
===============
Android
ARMv7 processor with vector FPU, minimum 550MHz, OpenGL ES 2.0, H.264 and AAC HW decoders
Android™ 2.3 and above
256MB of RAM
===============
Really not sure what other folks are doing to combat this, The galaxy tab is probably going to be among the most popular Android devices this holiday season. Does anyone have a similar experience?
When an AIR app is exported to iOS, it is compiled to native code. The Android version is compiled to the AVM bytecodes and is interpreted. This is probably the difference in performance.
I know there have been some requests to compile AIR apps to native Android code, no idea what plans are in place for this.
When you access PlayN's site you see that PlayN's logo uses Google colors: http://code.google.com/p/playn/
Also, Lilli Thompson talked about PlayN at New Game Conference in 2011 as a Google game developer advocate. http://www.youtube.com/watch?feature=player_detailpage&v=iK9Xl58IxKw&t=4 (I haven't watched the video.)
But she's not at Google anymore (http://plus.google.com/111647958621817995641/posts/EVptyYGHSfd and http://twitter.com/lillithompson/status/183299616647811072)
However, When you visit https://developers.google.com/games > Web games or > Mobile Games, there's no reference to PlayN. You find Android development, which links to http://developer.android.com/sdk/index.html. There's a Google Play Game Services (GPGS) too, that offers social features (achievements, multiplayer, leaderboard) for game development for Android, iOS and Web (http://developers.google.com/games/services). There are "Getting started" tutorials for GPGS for each platform (Android, iOS, Web). No PlayN, which compiles to these three platforms plus Java desktop.
So, is PlayN really supported by Google? Or was it once, and now the community is by itself?
Playn is a community supported project, and i suspect always will remain such. Google had a hand in making it, but their contribution recently has been waning. But it doesn't mean the project is dying or anything.
Ive tried asking on the blackberry forums with no luck... Maybe there are some Blackberry/Adobe experts here...
Im just about to start a project using Adobe AIR/flex for the Blackberry Playbook, I have a few questions:
If I develop an application for the playbook, will the same application be able to run on a desktop? If so will there be any differences?
What is the difference between the desktop and mobile libraries? Can I only access a subset of the SDK on the mobile device compared to the desktop?
Can I create a playbook application that can call methods to a JAVA back end, located on my server?
Thanks
Phil
What’s different about developing a
mobile application versus a web or
desktop application? While many
existing Flex concepts and patterns
carry over directly to mobile
development, developers will need to
take into account the differences in
interaction patterns, screen real
estate, and performance
characteristics of mobile devices
compared to desktop computers. As a
result, we recommend using the new
mobile features in Flex to craft UIs
specific to mobile devices, while
sharing underlying model and data
access code with your desktop or web
application. Additionally, we
recommend certain best practices when
developing mobile applications with
Flex, such as using ActionScript and
FXG rather than MXML for creating item
renderers and skins.
Taken from http://labs.adobe.com/technologies/flex/mobile/faq.html#differences
As per my usual qualifying statement: I haven't tried this. Since this is of some interest to me and I've got a bit of free time I'll give making a hero app and running it as a desktop app versus as a mobile app a shot and post back here once I have it working or find a wall.
The runtime: Adobe AIR 2.5 on mobile
devices The initial versions of the
mobile development features in "Hero"
and "Burrito" are targeted at creating
standalone installed applications
using the Adobe AIR runtime for mobile
devices. By focusing on AIR, Flex can
take full advantage of the integration
AIR provides with each mobile
platform, such as the ability to
handle hardware back and menu buttons
and to access local storage.
Running on AIR Finally, it's important
to realize that in addition to all the
mobile Flex components listed above,
you can also directly take advantage
of all the APIs that are available in
AIR on mobile devices—geolocation,
accelerometer, camera integration, and
so forth. While some of these features
are not exposed as Flex components,
they are easy to access directly using
ActionScript. For more information on
developing using the APIs provided by
AIR on mobile devices, see AIR mobile
docs.
http://www.adobe.com/devnet/flex/articles/mobile_development_hero_burrito.html
Basically it's looking like the answer to all the questions is positive.
Yes and likely yes. (as they re-iterate throughout anything I've found on the topic the controls in Hero were made specifically for touch, taking into consideration the fat finger vs the mouse pointer, my guess is it will render slightly differently on the desktop and it's best to actually develop the UIs separately, although the web-services/model can be combined into a shared library/project)
You should have access to everything provided to the desktop (plus info from GPS/accelerometer etc., but obviously wouldn't get those on desktop), but don't have nearly as good a processor so what will work on the desktop may not on a lower performance computing device, but for low resource consumption tasks this shouldn't be a worry.
Yes this is a core feature of Flex, I don't see how it would be possible to make a (useful) RIA without web services. For confirmation on this one look no further than Adobe TV: http://tv.adobe.com/watch/adc-presents/flex-mobile-part-1-beginning-a-mobile-application/ <-- that app is using a web service (doesn't really matter to Flex what the underlying server technology is so long as it can make HTTP requests against it, RemoteObject/AMFService should serve your purpose)
If I develop an application for the
playbook, will the same application be
able to run on a desktop? If so will
there be any differences?
Depends. the Air file for both desktop and Playbook is exactly the same, however for Playbook development, RIM has provided an Air library so that Flex developers can take advantage of the hardware further than just the normal Air capabilities. With that said, if your application is dependent on that extra library, it will not work on desktop.
What is the difference between the
desktop and mobile libraries? Can I
only access a subset of the SDK on the
mobile device compared to the desktop?
Desktop and mobile libraries? Do you mean the Playbook Air Library or something else? See above for the latter. Comment on this if you can clarify.
Can I create a playbook application
that can call methods to a JAVA back
end, located on my server?
Yes, you can, as long as you have internet connectivity on the Playbook.
What exactly does a mobile need to be able to run JavaFX? Can it run on any mobile that supports specific JSRs or does it have to be installed by the manufacturer?
Links
What platforms JavaFX is/will be supported on? - Doesn't go into any detail about specific mobile platforms
JavaFX/Mobile Devices - This question (February 2009) says that although manufactor support is preferred, many MSA-compliant phones will be able to handle an over the air player
It has to be installed by the manufacturer.
For development purposes you can use the developer stack for Windows Mobile.
http://javafx.com/downloads/all.jsp
I've a Samsung Omnia i900 that runs Windows Mobile OS. Believe it or not, but nowhere on the Internet can I find information on running a JavaFX application on it. Is it possible?
JavaFX Mobile is now available in Early Access for Windows Mobile devices. You can download the binary from javafx.com.
As far as I can tell, JavaFX Mobile hasn't been released. Some of the pre-release tools worked on Windows Mobile (judging by some blog posts) but that support was dropped from the 1.0 release.
JavaFX 1.1 is meant to have Windows Mobile support, but it looks like that's on the development side rather than on real devices - the fact that there's a mobile emulator as one of the key features for JavaFX 1.1 is quite telling.
According to the FAQ:
2.4 How can consumers get JavaFX on their handsets?
Sun is working with Mobile Device
Manufacturers and Mobile Operators to
enable out of the box support for
JavaFX content by preloading the
JavaFX Mobile runtime with their
devices
That doesn't exactly sound encouraging for being able to get it on your handset right now. I may be missing something, but I certainly couldn't find anything to download...