2010-11-01 20 views
6

Tôi muốn tạo ứng dụng di động/máy tính bảng có tính năng cốt lõi sẽ chụp ảnh bằng máy ảnh, xem ảnh và nhận thông báo. Ngoài ra tôi muốn nhắm mục tiêu nền tảng iphone, ipad và android.Titanium appcelerator có đáng để phát triển ứng dụng dựa trên máy ảnh trên ipad, iphone và android không?

Nhà sản xuất thiết bị phụ trợ Titanium đã đánh giá cao sự quan tâm của tôi vì sự hấp dẫn trên nền tảng của nó. Tuy nhiên tôi lo ngại vì tôi đã đọc các bài đánh giá hỗn hợp trên SO và các trang web khác. Những điều mà tôi lo lắng là:

  • xoàng xĩnh hỗ trợ android
  • Máy ảnh hỗ trợ không đủ năng lực (ví dụ ios 4.1 HDR khả năng)
  • Máy ảnh hỗ trợ buggy

Kịch bản ác mộng đối với tôi sẽ là để đầu tư thời gian vào titan chỉ để khám phá sau đó là một PITA chính của nó và thả nó và đi "bản địa"

Hãy chia sẻ suy nghĩ và kinh nghiệm của bạn.

Trả lời

3

Hỗ trợ Android không ở mức tốt như đối với iPhone. Nếu bạn chỉ nói iPhone tôi sẽ nói bạn sẽ có may mắn bằng cách sử dụng Titanium. Tuy nhiên, tôi nghĩ rằng cố gắng xây dựng một cơ sở mã trong Appcelerator và cũng sử dụng trong môi trường Android của bạn có thể không phải là trải nghiệm tốt nhất.

Điều đó nói rằng, IMO làm mã Android/Java dễ dàng hơn nhiều so với thực hiện công việc Objective C/iPhone.

Vì vậy, trường hợp xấu nhất tôi sẽ xem xét việc sử dụng Titanium cho phiên bản iPhone của bạn & làm Android trong Java.

Bạn có thể cung cấp cho nó một shot làm cả hai trong Titanium, nhưng trường hợp xấu nhất mã phiên bản Java.

Tôi chỉ ghét mục tiêu C và môi trường phát triển Apple 'bản địa' rất nhiều.

+0

tôi có nền tảng java nặng nên tôi đồng ý với bạn. Mục tiêu của tôi là giảm thời gian phát triển tổng thể vì vậy nếu tôi đi với titan tôi sẽ đạt được mục tiêu này? –

+0

Đối với mỗi của riêng mình, bởi vì tôi không quan tâm nhiều đến Java, Eclipse và một số quyết định thiết kế được thực hiện trong SDK Android. Tôi làm việc hiệu quả hơn trong Cocoa/Cocoa Touch, với các công cụ phát triển của Apple, hơn bất kỳ môi trường nào khác mà tôi đã làm. Tuy nhiên, tôi đồng ý với ý kiến ​​của bạn rằng phát triển bản địa trên Android là cách để đi, theo cùng cách tôi cho rằng đó là việc cần làm cho iPhone. –

+0

@numes Tôi nghĩ rằng nếu bạn không quen thuộc với Cocoa & Objective C và bạn không cố gắng để làm cho bất cứ điều gì ridiculously điên hơn Titanium nên làm điều đó. Khuôn khổ của họ cho iPhone/iPad là khá damn tốt và bạn đang sản xuất khá nhiều ngay lập tức. –

2

Tôi đã phát triển một ứng dụng máy ảnh dựa trên Appcelerator và rất hài lòng với ứng dụng này. Tôi nghĩ rằng một số các đánh giá tiêu cực đến từ thực tế là nó là một chút khó khăn để có được thiết lập (nhiều hơn do quá trình đăng ký phát triển điên của Apple).

Khi tôi bắt đầu, thật dễ dàng để thực hiện những việc như lớp phủ ở phía trên cùng của màn hình camera. Tôi đã thực sự mong đợi khó khăn với phần đó, nhưng nó hoạt động tốt.

Tôi đã nói chuyện với nhóm Appcelerator trong quá khứ và họ là một nhóm tuyệt vời để làm việc cùng. Tôi đã nhìn thấy chúng được đáp ứng với các vấn đề người dùng khác, và tôi tin tưởng rằng nếu tôi chạy qua một lỗi thực sự, họ sẽ giải quyết nó một cách nhanh chóng.

+0

tim, bạn có nhắm mục tiêu android không? nếu có, kinh nghiệm của bạn (đặc biệt là với máy ảnh) là gì? –

+0

Phần đó đang được tiến hành, nhưng đối với một sự hiểu biết thực sự tuyệt vời về những gì bạn sẽ giải quyết, hãy nhìn vào ứng dụng Kitchen Sink mà họ cung cấp. Nó bao gồm mọi tính năng mà họ hỗ trợ (cho cả hai nền tảng) và bạn có thể xem qua mã để xem chính xác cách hoạt động của nó. Sau một tài liệu hướng dẫn nhanh và một ứng dụng Hello World đơn giản, Kitchen Sink sẽ bao gồm mọi thứ bạn cần, và bạn sẽ hiểu tại sao tôi không quan tâm đến rủi ro :) https://github.com/appcelerator/KitchenSink và http://pages.appcelerator.com/ZTAKitchenSink.html –

3

Tôi khuyên bạn không nên sử dụng bộ công cụ đa nền tảng khi tương tác với phần cứng thiết bị là một trong những yêu cầu quan trọng của ứng dụng của bạn. Tôi chưa từng làm việc với Titanium trước đây, nhưng tôi thấy thật khó để tin rằng họ sẽ cung cấp cho bạn cùng một mức truy cập phần cứng mà bạn nhận được với các khung công tác gốc.

Cụ thể, iOS 4.0 đã thêm một loạt các khả năng mới liên quan đến máy ảnh, bao gồm xử lý khung hình video trực tiếp thông qua AVFoundation và tôi thấy khó tin rằng khung bên thứ ba sẽ tiếp tục. Thành thật mà nói, nó khá dễ dàng để viết một ứng dụng tương tác với máy ảnh trên iPhone hiện nay (đếm số lượng chúng trên App Store như một chỉ báo về điều này). Tôi đã viết một ứng dụng xử lý khung máy ảnh trực tiếp trong khoảng sáu giờ ngày hôm trước.

Tôi không thể nói cho Android, nhưng tôi cho rằng giao dịch với máy ảnh là khá tầm thường khi sử dụng API gốc tại đó.

Bạn cũng sẽ tìm thấy thử nghiệm hiệu suất và gỡ lỗi ứng dụng của mình để dễ dàng hơn nhiều bằng cách sử dụng các công cụ gốc so với các công cụ được cung cấp thông qua bên thứ ba. Đặc biệt, Apple Instruments là một ứng dụng cực kỳ mạnh mẽ nhưng dễ làm việc với việc theo dõi các vấn đề về CPU và bộ nhớ trong ứng dụng của bạn.

Ngoài ra còn có khía cạnh cộng đồng. Bạn sẽ tìm thấy xa, nhiều người làm việc trên Android và Cocoa Touch hơn trên Titanium (chỉ cần nhìn vào số lượng câu hỏi trong các thẻ khác nhau trên Stack Overflow để thấy điều đó). Điều này có nghĩa là nhiều hướng dẫn hơn và nhiều mã mẫu hơn mà bạn có thể sử dụng.

Thời gian bạn dành để thiết lập môi trường xây dựng iPhone và Android và gửi cho cả hai cửa hàng, sẽ không thay đổi gì nếu bạn đi với môi trường gốc hoặc với Titanium.

Cuối cùng, ngay cả khi học cả hai nền tảng, tôi nghĩ bạn sẽ đi trước bằng cách tránh một giải pháp đa nền tảng. Tôi tin tưởng, tôi đã cố gắng phát triển nhiều nền tảng trước cho các dự án khác và kết thúc với các sản phẩm mẫu số chung thấp nhất mất nhiều thời gian hơn để viết.

+1

Tôi không nghĩ rằng việc xem xét Stack Overflow cho các câu hỏi liên quan đến Titanium sẽ phản ánh chính xác mọi thứ. Tôi đồng ý rằng số lượng các nhà phát triển Titanium tuyệt đối nhỏ hơn, nhưng Appcelerator tổ chức diễn đàn và diễn đàn của riêng họ, và tôi tin rằng đó là nơi mà hầu hết chúng ta đăng câu hỏi (so với Stack Overflow) khi nói đến Titanium. – chrisrbailey

+0

@chrisrbailey - Stack Overflow có thể là một nơi không công bằng để so sánh, bởi vì nó đã trở thành một nguồn tài nguyên chính cho các nhà phát triển iPhone và Android. Tuy nhiên, tôi vẫn giữ rằng phần lớn các nhà phát triển iPhone hiện có đang sử dụng Cocoa Touch. Trong tất cả các nhà phát triển tôi đã gặp ở WWDC và các hội nghị khác, không ai sử dụng Titanium, một số ít sử dụng MonoTouch, và tất cả những người còn lại đều sử dụng Cocoa Touch thuần túy. Tôi dựa vào những người này như mạng lưới hỗ trợ của tôi, cũng như các kỹ sư của Apple, không ai trong số họ cung cấp hỗ trợ Titanium. –

+0

Ồ, tôi đồng ý rằng Titanium vẫn còn rất nhỏ liên quan đến tổng số lựa chọn công cụ không gian ứng dụng dev. Tôi chắc chắn CocoaTouch là 99% +. MonoTouch, cậu bé, tôi muốn được quan tâm để xem có bao nhiêu sử dụng nó. Titanium tuyên bố hơn 6000 ứng dụng, nhưng bao gồm cả Android. Họ có một số ứng dụng lớn trong App Store như Get Glue. Nhưng vâng, nó vẫn là một người chơi nhỏ. Điều đó không có nghĩa là nó không phải là một cái gì đó để xem xét. Có một vài công ty tư vấn thực hiện tất cả các ứng dụng dành cho thiết bị di động của họ trong đó (ví dụ: tôi biết): Intridea và Rigel Group chẳng hạn. – chrisrbailey

14

Tôi đã chọn Titanium cho ứng dụng nghiêm túc, mặc dù một ứng dụng không sử dụng máy ảnh. Tôi nghĩ rằng có rất nhiều thứ có thể chơi theo quyết định của bạn ...

Nếu ứng dụng của bạn dự định làm những thứ "lạ mắt" với máy ảnh, hoặc một số xử lý hình ảnh nặng và v.v. tắt đi bản địa. Nếu mặt khác, bạn chỉ muốn có nó chụp ảnh, và sau đó những người sẽ được sử dụng như là, hoặc gửi đến một máy chủ, hoặc những gì không, sau đó Titanium nên làm việc tốt. Titanium có một số xử lý và thao tác hình ảnh, nhưng như những người khác đã nói, nếu bạn thực sự muốn tận dụng lợi thế của phần cứng của thiết bị, bạn có thể muốn đi bản địa đầy đủ.

Cũng cần lưu ý và Appcelerator cũng nói điều này, với ứng dụng Titanium, bạn sẽ không chỉ viết một ứng dụng duy nhất hoạt động như trên tất cả các thiết bị. Bạn sẽ cần phải chuyển giao giao diện người dùng cho từng thiết bị (hoặc lớp thiết bị, ví dụ: iPhone, Android), vì chúng có giao diện người dùng khác nhau và các luồng giao diện người dùng chuẩn khác nhau, v.v.

Nhưng, một trong những lợi thế tiềm năng đối với Titanium là nếu bạn không biết Objective-C và/hoặc Java và bạn biết JavaScript (và trong trường hợp của tôi, tôi thực sự đang sử dụng Coffeescript :). Hoặc, nếu bạn thích công việc của mình thì viết JS nhiều hơn ObjC/Java. Đây là một trong những lý do chính cho tôi. Tôi đã làm một số ObjC dev trong quá khứ, và thậm chí không nhớ nó, nhưng dự án này tôi đang làm là trên một lịch trình rất rất tích cực, và nó đã được chỉ có được hiệu quả hơn cho tôi để sử dụng Titanium. Tôi đã có thể thiết lập và xây dựng một ứng dụng cực kỳ nhanh chóng và tôi không mất nhiều thời gian để làm quen với ngôn ngữ lập trình tôi đang sử dụng, bit quản lý bộ nhớ (bạn hoàn toàn không thể bỏ qua điều này với Titanium, nhưng về cơ bản họ đang làm điều đó cho bạn). Dựa trên những người tôi đã nói chuyện, và thời gian họ dành cho việc quản lý bộ nhớ, các vấn đề của Interface Builder (điều này chủ yếu là dễ quên cài đặt kết nối hoặc móc nhiều thứ, IB thực sự là một công cụ tuyệt vời), và như vậy, tôi khá vui vì tôi đang sử dụng Titanium.

Trong khi tôi dự kiến ​​sẽ làm một phiên bản Android tại một số thời điểm, nó không phải là một ưu tiên. Nhưng, tôi vui mừng khi biết rằng một đoạn lớn mã ứng dụng của tôi sẽ có thể sử dụng lại, thử nghiệm, v.v. và tôi sẽ chủ yếu chỉ xây dựng/sửa đổi giao diện người dùng cho Android, không viết lại mã mạng, quản lý dữ liệu , v.v. Hỗ trợ Android sẽ tốt hơn nhiều (được cho là) ​​trong Titanium 1.5, nhưng bạn có thể muốn chờ bản phát hành đó đánh giá Android nếu đó là ưu tiên.

Cuối cùng, Titanium có hệ thống "mô-đun", cho phép bạn bao bọc mã gốc, hiển thị mã đó dưới dạng giao diện JavaScript trong Titanium. Chúng tôi sắp tận dụng điều này để tích hợp thư viện của bên thứ ba và ít nhất là đối với những gì chúng tôi cần, có vẻ rất dễ sử dụng và đã cho tôi thêm tự tin rằng nếu một số tính năng cụ thể mà chúng tôi cần truy cập chúng tôi muốn có một cơ hội tốt để tích hợp trong khi vẫn sử dụng Titanium, nhưng tôi nghĩ rằng nó sẽ phụ thuộc vào những gì các chức năng bản địa cụ thể được.

Chúc bạn may mắn và thích xây dựng một ứng dụng dành cho thiết bị di động, nó khá thú vị!

+0

Bạn tạo ra những điểm tốt về Titan như một nguồn tài nguyên tuyệt vời cho những người có kỹ năng phát triển web.Đây là cách nó đã được trình bày tại C4, và tôi có thể thấy những lợi thế cho các nhà thiết kế hoặc các nhà phát triển với nền tảng mạnh mẽ trong công nghệ web. Tôi vừa mới bị đốt bởi bộ công cụ đa nền tảng trong quá khứ. –

2

Một chút muộn, nhưng hai xu của tôi ...

Tôi thành thật tin rằng bạn có thể rất nhanh chóng chế tạo thử nghiệm một ứng dụng với Titanium Appcelerator và tập trung vào các tính năng quan trọng đặt ra để xác định xem nó là công cụ thích hợp cho bạn.

Tất cả các nhà phát triển đều có ý kiến ​​và kinh nghiệm có ảnh hưởng đến các nhận xét đó; các nhà phát triển có những cách học tập khác nhau và các mức năng suất khác nhau ... Cuối cùng, nó đi xuống đến mức nào bạn làm việc hiệu quả nhất với các công cụ có sẵn cho bạn.

Vì bạn đang nói từ đầu rằng bạn muốn cung cấp giải pháp cho nhiều nền tảng, tôi nghĩ rằng đó sẽ là một quyết định tồi tệ về phía bạn thậm chí không dành một hoặc hai tuần điều tra khung nền tảng và sau đó thực hiện quyết định dựa trên kinh nghiệm cá nhân của bạn.

Titanium Appcelerator và đó cũng là PhoneGap, nơi PhoneGap có thể giúp bạn là có khả năng mở rộng/tăng cường khuôn khổ cơ bản thông qua văn bản bổ sung (I wrote one for iphone) và có một một android trên blog của tôi cũng ... điều này có thể lấp đầy khoảng trống thiếu cho bạn khi bạn di chuyển trên nền tảng.

Cũng vì giao diện người dùng trong giải pháp khoảng cách điện thoại dựa trên HTML5 Webkit, nó có thể cung cấp cho bạn giao diện nhất quán trên các thiết bị nếu bạn muốn. Các khung như jQTouchJQuery Mobile đang được sử dụng cho UX với PhoneGap Ứng dụng

+0

Bài đăng này là cũ, nhưng vì rất nhiều người đã xem nó, tôi nghĩ rằng tôi sẽ cập nhật phản hồi của tôi, trước hết câu trả lời là CÓ và chúng tôi đã làm điều đó, hãy xem ứng dụng chúng tôi xây dựng tại đây https://itunes.apple. com/us/app/snapdash/id599657092? mt = 8 –

8

Chúng tôi đã sử dụng Titanium trong một trong các dự án của chúng tôi trong khoảng 2 tháng và thực sự nói rằng trải nghiệm của chúng tôi với Titanium quá xấu.

Theo quan điểm của tôi, dưới đây là một số nhược điểm chính của Titanium:

1) Điều đầu tiên là bạn sẽ không nhận được hỗ trợ tại tất cả gỡ lỗi (Chúng ta có thể hiểu làm thế nào gỡ lỗi yêu cầu trong bất kỳ dự án và trong bất kỳ các công nghệ).

2) Titanium KHÔNG hỗ trợ đầy đủ tất cả các tính năng của Android/iPhone; ngoài mức độ nào đó nó sẽ không hỗ trợ bạn.

3) So sánh với Android/iPhone SDK, nhà phát triển sẽ nhận được số tiền trợ giúp rất ít từ thư viện internet và API (Titanium cung cấp tệp trợ giúp thư viện API).

Đây là những vấn đề chung mà các nhà phát triển phải đối mặt trong khi giao dịch với Titanium và tôi cho rằng đôi khi nó sẽ là công việc tẻ nhạt và bực bội cho họ.

Nếu chức năng của ứng dụng của bạn hơi giống như hiển thị dữ liệu từ web (như nhiều tin tức, ứng dụng loại phương tiện) thì Titanium là lựa chọn phù hợp; nếu không thì không.

1

Có ai đã đánh dấu chi phí giảm giá titan.

Tôi đã liên hệ với họ hôm nay và nếu bạn có nhiều hơn một ban nhạc, bạn phải đăng ký chương trình đối tác khác, bạn phải chịu trách nhiệm về việc ký hợp đồng nếu bạn phát hành ứng dụng.

Chương trình đối tác là 5000 đô la và chúng tôi hiện đang tìm kiếm một tùy chọn khác ngay bây giờ.

2

Tôi đã xem xét phản hồi tiêu cực đối với Titanium Appcelerator nhưng tôi đồng ý với Aaron Saunders rằng nếu bạn sử dụng Phát triển PhongeGap, có thể dễ dàng tạo ứng dụng cho iPhone, iPad và Android dành cho thiết bị di động.