Giới thiệu về ngôn ngữ Drag and Drop của MIT App Inventor

Hôm nay mình muốn giới thiệu với các bạn một phương pháp lập trình Android khác thay vì sử dụng Android Studio hoặc Java truyền thống. Phương pháp đó là ngôn ngữ kéo và thả - Drag and Drop của MIT App Inventor.

1. Sơ lược về nền tảng kéo thả - MIT App Inventor
MIT App Inventor dành cho Android là một ứng dụng web nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi Viện Công nghệ Massachusetts (MIT).

Nền tảng cho phép nhà lập trình tạo ra các ứng dụng phần mềm cho hệ điều hành Android (OS). Bằng cách sử dụng giao diện đồ họa, nền tảng cho phép người dùng kéo và thả các khối mã (blocks) để tạo ra các ứng dụng có thể chạy trên thiết bị Android. Đến thời điểm hiện tại 07/2017, phiên bản iOS của nền tảng này đã bắt đầu được đưa vào thử nghiệm bởi Thunkable, là một trong các nhà cung cấp ứng dụng web cho ngôn ngữ này.

Nền tảng App Inventor được đưa ra thông qua yêu cầu vào ngày 12 tháng 7 năm 2010 và được phát hành công khai vào ngày 15 tháng 12 năm 2010. Nhóm App Inventor được dẫn dắt bởi Hal Abelson và Mark Friedman. Trong nửa sau của năm 2011, Google công bố mã nguồn, chấm dứt máy chủ và cung cấp tài trợ cho việc thành lập Trung tâm Nghiên cứu Điện thoại Di động MIT, do Hal Abelson và các giáo sư Eric Klopfer và Mitchel Resnick sáng lập để duy trì hoạt động của App Inventor. Phiên bản MIT được ra mắt vào tháng 3 năm 2012.

Vào ngày 6 tháng 12 năm 2013, MIT đã phát hành App Inventor 2, đổi tên từ tên gốc "App Inventor Classic".

Tính đến tháng 5 năm 2014, nền tảng đã có 87 nghìn người dùng hoạt động hàng tuần và 1,9 triệu đăng ký từ 195 quốc gia với tổng số 4,7 triệu ứng dụng được xây dựng.

Vào tháng 12 năm 2015, có 140 nghìn người sử dụng hoạt động hàng tuần và 4 triệu đăng ký tại 195 quốc gia với tổng số 12 triệu ứng dụng được xây dựng.

Hiện nay, mỗi tháng MIT App Inventor có hơn 400.000 người dùng đến từ 195 quốc gia và đã tạo ra gần 22 triệu ứng dụng, MIT App Inventor đang thay đổi cách thế giới tạo ra các ứng dụng và cách mà học sinh nhỏ tuổi bắt đầu học về máy tính.

2. Những website chính hiện nay để sử dụng ngôn ngữ Drag and Drop
Hiện nay có ba websites chính cho phép nhà lập trình ứng dụng sử dụng ngôn ngữ kéo thả của MIT App Inventor:
- MIT App Inventor
- Thunkable
- AppyBuilder

a. MIT App Inventor
Như đã giới thiệu ở trên MIT App Inventor là website đầu tiên sử dụng công nghệ kéo thả được nghiên cứu và phát hành bởi Google, duy trì và phát triển bởi MIT. Mục tiêu cốt lõi của MIT App Inventor là giúp đỡ những người chưa có kiến thức về ngôn ngữ lập trình từ trước có thể tạo ra những ứng dụng có ích trên hệ điều hành Android.

Với mục tiêu đó MIT App Inventor đã xây dựng một kho dữ liệu đồ sộ và chi tiết về cách sử dụng App Inventor. Trong các bài viết sau mình sẽ dành nhiều thời gian nói thêm chi tiết về tìm ở đâu các nguồn tài liệu hướng dẫn sử dụng App Inventor.

MIT-AppInventor.png

Những tính năng có trên MIT App Inventor là:
+ Cho phép xây dựng nhanh chóng những thành phần cơ bản (components) của một ứng dụng Android: Nút bấm, nút lựa chọn, chọn ngày giờ, ảnh, văn bản, thông báo, kéo trượt, trình duyệt web
+ Sử dụng nhiều tính năng trên điện thoại: Chụp ảnh, quay phim, chọn ảnh, bật video hoặc audio, thu âm, nhận diện giọng nói, chuyển lời thoại thành văn bản, dịch
+ Hỗ trợ xây dựng game bằng các components: Ball, Canvas, ImageSprite
+ Cảm biến: đo gia tốc (AccelerometerSensor), đọc mã vạch, tính giờ, con quay hồi chuyển (gyroscopeSensor), xác định địa điểm (locationSensor), NFC, đo tốc độ (pedometer), đo khoảng cách xa gần với vật thể (proximitySensor)
+ Kết nối: Danh bạ, email, gọi điện, chia sẻ thông qua các ứng dụng mạng xã hội khác trên thiết bị, nhắn tin, sử dụng twitter qua API, bật ứng dụng khác, bluetooth, bật trình duyệt
+ Lưu trữ: đọc hoặc lưu tệp txt, csv, sử dụng FusiontablesControl, tạo cơ sở dữ liệu đơn giản trên điện thoại hoặc trên đám mây thông qua server tự tạo hoặc Firebase
+ Điều khiển robot thông qua LegoMindstorms
+ Và rất nhiều mở rộng do các nhà lập trình hoạt động riêng liên tục thêm vào như là:
Mua bán trong ứng dụng, Floating button, Báo thức, cảm biến ánh sáng, kết nối dữ liệu SQLite…

Vì MIT App Inventor là mã nguồn mở, bất cứ ai cũng có thể tạo ra mở rộng tùy thuộc vào nhu cầu sử dụng dựa trên hướng dẫn chi tiết của MIT.

Những nhược điểm chính của App Inventor là:
+ Lập trình viên chưa thể sử dụng mọi tính năng của Android và việc này phụ thuộc vào khi nào mở rộng mới có tính năng bạn cần có được tạo ra. Khuyết điểm này chỉ có thể khắc phục bằng cách tự xây dựng mở rộng cho App Inventor
+ Vì là website với mục đích giáo dục, MIT App Inventor không hỗ trợ quảng cáo. Chính vì nhược điểm này Thunkable và AppyBuilder được sinh ra.
+ Giao diện chưa chuyên nghiệp
+ Chuyển mã từ ngôn ngữ Drag and Drop sang Java chưa thực sự dễ dàng. Trong các bài viết sau mình sẽ hướng dẫn thêm
+ Do ứng dụng được phát triển trên server của MIT, giới hạn dung lượng của mỗi project chỉ là 5mb.

Mặc dù có những nhược điểm như vậy, MIT App Inventor vẫn là một nền tảng mạnh mẽ giúp những ai mới bắt đầu lập trình trên Android có thể tạo ra được những ứng dụng hoàn thiện hoặc giúp nhà phát triển chuyên nghiệp nhanh chóng phác thảo lên ý tưởng của mình.

b. Thunkable:
Thunkable là một website được xây dựng lên từ công nghệ của MIT App Inventor bởi hai trong số những kỹ sư MIT đầu tiên của MIT Inventor vào đầu năm 2016. Nền tảng này dành cho những nhà lập trình phát triển ứng dụng chuyên nghiệp hơn với chất lượng cao hơn, hoặc xây dựng các ứng dụng mạnh mẽ hơn cho doanh nghiệp, cho cộng đồng hoặc chỉ cho bản thân.

Do được xây dựng dựa trên MIT App Inventor, Thunkable có tất cả các đặc điểm nêu trên của MIT App Inventor. Ngoài ra, Thunkable có những cải tiến sau đây:

+ Material Design: Để khắc phục một trong những nhược điểm lớn nhất của MIT App Inventor, Thunkable cho phép lập trình viên Android xây dựng ứng dụng với thiết kế Material Design mặc định. Đặc điểm này tăng đáng kể mức độ chuyên nghiệp của các ứng dụng.
+ Một số mở rộng bổ sung khá hữu ích như: Google Maps, tùy chỉnh font chữ, bổ sung thêm các tính năng điều khiển máy ảnh, duyệt web.
+ Tăng giới hạn kích thước ứng dụng từ 5mb lên 10mb. Theo nhóm phát triển Thunkable, giới hạn này sẽ còn được tăng lên.
+ Cho phép quảng cáo bằng Admob. Tuy vậy, component này vẫn còn trong chế độ beta và còn thiếu nhiều tính năng.

+ Và, điều đặc biệt nhất của Thunkable là:
· Nhóm phát triển Thunkable đã bắt đầu đưa vào thử nghiệm phiên bản iOS của ngôn ngữ Drag and Drop. Theo thông báo, phiên bản này nhận được những phản hồi khá tích cực từ những nhà lập trình được mời tham gia thử nghiệm và dự kiến có thể được đưa vào sử dụng vào cuối năm nay 2017.

c8ccfd81eded6ced469c3f423e659859c9bcbef8.jpg


Nhưng nhược điểm của Thunkable là hiện tại nhóm phát triển chỉ tập trung nguồn lực hoàn thiện phiên bản iOS, phiên bản dành cho Android gần như không có thêm nhiều mở rộng nữa.
c. AppyBuilder
Điều khác biệt lớn nhất của AppyBuilder với MIT App Inventor và Thunkable là AppyBuilder là một phiên bản thương mại của MIT App Inventor. Với phí đăng ký hàng tháng (hiện tại là $8 một tháng), nhà phát triển có thêm nhiều tính năng bổ sung. Một số tính năng này bao gồm:
+ Dịch vụ kiếm tiền qua các mạng quảng cáo như: Admob, Amazon, MillenniumMedia, MobFox.
+ Thiết kế Material Material Android
+ Hỗ trợ thêm một số chức năng lưu trữ và chức năng cảm biến
+ Thông báo đẩy (Push Notification)

Appy-Builder-para-crear-apps-Android.jpg


Ngoài ra AppyBuilder còn có một phiên bản miễn phí hoạt động tương tự như MIT App Inventor. Bạn có thể thiết lập tài khoản miễn phí tại trang web của Appy Builder hoặc đăng ký một tài khoản đăng ký với các tính năng bổ sung.
Tương tự như Thunkable, AppyBuilder dựa trên MIT App Inventor - nếu bạn biết cách sử dụng App Inventor, bạn sẽ thấy AppyBuilder cũng rất dễ sử dụng. Công ty đứng sau AppBuilder cũng phát triển ứng dụng tùy chỉnh và phát triển trang web di động.
Nhược điểm lớn nhất của AppyBuilder có lẽ các bạn cũng đã đoán ra đó là đây không phải là một phiên bản miễn phí. Ngoài ra, AppyBuilder thường nâng cấp lên phiên bản mới rất chậm so với MIT App Inventor và Thunkable. Ví dụ, hiện tại project được xuất ra từ MIT App Inventor và Thunkable không thể tải lên để hoàn thành trên AppyBuilder được do AppyBuilder chạy trên phiên bản cũ hơn và không tương thích với phiên bản mới.

Nguồn tham khảo: Wikipedia, MIT App Inventor

3. Kết luận
Trên đây là giới thiệu sơ bộ về ngôn ngữ Drag and Drop. Trong các bài viết tới mình sẽ nói sâu hơn về tìm các nguồn tài liệu để học ngôn ngữ này ở đâu và cách bắt đầu như thế nào.

Những bạn nào muốn trao đổi thêm về ngôn ngữ này xin gửi về mail: nguyenlevietdung126@gmail.com

Đố Vui IQ by Riddlegoapp là 1 trong những ứng dụng mình phát triển trên MIT App Inventor và Thunkable, các bạn có thể xem tham khảo trên CH Play
jMmD8VH.jpg

Mã:
https://play.google.com/store/apps/details?id=com.thunkable.android.riddlegoapp.dovuiiq
 
Sửa lần cuối:
  • Chủ đề
    android app inventor
  • Top