Google App Inventor: kéo và thả có thất bại không?

Giờ thú nhận: Tôi chưa bao giờ học lập trình bằng Java. Thảng thốt, hổn hển.

Đó không phải là điều mà tôi không muốn. Đặc biệt, Ive luôn yêu thích ý tưởng tạo ra các ứng dụng điện thoại di động của riêng tôi; nhưng Ive dường như không bao giờ tìm thấy thời gian. Vì vậy, tôi rất vui mừng khi phát hiện ra vào cuối tuần, Google cuối cùng đã cấp cho tôi quyền truy cập vào App Inventor – một môi trường phát triển trực quan cho phép bạn tạo các ứng dụng Android thông qua giao diện kéo và thả mà không cần kỹ năng Java.

Nó chắc chắn làm đơn giản hóa quá trình. Ứng dụng mẫu đầu tiên – trong đó có hình ảnh một con mèo đang kêu khi bạn đặt nó – dễ lắp ráp một cách đáng xấu hổ. Trong giai đoạn thiết kế, bạn chỉ cần kéo một nút vào không gian làm việc của mình (đại diện cho màn hình điện thoại), nhập hình ảnh con mèo, gán hình ảnh cho nút và nhập âm thanh. Tạo sự kiện nhấp chuột phát âm thanh và các công việc đã hoàn thành.

Vì vậy, có, quy trình làm việc tương tự như Microsoft Visual Studio – không có bất cứ điều gì sai với điều đó. Nhưng có một sự khác biệt lớn: trong VB.NET, việc thiết lập trình xử lý sự kiện cho nút liên quan đến việc nắm bắt một số cú pháp khó khăn, dọc theo các dòng: Nút phụ riêng tư1_Click (Người gửi ByVal là System.Object, ByVal e As System.EventArgs) Nút xử lý1.Click

Khối1

Trong App Inventor, bạn tập hợp một trình xử lý sự kiện bằng cách chỉ cần chụp một mảnh ghép hình, được mã hóa bằng màu sắc blocks cùng nhau. Trên thực tế, tất cả code được xây dựng bằng cách kết hợp các khối trong Trình chỉnh sửa khối dựa trên Java. Như Google đã thừa nhận một cách thoải mái, hệ thống của họ mắc nợ nặng nề với dự án MITs Scratch, một hệ thống lập trình giáo dục mà chúng tôi đã tạo ra một hướng dẫn trong Các bài học về máy tính miễn phí cho trẻ em đặc tính.

Childishly simple?

Điều này có cho thấy rằng App Inventor cũng dành cho trẻ em không? Có và không. Google đã nói rằng App Inventor được thiết kế từ an educational perspectivevà được thử nghiệm trong classrooms across the United States, nghe có vẻ như một gợi ý khá rõ ràng. Nhưng sau đó Mark Friedman trên Google cũng đã mô tả nó như một công cụ rộng hơn, để programmers and non-programmers, professionals and students như nhau. Chắc chắn nó có thể hỗ trợ các cấu trúc phức tạp như bất kỳ thứ gì bạn sẽ tìm thấy trong các ngôn ngữ trưởng thành hơn:

Blocks2

Vì vậy, mặc dù App Inventor chủ yếu nhắm đến trẻ em, nhưng nó không chỉ là một công cụ trong lớp học. Về nguyên tắc, nó phải đủ mạnh để tạo ra bất kỳ ứng dụng nào bạn có thể tưởng tượng.

Writers khối

Đáng buồn thay, ngay sau khi tôi bắt đầu sử dụng App Inventor, tôi đã phát hiện ra sự cố. Kéo các khối về có thể là một giới thiệu đầu tiên tốt về máy tính, nhưng nếu bạn muốn tạo ra bất kỳ thứ gì phức tạp hơn Pet the Kitty đó là một cách làm việc chậm chạp và khó hiểu. Sẽ không hữu ích khi các khối bạn cần được chia thành hai tab gồm bảy ngăn kéo trở lên và khi bạn xây dựng các chức năng, không gian làm việc trở nên lộn xộn và khó điều hướng hơn (xem ảnh chụp màn hình ở đầu bài đăng này). Có lẽ trong thời gian tới Trình chỉnh sửa khối sẽ được cải thiện, nhưng ngay bây giờ nó là một lỗi như vậy, tôi có thể thấy nó khiến mọi người rời xa lập trình hoàn toàn.

Thật đáng tiếc, bởi vì một số chức năng được cung cấp dường như được thiết kế để thu hút các lập trình viên có kinh nghiệm và hỗ trợ một số khả năng gọn gàng dành riêng cho thiết bị di động:

Khối3

Nhưng nếu bạn hỏi tôi, biểu diễn này thực sự khó hiểu hơn một hàm được viết bằng văn bản thuần túy – và nó chắc chắn khó xây dựng hơn.

Tất cả những điều đó khiến App Inventor giống như một cơ hội bị bỏ lỡ. Vâng, đối với những đứa trẻ mà nó nhắm đến, nó là một phần giới thiệu tốt về các khái niệm lập trình. Nhưng nó có tiềm năng vượt xa điều đó, và tôi e rằng điều đó sẽ không bao giờ được khai thác một cách hữu ích, bởi vì bất kỳ ai có kỹ năng lập trình để sử dụng đầy đủ các khả năng của Nhà phát minh ứng dụng chắc chắn sẽ thích một ngôn ngữ không buộc bạn phải lắp ráp một cách bài bản mọi hàm, thủ tục và sự kiện ra khỏi khối nhiều màu.

Rewriting the script

Công bằng mà nói, nó lạc quan khi nghĩ rằng bất kỳ môi trường phát triển nào cũng có thể hoàn hảo cho cả những dự án mới bắt đầu và những thiết kế phức tạp hơn. Nhưng, thật thú vị, tôi nghĩ App Inventor có thể kết thúc với một lần bổ sung duy nhất. Cần có gì là một chế độ xem dựa trên tập lệnh truyền thống hoạt động song song với Trình chỉnh sửa khối. Đối với người mới bắt đầu, mã này sẽ hiển thị mã được tạo tự động (có lẽ là sử dụng cú pháp kiểu Java đơn giản) đại diện cho các cấu trúc dựa trên khối của chúng, làm cho App Inventor trở thành một phần giới thiệu tốt hơn về lập trình.

Trong khi đó, những người dùng nâng cao hơn có thể phát triển trực tiếp trong trình chỉnh sửa tập lệnh, trong khi vẫn sử dụng App Inventor như một công cụ tiết kiệm thời gian để thiết kế giao diện và đóng gói các dự án đã hoàn thành. Chế độ xem khối, được tạo tự động từ mã của bạn, sẽ trở thành một công cụ hỗ trợ trực quan hữu ích để gỡ lỗi và quy trình chương trình.

Nhưng trong trường hợp không có trình biên tập kịch bản, tôi nghi ngờ Tôi sẽ sản xuất bất kỳ ứng dụng di động nào bằng App Inventor. Google chắc chắn xứng đáng nhận được tín nhiệm cho công việc xuất sắc mà họ đã thực hiện trong việc đơn giản hóa việc phát triển Android và làm cho nó thoát khỏi sự thô lỗ của các thư viện và phụ thuộc. Nhưng nếu cách duy nhất để tận dụng điều đó là thông qua lập trình kéo và thả thì theo cá nhân tôi, tôi nghĩ tốt hơn hết là tôi nên học Java.

Google App Inventor: kéo và thả có thất bại không?

Giờ thú nhận: Tôi chưa bao giờ học lập trình bằng Java. Thảng thốt, hổn hển.

Đó không phải là điều mà tôi không muốn. Đặc biệt, Ive luôn yêu thích ý tưởng tạo ra các ứng dụng điện thoại di động của riêng tôi; nhưng Ive dường như không bao giờ tìm thấy thời gian. Vì vậy, tôi rất vui mừng khi phát hiện ra vào cuối tuần, Google cuối cùng đã cấp cho tôi quyền truy cập vào App Inventor – một môi trường phát triển trực quan cho phép bạn tạo các ứng dụng Android thông qua giao diện kéo và thả mà không cần kỹ năng Java.

Nó chắc chắn làm đơn giản hóa quá trình. Ứng dụng mẫu đầu tiên – trong đó có hình ảnh một con mèo đang kêu khi bạn đặt nó – dễ lắp ráp một cách đáng xấu hổ. Trong giai đoạn thiết kế, bạn chỉ cần kéo một nút vào không gian làm việc của mình (đại diện cho màn hình điện thoại), nhập hình ảnh con mèo, gán hình ảnh cho nút và nhập âm thanh. Tạo sự kiện nhấp chuột phát âm thanh và các công việc đã hoàn thành.

Vì vậy, có, quy trình làm việc tương tự như Microsoft Visual Studio – không có bất cứ điều gì sai với điều đó. Nhưng có một sự khác biệt lớn: trong VB.NET, việc thiết lập trình xử lý sự kiện cho nút liên quan đến việc nắm bắt một số cú pháp khó khăn, dọc theo các dòng: Nút phụ riêng tư1_Click (Người gửi ByVal là System.Object, ByVal e As System.EventArgs) Nút xử lý1.Click

Khối1

Trong App Inventor, bạn tập hợp một trình xử lý sự kiện bằng cách chỉ cần chụp một mảnh ghép hình, được mã hóa bằng màu sắc blocks cùng nhau. Trên thực tế, tất cả code được xây dựng bằng cách kết hợp các khối trong Trình chỉnh sửa khối dựa trên Java. Như Google đã thừa nhận một cách thoải mái, hệ thống của họ mắc nợ nặng nề với dự án MITs Scratch, một hệ thống lập trình giáo dục mà chúng tôi đã tạo ra một hướng dẫn trong Các bài học về máy tính miễn phí cho trẻ em đặc tính.

Childishly simple?

Điều này có cho thấy rằng App Inventor cũng dành cho trẻ em không? Có và không. Google đã nói rằng App Inventor được thiết kế từ an educational perspectivevà được thử nghiệm trong classrooms across the United States, nghe có vẻ như một gợi ý khá rõ ràng. Nhưng sau đó Mark Friedman trên Google cũng đã mô tả nó như một công cụ rộng hơn, để programmers and non-programmers, professionals and students như nhau. Chắc chắn nó có thể hỗ trợ các cấu trúc phức tạp như bất kỳ thứ gì bạn sẽ tìm thấy trong các ngôn ngữ trưởng thành hơn:

Blocks2

Vì vậy, mặc dù App Inventor chủ yếu nhắm đến trẻ em, nhưng nó không chỉ là một công cụ trong lớp học. Về nguyên tắc, nó phải đủ mạnh để tạo ra bất kỳ ứng dụng nào bạn có thể tưởng tượng.

Writers khối

Đáng buồn thay, ngay sau khi tôi bắt đầu sử dụng App Inventor, tôi đã phát hiện ra sự cố. Kéo các khối về có thể là một giới thiệu đầu tiên tốt về máy tính, nhưng nếu bạn muốn tạo ra bất kỳ thứ gì phức tạp hơn Pet the Kitty đó là một cách làm việc chậm chạp và khó hiểu. Sẽ không hữu ích khi các khối bạn cần được chia thành hai tab gồm bảy ngăn kéo trở lên và khi bạn xây dựng các chức năng, không gian làm việc trở nên lộn xộn và khó điều hướng hơn (xem ảnh chụp màn hình ở đầu bài đăng này). Có lẽ trong thời gian tới Trình chỉnh sửa khối sẽ được cải thiện, nhưng ngay bây giờ nó là một lỗi như vậy, tôi có thể thấy nó khiến mọi người rời xa lập trình hoàn toàn.

Thật đáng tiếc, bởi vì một số chức năng được cung cấp dường như được thiết kế để thu hút các lập trình viên có kinh nghiệm và hỗ trợ một số khả năng gọn gàng dành riêng cho thiết bị di động:

Khối3

Nhưng nếu bạn hỏi tôi, biểu diễn này thực sự khó hiểu hơn một hàm được viết bằng văn bản thuần túy – và nó chắc chắn khó xây dựng hơn.

Tất cả những điều đó khiến App Inventor giống như một cơ hội bị bỏ lỡ. Vâng, đối với những đứa trẻ mà nó nhắm đến, nó là một phần giới thiệu tốt về các khái niệm lập trình. Nhưng nó có tiềm năng vượt xa điều đó, và tôi e rằng điều đó sẽ không bao giờ được khai thác một cách hữu ích, bởi vì bất kỳ ai có kỹ năng lập trình để sử dụng đầy đủ các khả năng của Nhà phát minh ứng dụng chắc chắn sẽ thích một ngôn ngữ không buộc bạn phải lắp ráp một cách bài bản mọi hàm, thủ tục và sự kiện ra khỏi khối nhiều màu.

Rewriting the script

Công bằng mà nói, nó lạc quan khi nghĩ rằng bất kỳ môi trường phát triển nào cũng có thể hoàn hảo cho cả những dự án mới bắt đầu và những thiết kế phức tạp hơn. Nhưng, thật thú vị, tôi nghĩ App Inventor có thể kết thúc với một lần bổ sung duy nhất. Cần có gì là một chế độ xem dựa trên tập lệnh truyền thống hoạt động song song với Trình chỉnh sửa khối. Đối với người mới bắt đầu, mã này sẽ hiển thị mã được tạo tự động (có lẽ là sử dụng cú pháp kiểu Java đơn giản) đại diện cho các cấu trúc dựa trên khối của chúng, làm cho App Inventor trở thành một phần giới thiệu tốt hơn về lập trình.

Trong khi đó, những người dùng nâng cao hơn có thể phát triển trực tiếp trong trình chỉnh sửa tập lệnh, trong khi vẫn sử dụng App Inventor như một công cụ tiết kiệm thời gian để thiết kế giao diện và đóng gói các dự án đã hoàn thành. Chế độ xem khối, được tạo tự động từ mã của bạn, sẽ trở thành một công cụ hỗ trợ trực quan hữu ích để gỡ lỗi và quy trình chương trình.

Nhưng trong trường hợp không có trình biên tập kịch bản, tôi nghi ngờ Tôi sẽ sản xuất bất kỳ ứng dụng di động nào bằng App Inventor. Google chắc chắn xứng đáng nhận được tín nhiệm cho công việc xuất sắc mà họ đã thực hiện trong việc đơn giản hóa việc phát triển Android và làm cho nó thoát khỏi sự thô lỗ của các thư viện và phụ thuộc. Nhưng nếu cách duy nhất để tận dụng điều đó là thông qua lập trình kéo và thả thì theo cá nhân tôi, tôi nghĩ tốt hơn hết là tôi nên học Java.

Previous articleGoogle Picasa: cách tốt nhất để sao lưu ảnh của bạn
Next articleNgười đọc sách điện tử mới của Sonys: đánh giá cái nhìn đầu tiên