読者です 読者をやめる 読者になる 読者になる

Titanium for New Developersの質問と回答をコピペする

Titanium Developer


Think Mobile Blog
の初日「Titanium for New Developers」を見てます。
視聴者がスタッフに直接質問して答えをもらえるようになってたので、その質問と回答のログをコピペしときます。あとで余裕があれば訳します。

Q: am i right in saying that inapp purchase is not yet available, can we put some kind of placeholder in the app using titanium then code it in obj-c? - audio is cool
A: You can always add native modules in Obj-C/Java to Titanium and then add JS hooks in Titanium. We did this when we added Facebook Connect and Mapkit

Q: have you been able to get titanium working with the 3.2 SDK beta?
A: Yes, we got that working the day it came out and got Kitchen Sink working in the iPad simulator on day 1

Q: Sorry - I meant is this webinar for titanium for mobile?
A: This will cover both desktop and mobile

Q: is the iPad simulator going to be integrated into the titanium ui (like iPHone and Android)?
A: Yes, after 1.0, iPad is the (nobrainer) next move for Titanium

Q: Q. Any plans for blackberry/webOs support? similar to PhoneGapp
A: Blackberry will be coming up in the next couple months. We'll first introduce iPad (native UI, etc) over the coming few weeks and then turn our attention toward blackberry.

Q: Arrived late, sorry! When will the API documentation be available for 0.9.X?
A: Documentation will be updated for mobile and desktop this Monday

Q: As part of the 0.9 launch has any work been done to expand the codestrong.com documentation? Some features like Contacts support appear to be missing / sparsely documented.
A: We are updating all the documentation for this Monday's release.

Q: Have you had any issues with Apple Store when submitting an iphone app to them? Since this is a bridge (javascript-objective c). Any information on submission quirks is helpful. thanks
A: No, never had an app rejected due to our platform. We're completely compliant.

Q: Is there support for push notifications?
A: Push is enabled in the platform today. The Scoutmob app uses it (in the App Store)

Q: Will there be documentation on performing push notifications?
A: We'll document the API to do it client side, but you'll need to get Urban Airship or another service setup for backend.

Q: Are you going to demonstrate creating a "Hello World" application on this Webinar? To actually walk through the initial steps?
A: We'll have a nice getting started guide put out on Monday for this purpose (your first app). For now, I'd also recommend checking out our zero-to-app videos online: http://www.appcelerator.com/showcase/videos/

Q: Is the coverflow view implimented from scratch or is it using Apple's restricted API?
A: Coverflow is a native Apple API

Q: you mentioned a book is coming. the audio cut and i couldn't listen when this will be available. any dates?
A: It'll be available this Spring. Nolan is writing it in his spare time ;-)

Q: how well does jquery work with Titanium? Or is there another framework you recommend?
A: JQuery wasn't working well with 0.8 (perf issues), but it's working much better in 0.9/1.0. Strongly recommend going native when you can...

Q: Do you have performance benchmarks?
A: We've run some - javascript execution is about 10x what 0.8 was (and any other webview framework, btw). Load times are down from 10-20 seconds to 3 seconds. Transitions should be instantaneous.

Q: am i right in saying that inapp purchase is not yet available, can we put some kind of placeholder in the app using titanium then code it in obj-c? - audio is cool
A: Hey Rob, yes, in-app purchase is not yet available. We are planning to add it shortly after release though.

Q: Is this the Chat area, or is there a separate Chat area?
A: there ought to be a separate chat area in your window as well - we'll get questions through here though.

Q: Will 1.0 have greater feature parity between Android/iPhone? (don't see a separate chat area btw)
A: More support for Android is coming. Some of the items are iPhone only and some are Android only.

Q: When are you going to support android 2.1?
A: Android 2.1 is already supported. What we haven't added support for is version APIs that don't run on earlier platforms.

Q: support for canvas? (javascript or other)
A: Webview has support for canvas. Native canvas support is on our list, but it has not been scheduled.

Q: There seems to be a lot of echo or audio distortion
A: Trying to get his attention on the sound issue.

Q: Will the source still be available for both the community and pro versions?
A: Source will remain open with the Apache License it's under.

Q: That Android kitchen sink version has an extra tab "Mashups" that my Kitchen Sink doesn't have.... Is that going to be in the upcoming release?
A: We removed examples on Android that don't work yet so that it would be less frustrating. As we complete features they'll be re-enabled for Android in KS.

Q: How much of the Kitchen Sink example is common code between iPhone and Android?
A: When Android catches up, it should be 90-95% the same code. There are conditionals for features that don't exist or work the same on the platforms. KS source is available to look through.

Q: Do tableViews and scrollviews have native support for loading remote images on the fly?
A: Short answer: yes. iPhone has a cache, android will be adding one to improve the performance.

Q: Is the kitchen sink application using any JS library in addition to Titanium API?
A: There are a couple of examples that use JS libraries. Mostly they would be of use in your webView.

Q: Ti desktop - is there an example app? is the KS api the same for both?
A: There is currently not an example app for Desktop. KS is mobile specific.

Q: By going 'native' with regards to Javascript do you mean it's better not to use any JS frameworks?
A: JS frameworks would only be needed in your WebView if you want them. Just like traditional web development.

Q: Do you have performance benchmarks?
A: Not currently. I can say for Android the start up time has gone to ~ 750ms to 1s down from 3-4s

Q: Ok, When you say "native", does that mean that anything created with Titanium.UI.xxx creates a native widget? (vs using the javascript libraries are *only* for webviews?)
A: That's correct. All widgets are native unless you create HTML widgets in a webview.

Q: how do you know what app id to enter/create?
A: typically it is a dotted path like com.demo.myapp

Q: Is XML API javascript based or native? If JS, how is performance?
A: In 0.9+ the XML API connects to native libraries on both platforms

Q: support for canvas? (javascript or other)
A: You can do JS canvas, but I'd strongly suggest using native 2D/3D transforms. Check out the Snapost project to see these in action. Native all the way!

Q: on monday will codestrong stop being supported
A: Codestrong will transition to developer.appcelerator.com

Q: It still isn't clear how you can use a common codebase. You either have a "mobile project" or a "desktop project". No way to create a "project" and add resources as appropriate?
A: That's true, but you can leverage the business logic and art assets. We do native app development, so the two need to be managed separately - we're not flash ;-)

Q: does ti apps require web access to function properly
A: No.

Q: How do we go about recieving support from Monday? Do we still use the same channels: support forum/irc or does the paid-for support kick in?
A: Check out this link for information on what offerings we're introducing on Monday. http://support.appcelerator.net/discussions/announcements/287-weve-listened-titanium-10-offering-preview

Q: is there any fuction that insert/read mysql databases?
A: MySQL doesn't run on mobile devices. You'd need to create an API back to your server.

Q: What advantages are there of Titanium-based apps/development over PhoneGap?
A: Well, we're native. There's really no comparison at all now.

Q: When is blackberry support scheduled to be released?
A: I think we're currently saying Q2 2010

Q: When is blackberry support scheduled to be released?
A: Over the next few months. Working on it after 1.0 and iPad.

Q: You provide timer objects?
A: setTimeout/Interval are available.

Q: Are all web REST interactions sync or async? Or both?
A: HTTPClient is async.

Q: Can we make original design custom UI?
A: Absolutely! Use custom native 2D/3D transforms to create any custom UI you want - and have it perform natively.

Q: js in the browser is single threaded (except maybe chrome) is js multi-threaded in titanium?
A: Titanium uses multiple threads internally. There is still only one shared UI thread.

Q: ...and "Sandbox" -- how is that used?
A: Sandbox is for Desktop apps.

Q: I was asking about OpenGL mobile - I realise I didn't make that clear. Is there an OpenGL (ES) for iPhone in the plans?
A: We know there is a demand. I'm not sure when it's scheduled. It's possible on both mobile platforms.

Q: re: testing, Kitchen Sink may be an ok test for Titanium code. I was referring to testing my code and having confidence to release to the app store knowing that my code works.
A: We don't currently have a unit test suite for app developers.

Q: What about the cost of the subscription for using Titanium Mobile?
A: Details will be released on Monday Mar 8.

Q: is there documentation on installing android?
A: Yes, on Codestrong in the mobile HowTo.

Q: Is it possible to write a screensaver with ti?
A: Not currently

Q: Is Ti developer built with Ti?
A: Yes it is.

Q: Is is possible to run methods on differenet threads on Mobile platforms?
A: We're not currently exposing a worker threads, but each window opened with a URL is on a separate thread.

Q: All android apps I have had a chance to work with have a visable progress bar like a web browser. Is it possible to disable that?
A: That is an artifact of 0.8. In 0.9 it's there only if you expose it. In 0.8 you could turn it off.

Q: yeah Home Screen, actually TI generetes a lot of java files I guess is just a matter of modifying them accordingly
A: it's more than that. There are cross process issues that would have to be addressed to do Android home screen widgets.

Q: Is it possible to run a server within Ti mobile to accept incoming connections? I'm thinking node.js :)
A: Not at the moment and it would probably only work if you were on WiFi.

Q: What codec/filetype support is there for streaming video/audio?
A: That's platform/handset dependent.

Q: What source files should we be viewing in the github tree to find the Class definitions for Titanium.UI objects? (sometimes the docs lag, so this would be useful)....
A: http://gitub.com/appcelerator/titanium_mobile branch 0_9_0

Q: any bluetooth capabilites
A: Not in 1.0 as far as I know.

Q: If Dell (for example) has variations of Android tablets, will each have to have separate support in Titanium to be able to build apps for them?
A: If it uses Googles tools, it should work.

Q: Might there be a TItanium bundle for TextMAte for code assist?
A: We haven't created one, but we'd love to see one come out of the community.

Q: Will you be adding a barcode module? (like ZXing?)
A: Not yet, but it's possible with the new module support in Android.

Q: Can background services for Android be developed with Ti?
A: Not currently. But you could extend the Java code and add a module.

Q: Are there ways to query the screen resolution?
A: Yes Ti.Platform.displayCaps

Q: any ways to drag icons in titanium, in a similar way to how icons are dragged around on the home screen
A: There is a demo for that in KS. It's not yet working for Android.

Q: In your opinion would it be feasible to create a VoIP application with Titanium 1.0 (calls over wifi / 3G)?
A: As a front end. You'd have to write native modules for VOIP.

Q: Is there any type of memory management required? Freeing resources, etc?
A: No more so than you'd have to do with JS.

おわた。結構唐突に終わったから最後のQ&Aを取りこぼしてる可能性あり。