Trên Blog phát triển Google Android mới đây tuyên bố, người dùng đã có thể tải về gói phát triển phần mềm (SDK) tự nhiên cho HĐH Android. Do trước SDK còn có từ “Native” (tự nhiên), vì vậy còn được Google gọi là "NDK".

Trước đây, phần mềm ứng dụng thứ 3 của HĐH Android đều dựa trên Dalvik của Java tạo máy ảo để phát triển. Việc công bố NDK cho phép các nhà phát triển có thể tiếp cận trực tiếp với tài nguyên HĐH Android, sử dụng những ngôn ngữ lập trình truyền thống như C hoặc C++, và có thể nhúng trực tiếp các file nguyên sinh vào file đóng gói (.apks).

Nhưng Google cho biết, sử dụng NDK so với máy ảo Dalvik cũng có một số vấn đề khó khăn, ví dụ như phần mềm càng phức tạp hơn, tính tương thích không được bảo đảm, không thể duyệt Framework API, mức độ khó Debug cao hơn... Các nhà phát triển hãy cân nhắc trước khi sử dụng.

Địa chỉ tải về http://developer.android.com/sdk/ndk/1.5_r1/index.html

Thanh Quang (Theo Mydrivers)



Bình luận

  • TTCN (15)
Bùi Anh Tuấn  624

Google công bố gói phần mềm phát triển nguyên sinh Android 1.5

Chỗ này không ổn rồi!

Việc công bố NDK cho phép các nhà phát triển có thể tiếp cận trực tiếp với tài nguyên HĐH Android, sử dụng những ngôn ngữ lập trình truyền thống như C hoặc C++, và có thể nhúng trực tiếp các file nguyên sinh vào file đóng gói (.apks).

Đọc đoạn trên thì phải biết cần dịch native như thế nào rồi!

Bùi Anh Tuấn  624

Bác Thanh Quang dịch bài này từ nguyên gốc tiếng Hoa, có vẻ gặp khó khăn khi chuyển tải từ Native nhỉ?

Hải Nam  30903

Ủa sao bị cache lâu thế nhỉ? Bài này đăng ngày 27/6, thì chiều hôm đó đã sửa tiêu đề giống hiện nay rồi mà.

Chữ “native” có lâu rồi nhưng chưa thấy ai dịch hết. TQ họ dịch là “nguyên sinh” hay đấy, nhưng lạ tai (theo nghĩa “rừng nguyên sinh”?), nên sửa thành “tự nhiên” cho nó quen.

Bùi Anh Tuấn  624

"tự nhiên" hay "nguyên sinh" cũng đều không ổn!

native ở đây là "truyền thống", ngầm ý nói rằng bộ SDK này hỗ trợ các ngôn ngữ lập trình truyền thống như C, C++

và tiêu đề phải dịch là "...SDK hỗ trợ các ngôn ngữ lập trình truyền thống..."

Bùi Anh Tuấn  624

TQ họ dịch là “nguyên sinh” hay đấy, nhưng lạ tai (theo nghĩa “rừng nguyên sinh”?), nên sửa thành “tự nhiên” cho nó quen.

Bác Nam có vẻ tôn thờ hàng China nhỉ? Dịch như thế mà bác khen là hay? Với tớ: như thế chẳng là cái đinh gì! Hàng China cũng bèo thôi!

Bùi Anh Tuấn  624

Ồ! Xem lại thì truyền thống cũng không ổn nốt! Vậy nó là gì nhỉ?

Bùi Anh Tuấn  624

native code = mã riêng (chạy trực tiếp thông qua tập lệnh của một bộ vi xử lí riêng biệt) (C, C++)

native code

Also referred to as native language, programming code that is written to run on a specific processor using that processor’s instruction set. In order for that program to run on a different processor than the one intended by the native code, the code must be run through an emulator software program that instructs the computer to mimic the processor the native code is meant for.

Contrast with bytecode.

và trái ngược với
bytecode= mã chạy thông qua máy ảo (Java)

Programming code that, once compiled, is run through a virtual machine instead of the computer’s processor. By using this approach, source code can be run on any platform once it has been compiled and run through the virtual machine.

Bytecode is the compiled format for Java programs. Once a Java program has been converted to bytecode, it can be transferred across a network and executed by Java Virtual Machine (JVM). Bytecode files generally have a .class extension.

Vậy thì từ native ở đây, trong NDK, có nghĩa là "mã riêng" rồi.

Bùi Anh Tuấn  624

Nguồn: native code

Trần Nguyễn Hữu Tuấn  312

Mình thấy chữ "native" trong CNTT thường dịch là "thuần tuý".

Hải Nam  30903

native code dịch là mã riêng, mã gốc thì “native“ dịch là gì? “SDK riêng”?

Chữ “mã thuần tuý” cũng chưa nghe ai nói bao giờ luôn!

Đỗ Thanh Quang  1422

Xin cám ơn bạn Bùi Anh Tuan đã quan tâm đến bài viết.
Thực ra từ "Native" trong trường hợp này ban đầu được viết là (phần mềm nguyên sinh). Tôi cũng đã phân vân nên dùng từ "tự nhiên" hay "nguyên sinh" (Theo cách nói của người Trung Quốc). Sau đó đã được BTV sửa thành "tự nhiên".
Từ Native cũng có nghĩa là: tự nhiên, ban đầu, nhưng từ (nguyên sinh) ở đây còn có hàm nghĩa là ban đầu và là phần mềm gốc. Trong tiếng Việt từ "tự nhiên" thì không đủ nghĩa như từ "nguyên sinh". Còn từ "nguyên sinh", mặc dù nghe chưa thuần việt nhưng vẫn sử dụng như: Rừng nguyên sinh, động vật nguyên sinh...
Bạn có thể tham khảo thêm một số cụm từ trong tiếng Anh như:
native language: ngôn ngữ gốc
native code: mã gốc (chứ không hắn như cách suy luận của bạn "mã riêng"
Nên tôi thấy từ "nguyên sinh" vẫn đầy đủ nghĩa hơn cả.
Nhưng đây là do BTV sửa lại nên tôi vẫn tôn trọng những gì BTV đã hiệu đính lại.
Chúng ta hãy góp phần làm cho tiếng Việt phong phú và trong sáng hơn.
Xin cám ơn!

Bùi Anh Tuấn  624

Theo định nghĩa thì native code=mã chạy thông qua bộ vi xử lí (tập lệnh bộ vi xử lí), còn bytecode=mã chạy thông qua máy ảo trước.

Xét kĩ hơn có thể thấy native code=mã trực tiếp (được xử lí trực tiếp bởi bộ vi xử lí)

còn bytecode=mã gián tiếp (được xử lí thông qua máy chủ ảo trước, để biến thành native code, trước khi đến bộ vi xử lí)

Hiểu là thế, nhưng tóm gọn lại để gọi tên thì...cần phải bàn.

Còn gọi "tự nhiên", "nguyên sinh", "thuần tuý" thì đều không đúng bản chất vấn đề.

Vậy thì NDK có nghĩa là SDK có hỗ trợ sử dụng lại (tận dụng) native code đã có sẵn, không giúp tạo ra ứng dụng nativecode, còn SDK Android vốn sử dụng máy ảo (dính dáng đến bytecode?)

What is the Android NDK?

Bùi Anh Tuấn  624

Bạn có thể tham khảo thêm một số cụm từ trong tiếng Anh như:
native language: ngôn ngữ gốc
native code: mã gốc (chứ không hắn như cách suy luận của bạn "mã riêng"
Nên tôi thấy từ "nguyên sinh" vẫn đầy đủ nghĩa hơn cả.

Bạn Quang ạ, ngay cả từ định nghĩa Việt đã nằm trong từ điển cũng không hẳn nó đã chuẩn. Để chuẩn xác ta phải mổ xẻ bản chất của định nghĩa gốc từ nguyên bản tiếng Anh.

Với định nghĩa về native code như trên thì không thể có
Nên tôi thấy từ "nguyên sinh" vẫn đầy đủ nghĩa hơn cả.

Của từ điển, của bạn, của BBT hay của tôi đều là của chủ quan, muốn khách quan thì cần...phải tranh luận hi hi!

Và chúng ta vẫn còn đang tranh luận, có thể sẽ không đi đến kết luận, nhưng ít ra chúng ta có thể sẽ nhìn thấy "hình dáng" của kết luận.

Hải Nam  30903

Như đã nói thì chữ “nguyên sinh” trong “rừng nguyên sinh” hay là “chất nguyên sinh” đều không mang nghĩa trong bài đó, vì nghĩa đó là “nguyên thủy, cơ bản”. Nghĩa trong bài thì như đã giải thích, là mã của các ngôn ngữ dịch trực tiếp ra instruction của vxl, mã đó không phải là mã “nguyên thủy, cơ bản”.

Vì chữ này chưa ai dịch, nên mình mới dịch là “tự nhiên” để khỏi nhầm. Ai lập trình Java thì chắc biết JNI (Java Native Interface), giúp Java giao tiếp với các ngôn ngữ “cấp thấp” như C. Native code không chạy trên máy ảo, nên mới nói nó chạy “tự nhiên”.

Chữ này không quan trọng lắm, lỗi sai lớn hơn là ban đầu dịch SDK là “bộ phần mềm phát triển”, trong khi nó là “bộ phát triển phần mềm” (dùng để viết phần mềm).

Lê Duy Thông  49

Ủa, bác Bùi Anh Tuan vừa tự phát hiện ra cách dịch hay mà bác không thấy à?

Google công bố SDK mã trực tiếp cho Android 1.5

Tư duy thế nào thì dịch như vậy kết hợp với tiêu chí ngắn gọn, quen thuộc nữa. Chuẩn đấy chứ?