Phát triển web khá khó sử dụng. Bạn cần phải thành thạo JS và HTML và CSS và Python [hoặc Rails hoặc Node] và một tấn khung. Chúng tôi yêu Python vì phương châm của nó: đơn giản là tốt hơn phức tạp. Vì vậy, phát triển web sẽ như thế nào, nếu nó là 100% Python - ngay cả phần đầu? Chúng tôi đã xây dựng nó, và nó được gọi là Anvil.So what would web development look like, if it were 100% Python – even the front end? We built it, and it’s called Anvil. Dưới đây là 12 lý do tại sao việc xây dựng mặt trước và back-end của bạn trong Python là rất tuyệt vời: Chạy Python trong trình duyệt có nghĩa là bạn có thể sửa đổi các thành phần UI của mình trong Python. Kéo và thả chúng vào trang để xây dựng giao diện người dùng, sau đó đặt các thuộc tính của chúng và gọi các sự kiện trên chúng từ mã Python. Xây dựng UI cho một mẫu phản hồi. Kiểm tra hướng dẫn. Trong Web-DEV truyền thống, việc gọi từ trình duyệt đến máy chủ web là một nỗi đau. Bạn phải thiết lập một tuyến đường URL, nhòe tất cả dữ liệu của bạn thành JSON, thiết lập yêu cầu AJAX, không đồng bộ nhận được phản hồi rất nhiều công việc! Với Anvil, bạn chỉ cần gọi một chức năng. Thêm một bộ trang trí vào bất kỳ chức năng nào, sau đó chỉ cần gọi hàm từ mã trình duyệt. Vượt qua các đối tượng Python làm đối số; trả về các đối tượng Python. Công việc hoàn thành.just call a function.
Add a decorator to any function, then just call the function from browser code. Pass Python objects as arguments; return Python objects. Job done.Tại sao Python đánh bại HTML+JS để phát triển web
1. Các thành phần UI của bạn là tất cả các đối tượng Python.
2. Gọi các chức năng phía máy chủ từ trình duyệt
3. Cơ sở dữ liệu được tích hợp
Thiết lập và duy trì cơ sở dữ liệu là một lực cản. Vì vậy, ANVIL có một cơ sở dữ liệu tích hợp. Thiết kế bảng dữ liệu của bạn bằng đồ họa, sau đó truy vấn hoặc cập nhật các hàng với Python. .
Một bảng dữ liệu trong anvil
4. Kết nối mã của bạn đang chạy ở bất cứ đâu
ANVIL là máy chủ không có máy chủ - Mã của bạn được lưu trữ tự động trong đám mây. Nhưng nếu bạn muốn chạy mã trên máy tính của mình thì sao? Chỉ cần sử dụng đường lên!
Có một cuốn sổ Jupyter? Gọi nó từ web! Có cơ sở dữ liệu cục bộ? Viết một tập lệnh cục bộ để truy vấn nó, sau đó gọi nó từ web! Call it from the
web!
Got a local database? Write a local script to query it, then call it from the web!
5. Dữ liệu nhị phân dễ xử lý hơn
Tải lên một tập tin là chức năng cơ bản. Vì vậy, nó phải đơn giản trong mỗi khung web. Đúng? Bất ngờ! Xử lý dữ liệu nhị phân - như tệp, hình ảnh hoặc PDF - rất khó khăn trong một ứng dụng JS truyền thống. [Nếu bạn cảm thấy có ý nghĩa, hãy thử nói ‘enctype="multipart/form-data"
, với một nhà phát triển web dày dạnSurprise! Handling binary data – like files, images, or PDFs – is remarkably difficult in a traditional
JS app. [If you’re feeling mean, try saying ‘enctype="multipart/form-data"
’ to a seasoned web developer. Watch them shiver.]
Nhưng Anvil làm cho nó dễ dàng. Tất cả dữ liệu nhị phân [hình ảnh, tệp được tải lên, v.v.] được biểu diễn dưới dạng đối tượng Python! Bạn có thể chuyển dữ liệu nhị phân như một đối số cho một hàm máy chủ. Bạn có thể lưu trữ nó trong một bảng dữ liệu. Bạn có thể sử dụng nó với các thành phần AVIL. Ví dụ: kết xuất và tải xuống PDF theo nghĩa đen là đơn giản này:
# In a server module:
@anvil.server.callable
def get_pdf[]:
return anvil.pdf.render_form['Form1']
# In the browser:
pdf = anvil.server.call['get_pdf']
download[pdf]
6. Xác thực người dùng được tích hợp
Xây dựng xác thực người dùng là tẻ nhạt, nhưng chết người nếu bạn hiểu sai! Một nửa các lỗ hổng OWASP là cách mà bạn có thể nhận được xác thực sai.
ANVIL, tích hợp trong dịch vụ người dùng xử lý xử lý việc đăng ký, đăng nhập và quyền của người dùng cho bạn, ra khỏi hộp. Phải mất một dòng mã Python để trình bày cho người dùng của bạn một biểu mẫu đăng ký với xác thực email - chỉ cần gọi anvil.users.login_with_form[]
.
Cũng như đăng nhập email, ANVIL hỗ trợ Google, Microsoft, Facebook và SAML SSO. [Điều gì về xác thực hai yếu tố? Tất nhiên nó hoạt động.]
7. Hỗ trợ email cũng được tích hợp
Gửi email với một dòng mã. Nhận email với một dòng mã! Tất cả đều được xây dựng với dịch vụ email ANVIL.
Xây dựng một ứng dụng để nhận email rất đơn giản, chúng tôi đã thực hiện nó trong một video dài 4 phút:4-minute video:
8. Thế hệ PDF cũng được tích hợp
Có ai đó nói rằng pin bao gồm bao gồm cả? Tạo tài liệu PDF với trình soạn thảo kéo-N-Drop của chúng tôi, sau đó kết xuất và tải chúng bằng một cuộc gọi Python.
Hướng dẫn: Cách tạo tệp PDF trên web
9. Sử dụng các gói Python yêu thích của bạn
Một trong những tính năng tốt nhất của Python là nhiều gói có sẵn. Với thời gian chạy Python đầy đủ, bạn có quyền truy cập vào một danh sách rất dài các thư viện Python yêu thích của bạn để xây dựng các ứng dụng web của bạn.
10. Bạn vẫn có thể xây dựng API HTTP
Bạn muốn xây dựng API HTTP, vì vậy các ứng dụng không anvil có thể giao tiếp với dịch vụ của bạn? Tạo các điểm cuối HTTP gần như đơn giản như tạo các hàm bạn có thể gọi từ trình duyệt. Kiểm tra hướng dẫn này.
Hoặc chỉ xem Bridget Build và triển khai API JSON trong 20 giây:
Tạo và triển khai API JSON hoạt động trong 20 giây.
11. Tích hợp một cú nhấp chuột
Ứng dụng AVIL của bạn có thể dễ dàng kết nối với các dịch vụ từ Google, Microsoft, Facebook, Stripe và nhiều hơn nữa. Đăng nhập người dùng của bạn bằng cách sử dụng Google, Microsoft và Facebook Sign-ons, thực hiện thanh toán bằng sọc hoặc hiển thị Google Maps tương tác.
12. Bộ lưu trữ được mã hóa dễ dàng
Bạn không muốn để lại mật khẩu nằm xung quanh trong mã nguồn của bạn. Dịch vụ APP Secrets cung cấp lưu trữ dữ liệu nhạy cảm được mã hóa dễ sử dụng, như mật khẩu hoặc khóa mã hóa.
Tìm hiểu để lưu trữ dữ liệu được mã hóa với một hướng dẫn 4 phút khác
Nhận đơn giản. Giữ sức mạnh.
Anvil cung cấp cho bạn tất cả sức mạnh của Python và không có sự phức tạp nào của các khung web truyền thống. Nếu bạn là một nhà phát triển Python, bạn có thể xây dựng các ứng dụng web đầy đủ mà không cần bất cứ điều gì khác.
Và nếu bạn muốn điều chỉnh một cái gì đó với HTML, CSS hoặc JavaScript, thì luôn luôn có một lối thoát! Sử dụng thư viện JavaScript từ mã Python hoặc tạo kiểu ứng dụng của bạn với HTML CSS.
Don lồng bị khóa.
Thời gian chạy của ANVIL là nguồn mở, vì vậy bạn có thể lấy ứng dụng của mình và triển khai nó ở bất cứ đâu. Bạn thậm chí không cần biên tập viên của chúng tôi để tạo một ứng dụng Anvil!
Bắt đầu xây dựng
Anvil là miễn phí là sử dụng, vì vậy bạn có thể bắt đầu xây dựng ngay! Bắt đầu với một hướng dẫn để làm quen với ANVIL hoặc kiểm tra tài liệu để tìm hiểu về một số tính năng khác của Anvil.