Bất kỳ ai quan tâm đến tương lai của phần mềm và cách chúng ta sẽ tương tác với máy tính trong vài năm tới sẽ bắt gặp thứ gọi là nền tảng “no-code
– không mã” — có hoặc không có dấu gạch nối. No-Code không chỉ là tương lai; nó có sẵn trong hiện tại.
Mục lục
No-Code là gì?
Nói một cách đơn giản nhất, No-code chính xác là lập trình mà không sử dụng mã — bất kể bạn đang lập trình gì, như là trang web, ứng dụng dành cho thiết bị di động, chương trình máy tính hay thậm chí chỉ là tập lệnh. Điều này có nghĩa là bất kỳ ai, ngay cả những người chưa biết gì về lập trình, đều có thể tạo thứ gì đó trực tuyến hoặc trên máy tính của họ và có thể cho rằng nó sẽ hoạt động một cách hợp lý.
No-Code thường được ca ngợi là tương lai của mã hóa, đặc biệt là bởi các công ty cung cấp nó, và các thuật ngữ như “dân chủ hóa internet – democratization of the internet” và “ai cũng có thể là nhà sản xuất – anybody can be a maker” được đưa ra trong các bài quảng cáo của họ. Tuy nhiên, cũng có một số sự thật cho những khẳng định này.
Cách đây vài năm, nếu bạn có ý tưởng về một trò chơi, ứng dụng hay hoặc một chương trình khác, thì cách duy nhất để biến nó thành hiện thực là bạn phải biết cách viết mã (và cầu nguyện rằng bạn biết đúng ngôn ngữ lập trình) hoặc sẵn sàng để học một cách nhanh chóng. Nếu bạn có tiền, có một lựa chọn khác: Thuê người làm việc đó cho bạn và đương nhiên mức giá không hề rẻ.
Điều đó không còn đúng nữa: bây giờ, thay vì học toàn bộ một ngôn ngữ lập trình (hoặc thậm chí một vài ngôn ngữ lập trình), bạn chỉ cần học cách hoạt động của một chương trình trước khi bạn có thể làm việc theo bất cứ nguồn cảm hứng nào ập đến với bạn. Mặc dù bạn vẫn cần phải kiên trì và chăm chỉ, nhưng gánh nặng về kiến thức kỹ thuật đã được giảm bớt đáng kể.
Cách hoạt động của các công cụ không mã (No-Code Tools)
Điều đó đưa chúng ta đến một điều không được nói đến nhiều: Mặc dù các công cụ không mã giúp việc kết hợp một chương trình hoặc trang web lại với nhau dễ dàng hơn, nhưng chúng không làm cho nó dễ dàng. Ngay cả những công cụ đơn giản nhất cũng sẽ yêu cầu bạn tìm ra cách chúng hoạt động và thường thì bạn cũng cần hiểu một chút về cách hoạt động của công nghệ. Một ví dụ là biết cách hoạt động của Internet khi kết hợp một trang web với nhau.
Điều đó nói rằng, vẫn dễ dàng hơn rất nhiều so với việc tập hợp một chương trình lại từ đầu, ngay cả khi bạn không tính đến thời gian và công sức để học cách lập trình .
Thay vì sử dụng giao diện dòng lệnh hoặc IDE với văn bản màu của nó, thay vào đó, hầu hết các công cụ không mã sẽ sử dụng giao diện kéo và thả hoặc vị trí từ như bạn có thể nhớ khi còn đi học.
Tuy nhiên khi bạn nhập thông tin, điều đang xảy ra là công cụ không mã đang biến đầu vào đơn giản của bạn thành mã “thực” trên phần phụ trợ, giống như một trình thông dịch. Bạn có thể không viết được Python hoặc C ++ hoặc bất kỳ ngôn ngữ lập trình nào mà loại chương trình của bạn cần, nhưng trình thông dịch của bạn thì có.
Ví dụ về nền tảng không mã
Phần trên có vẻ vẫn hơi trừu tượng, vì vậy chúng ta hãy xem qua một số ví dụ về nền tảng không mã để bạn có ý tưởng về những gì chúng có thể làm.
Xây dựng trang Web tự động (Website Builders)
Có lẽ một số công cụ không mã phổ biến nhất là các công cụ xây dựng trang web. Nhiều cá nhân và doanh nghiệp nhỏ đã thiết lập các trang web đơn giản của riêng họ bằng cách sử dụng một dịch vụ như Wix hoặc Squarespace , một điều không thể tưởng tượng được thậm chí chỉ cách đây một thập kỷ. Hồi đó, bạn cần biết ít nhất là HTML và CSS.
Giờ đây, bạn có thể có một trang web trông đẹp mắt chỉ trong vài giờ, ít hơn nếu bạn cảm thấy thoải mái với chương trình và nó cũng sẽ không chỉ là một số trang tĩnh. Hầu hết các nhà xây dựng trang web sẽ có tất cả các loại plugin thú vị, từ các nút đăng ký bản tin cho đến các trang web đầy đủ. Bạn sẽ ngạc nhiên khi có bao nhiêu doanh nghiệp chuyên nghiệp sử dụng những công cụ tiện dụng này.
Công cụ tự động hóa (Automation Tools)
Một phần lớn khác của thị trường không mã bao gồm các công cụ tự động hóa như Zapier hoặc IFTTT . Theo một cách nào đó, đây có lẽ là phần giới thiệu tốt nhất về cách hoạt động của no-code vì chúng rất đơn giản. Trong hầu hết các trường hợp, tất cả những gì họ làm là để chương trình này nói chuyện với chương trình khác.
Ví dụ: bạn có thể làm cho nó để mỗi khi bạn tạo tài liệu trong Dropbox, một tin nhắn sẽ được gửi trong Slack — hoặc ngược lại. Một ứng dụng phổ biến khác là sử dụng nó để sao lưu ảnh, vì vậy mỗi khi bạn được gắn thẻ trên ảnh Facebook, một bản sao sẽ được gửi đến Dropbox của bạn.
Mặc dù nó có vẻ cơ bản, nhưng các công cụ tự động hóa là những công cụ tiết kiệm thời gian rất lớn cho cả cá nhân và công ty. Chúng loại bỏ nhu cầu thực hiện một số việc theo cách thủ công và bằng cách tự động hóa chúng, đảm bảo bạn sẽ không bao giờ quên thực hiện hành động đó. Nếu bạn chưa bao giờ thử chúng, bạn nên làm, chúng rất thú vị.
Công cụ phát triển (Development Tools)
Bộ công cụ không mã cuối cùng mà chúng ta nhắc đến đó là công cụ nào có thể tạo ứng dụng hoặc chương trình, cho máy tính để bàn hoặc thiết bị di động. Đây là một danh mục lớn và chúng tôi không thể nói hết, nhưng nói tóm lại, hầu như bất kỳ loại chương trình nào ngày nay đều có thể được thực hiện mà không cần sử dụng mã.
Ví dụ: bạn có thể kết hợp một ứng dụng đơn giản cho Android hoặc iOS bằng cách sử dụng một nhà sản xuất ứng dụng như AppyPie hoặc NativeScript hoặc thậm chí tạo các trò chơi đầy đủ bằng một nền tảng như Unity hoặc Unreal Engine . Có một số lượng dường như không ngừng các công cụ không mã mới ra mắt hàng tháng, đáp ứng các mong muốn cụ thể của mọi người và các ngóc ngách cụ thể. Chỉ để có một cái nhìn tổng quan, chúng tôi giới thiệu danh sách này .
Giới hạn của No-Code
Tuy nhiên, tất cả những gì đã nói, No-code chắc chắn có giới hạn của nó. Nói chung, thứ bạn đang xây dựng càng phức tạp thì công cụ bạn đang sử dụng càng phức tạp. Ví dụ: một tập lệnh đơn giản sao chép tệp Dropbox vào Google Drive có thể được ghép lại với nhau chỉ trong vài phút. Tuy nhiên, nếu bạn thêm một số lượng lớn các tùy chọn như là: “không có tệp hình ảnh”, “hoặc không có tệp nào dưới 2MB” — thì hãy sẵn sàng bắt đầu suy nghĩ như một lập trình viên.
Nhiều ứng dụng mà chúng tôi đã đề cập sẽ sử dụng nhiều kiến thức cơ bản của ngôn ngữ lập trình trực quan như Scratch . Mặc dù chúng thường được coi là một cách tốt để trẻ em học cách lập trình thay vì các ngôn ngữ chính thức, nhưng đó vẫn là lập trình — và bạn cần phải điều chỉnh theo suy nghĩ đó.
Ví dụ: khi tạo một kịch bản, bạn cần phải suy nghĩ tuần tự, “ nếu điều này xảy ra, thì điều đó sẽ xảy ra ”. Đơn giản vậy thôi, nhưng bạn cũng cần lưu ý đến các hiệu ứng ngẫu nhiên, đặc biệt là khi thực hiện một chuỗi các câu lệnh điều kiện.
Đó chủ yếu là mặt trừu tượng của nó, cũng có một mặt thực tế: bạn càng biết nhiều về lập trình, các công cụ này càng dễ vận hành. Các nhà xây dựng trang web là một ví dụ tuyệt vời: Mặc dù họ giúp bạn dễ dàng tạo một trang web mà không cần biết bất kỳ CSS hoặc HTML nào, nhưng chúng dễ xử lý hơn rất nhiều nếu bạn làm như vậy. Bạn cũng có thể chỉnh sửa bất kỳ chi tiết nào bạn không thích.
Điều tương tự cũng xảy ra gấp đôi đối với các chương trình phức tạp hơn nhiều: một lập trình viên có thể làm được nhiều việc hơn với Unity so với người viết công nghệ không biết nói ở trên và học cách xử lý chương trình nhanh hơn rất nhiều.
Kết quả là, mặc dù No-code là một phát minh tuyệt vời sẽ thay đổi Internet theo nhiều cách, nhưng các lập trình viên sẽ không sớm ra đi. Nếu bạn thực sự muốn trở thành một nhà sản xuất, bạn sẽ vẫn muốn học cách viết mã.