Loading Now

5 Ứng Dụng Tuyệt Vời Của Python Có Thể Bạn Chưa Biết

Python là một ngôn ngữ lập trình có mục đích chung đơn giản, thân thiện với nhà phát triển và được thông dịch. Python đang trở nên phổ biến hơn mỗi ngày vì ngữ pháp đơn giản, hệ sinh thái thư viện phong phú và môi trường nhà phát triển năng suất cao. Các lập trình viên sử dụng Python để xây dựng các chương trình phụ trợ web, các tập lệnh tiện ích và các ứng dụng máy tính để bàn gốc. Ngày nay, Python rất phổ biến đối với các kỹ sư khoa học, nhà phân tích dữ liệu, kỹ sư học máy và các nhà khoa học dữ liệu

Các ngôn ngữ lập trình thường trở nên phổ biến hơn khi chúng tiếp cận các cộng đồng nhà phát triển khác nhau. Ví dụ: JavaScript trở nên phổ biến hơn nhờ framework Electron, cho phép các nhà phát triển xây dựng các ứng dụng dành cho máy tính để bàn với giao diện người dùng web. Python cũng cố gắng tham gia vào các cộng đồng nhà phát triển mới với những đổi mới ấn tượng do cộng đồng nhà phát triển Python thực hiện.

Giờ đây, chúng ta có thể sử dụng Python để xây dựng bất cứ thứ gì giống như JavaScript. Tuy nhiên, hầu hết các nhà phát triển vẫn chưa hoàn toàn nhận thức được sự vượt bậc đầy ấn tượng của Python. Trong bài viết này, mình sẽ giải thích một số trường hợp sử dụng ít được biết đến của Python. Việc sử dụng Python cho một trong các trường hợp này sẽ giúp Python phổ biến hơn.

Sử dụng Python để phát triển ứng dụng điện thoại

Giờ đây, ngôn ngữ Dart và JavaScript được ưa chuộng nhất để xây dựng các ứng dụng di động đa nền tảng. Nói cách khác, Flutter và React Native thống trị thị trường phát triển ứng dụng di động. Tuy nhiên, có phải tất cả các lập trình viên Python đều phải học Dart hoặc JavaScript để viết ứng dụng di động không? Không – framework Kivy GUI có thể tạo ra các ứng dụng gốc cho các nền tảng Android và iOS. Do đó, bạn có thể sử dụng Python để xây dựng các ứng dụng di động đa nền tảng.

Kivy đi kèm với bộ công cụ widget của riêng mình tương tự như Flutter. Kivy sử dụng SDL (Simple Directmedia Layer) để hiển thị các phần tử 2D trên cả Android và iOS như Flutter sử dụng Google Skia. Kivy giao tiếp với các API di động gốc thông qua JNI / Cython trên Android và Objective-C / Cython trên iOS.

Giống như các framework di động khác, Kivy cũng cung cấp các công cụ để tạo các gói ứng dụng dành riêng cho nền tảng. Hơn nữa, bạn có thể chạy ứng dụng Kivy trên hệ điều hành máy tính để bàn. Google Play và Apple AppStore chấp nhận các ứng dụng dựa trên Kivy. Nếu nhiều nhà phát triển bắt đầu xây dựng ứng dụng của họ với Kivy, chắc chắn nó có thể cạnh tranh với cả Flutter và React Native.

Chạy Python trên trình duyệt

Trình thông dịch Python thường chạy trên hệ điều hành. Điều gì sẽ xảy ra nếu bạn cần chạy Python trên trình duyệt web? Bạn có thể nghĩ rằng chúng ta phải lưu trữ một phiên bản thông dịch Python trên một máy chủ từ xa và giao tiếp thông qua giao thức WebSocket. Có – đó là những gì hầu hết các trình thông dịch Python trực tuyến làm. Nhưng bây giờ, bạn có thể chạy bất kỳ mô-đun Python nào hoàn toàn từ phía máy khách với trình duyệt có Pyodide. Pyodide chạy phiên bản CPython của WebAssembly qua Emscripten. Việc triển khai WebAssembly của trình duyệt thường cung cấp một môi trường thực thi giống như CPU ảo.

Trình biên dịch Emscripten WebAssembly cũng hỗ trợ hệ thống tệp ảo trong bộ nhớ. Do đó, chúng tôi cũng có thể chạy các mô-đun API hệ thống tệp Python trên trình duyệt. Xem đoạn code sau – đoạn code sẽ hoạt động trên trình duyệt.

console.log(pyodide.runPython(`

    import os

    os.makedirs('dir/test')

    print(os.listdir('dir'))

`));

Đoạn code trên sẽ hoạt động với việc triển khai hệ thống tệp ảo của Emscripten và in kết quả sau.

['test']

Giờ đây, bạn có thể chạy trực tiếp mã Python trên trình duyệt web. Pyodide hỗ trợ các thư viện lập trình khoa học phổ biến như NumPy, pandas, SciPy, Matplotlib và scikit-learning. Việc triển khai Pydiode Python cũng cung cấp một cách để truy cập các API web. Ví dụ: bạn có thể hiển thị cảnh báo trình duyệt bằng mã Python sau.

import js

js.alert('Hello JavaScript!') # js module refers to window :)

Bây giờ không có gì lạ nếu một nhà phát triển Python viết một ứng dụng React bằng Python.

Python để viết tập lệnh Shell

Quản trị viên hệ thống thường viết các tập lệnh Bash cho các nhiệm vụ bảo trì hệ thống khác nhau. Các nhà phát triển cũng có xu hướng tự động hóa các tác vụ thủ công lặp đi lặp lại và tốn thời gian của họ bằng các tập lệnh Shell – để tăng năng suất của họ. Một số lập trình viên cũng sử dụng Python để viết các tập lệnh Shell vì Bash không cung cấp mọi tính năng ngôn ngữ mà chúng ta cần từ một ngôn ngữ kịch bản hiện đại.

Tuy nhiên, bạn phải viết nhiều mã hơn Bash để làm việc với các quy trình bằng Python. Dự án ShellPy đưa ra một giải pháp ấn tượng cho vấn đề này. ShellPy cho phép bạn viết các tập lệnh tự động hóa giống Bash bằng Python. Hãy xem ví dụ sau.

#!/usr/bin/env shellpyprint('Hello ShellPy')

`

echo "Hello" > test.txt

cat test.txt

`

Như bạn đã nhận thấy, bạn có thể chạy các lệnh Bash và các đoạn mã Python trong cùng một tệp kịch bản ShellPy. Bạn có thể xử lý dữ liệu bằng Python và vẫn sử dụng Bash để tạo ra các quy trình. Điều tuyệt vời là bạn có thể trực tiếp nhận kết quả lệnh Bash tới một biến Python. Hãy thử ShellPy để viết tập lệnh tự động hóa tiếp theo của bạn với mã Python đơn giản và rõ ràng.

Xây dựng ứng dụng máy tính để bàn kết hợp Pythonic

Phát triển ứng dụng máy tính để bàn gốc về mặt kỹ thuật là rất tốt, nhưng chúng ta phải duy trì các cơ sở mã riêng biệt cho từng nền tảng. Do đó, hiện nay các nhà phát triển có xu hướng xây dựng các ứng dụng dành cho máy tính để bàn với khung ứng dụng đa nền tảng và bộ công cụ GUI. Các framework như Electron cung cấp một cách để tạo các ứng dụng máy tính để bàn đa nền tảng với giao diện người dùng web. Các ứng dụng này được gọi là ứng dụng kết hợp vì chúng ta nhúng các tính năng gốc vào một ứng dụng web.

Các ứng dụng dựa trên điện tử thường sử dụng mã Node.js trong phần phụ trợ. Tuy nhiên, các lập trình viên Python có thể viết mã Python cho chương trình phụ trợ ứng dụng Electron thông qua hai dự án sau: python-gui-electron và electron-python-example.

Tuy nhiên, chúng ta đều biết rằng Electron thường tạo ra bloatware do chi phí của Chromium và Node.js được nhúng vào. Thay vào đó, bạn có thể viết các ứng dụng kết hợp dựa trên Python với khung Eel và chạy chúng dưới dạng ứng dụng Chrome / Chromium. Eel tạo kênh giao tiếp giữa Python và Chrome bằng kết nối WebSocket – bằng cách cho phép bạn viết mã Python cho phần phụ trợ ứng dụng.

Ngoài ra, bạn có thể xây dựng các ứng dụng máy tính để bàn kết hợp nhẹ và di động với Neutralinojs bằng cách sử dụng chương trình phụ trợ Python.

Tạo chương trình CLI trong thời gian kỷ lục

Chúng ta phải xây dựng các ứng dụng CLI khi tạo công cụ dành cho nhà phát triển cho các framework và thư viện. Ví dụ, nhóm Flutter đã tạo Flutter CLI để quản lý và cấu hình các ứng dụng Flutter. Tôi cũng đã tạo một chương trình CLI dựa trên Node cho framework mà tôi duy trì. Hơn nữa, chúng ta có thể biến các tập lệnh tự động hóa của mình thành các chương trình CLI để nâng cao khả năng sử dụng. Ví dụ: bạn có thể kích hoạt một hành động hoặc quy trình cụ thể khi bạn gửi các lệnh cụ thể đến các tập lệnh của mình.

Hầu hết các lập trình viên sử dụng Node.js để xây dựng các chương trình CLI với các mô-đun Node phổ biến như command.js, ink, oclif và chalk. Các thư viện như command.js cung cấp API các phương pháp có thể thay đổi hiệu quả để xây dựng các chương trình CLI nhanh hơn.

Dự án PythonFire của Google Nguồn mở cung cấp cho bạn một cách hiệu quả hơn để phát triển các chương trình CLI với Python. PythonFire tự động tạo cấu trúc CLI dựa trên các định nghĩa và đối số của hàm. Ngoài ra, bạn có thể sử dụng thư viện này để chuyển đổi các tập lệnh tự động hóa hiện có của mình thành các chương trình CLI trong thời gian kỷ lục. Sau khi bạn viết mã sau:

import firedef add(a, b):

 return a + bdef sub(a, b):

 return a - bif __name__ == '__main__':

 fire.Fire()

Bạn có thể sử dụng các lệnh sau để gọi cả hai hàm.

./cli.py add 10 5

./cli.py sub 5 2

Kết luận

Mọi ngôn ngữ lập trình hiện nay đều tập trung vào việc trở thành WORA (Write Once, Run Anywhere). JavaScript đã trở thành ngôn ngữ WORA số một bằng cách phủ sóng mọi cộng đồng nhà phát triển. 

Python là công cụ thay đổi cuộc chơi lớn nhất tiếp theo trong thế giới lập trình. Nó là một ngôn ngữ có mục đích chung đơn giản, phù hợp hơn để xử lý dữ liệu. Bây giờ, Python từ từ bước vào lĩnh vực phát triển ứng dụng di động và ứng dụng kết hợp. Chúng ta chưa thể dự đoán cái nào sẽ hoạt động tốt hơn trong cuộc thi WORA. Hãy xem vào năm 2022!



Post Comment

Contact