Đã cập nhật (để rõ ràng và giảm sự mơ hồ):
Tôi sẽ bắt đầu mày mò với các ứng dụng Android. Tôi đã dự định viết bằng C ++ bằng NDK (vì tôi có nhiều kinh nghiệm hơn về C ++ và thích nó hơn Java) nhưng lại gặp phải những điều sau trên trang NDK của Android :
bạn chỉ nên sử dụng NDK nếu nó cần thiết cho ứng dụng của bạn— không bao giờ vì bạn chỉ thích lập trình bằng C / C ++.
Tôi có ấn tượng rằng bạn nên sử dụng ngôn ngữ mà bạn thích, miễn là nó phù hợp với công việc. Ai đó có thể giải thích tại sao rất nhiều người khuyên không nên sử dụng C / C ++ để phát triển Android?
Nguyên:
Tôi sẽ bắt đầu mày mò với các ứng dụng dành cho thiết bị di động, cụ thể là android, là hệ điều hành của điện thoại hiện tại của tôi và tôi đã tự hỏi liệu viết ứng dụng bằng C ++ (hoặc ít nhất là lõi, sau đó gói bằng Java) có phải là một lựa chọn chấp nhận được không.
Thông tin cơ bản, tôi là sinh viên chuyên ngành khoa học máy tính, đã học 3 khóa học C ++ (giới thiệu, trung cấp, OOP và đang tham gia một khóa học STL vào mùa xuân) và chỉ 1 khóa học Java (trung cấp). Vì điều này, tôi cảm thấy thoải mái hơn với C ++ và thích nó hơn Java. Tôi đã xem những điều sau trên trang NDK của Android :
Sử dụng mã gốc trên Android thường không dẫn đến cải thiện hiệu suất đáng chú ý, nhưng nó luôn làm tăng độ phức tạp của ứng dụng của bạn. Nói chung, bạn chỉ nên sử dụng NDK nếu nó cần thiết cho ứng dụng của bạn— không bao giờ vì đơn giản là bạn thích lập trình bằng C / C ++.
- Tôi có ấn tượng rằng bạn nên sử dụng ngôn ngữ phù hợp với công việc cũng như ngôn ngữ bạn quen thuộc
- Tôi có thể muốn chuyển ứng dụng sang một nền tảng di động khác, chẳng hạn như iOS, hỗ trợ C ++ nhưng không hỗ trợ java
- Mặc dù Java là một ngôn ngữ cấp cao và do đó sẽ làm cho việc phát triển nhanh hơn, nhưng tôi cảm thấy rằng sự phát triển sẽ chậm hơn vì tôi sẽ phải học lại hầu hết mọi thứ (vì tôi chỉ học một lớp về ngôn ngữ này)
Bất kỳ lời khuyên sẽ được đánh giá cao.
ps: nhiều câu trả lời về chủ đề này là từ nhiều năm trước và có rất ít câu trả lời tiếp theo đề cập đến NDK cho phép phát triển các ứng dụng gốc đầy đủ trên Android 2.3 và mới hơn.