Xin chào mọi người. Tôi là Võ Quốc Thịnh và tôi đến từ Kode. Trong bài viết hôm nay tôi xin được phép trình bày về một nền tảng phát triển phần mềm mà tôi đang thực hiện. Có thể nói đây là dự án tâm huyết, là "đứa con tinh thần" của tôi. Và đây cũng là lần đầu tôi mạo muội viết một bài viết dài nên sẽ còn gặp nhiều thiếu sót, mong nhận được sự đánh giá từ bạn đọc.
Xuất phát từ thực tế
Tôi hiện đang là học sinh lớp 10. Trong trường tôi tiếp xúc với rất nhiều học sinh có niềm đam mêm với môn Tin học nói chung và việc phát triển các phần mềm ứng dụng nói riêng. Họ có rất nhiều ý tưởng táo bạo, mang tính ứng dụng rất cao. Nhưng hầu như khi tôi hỏi họ lí do vì sao họ không thực hiện ý tưởng đó thì đều nhận chung một câu trả lời.
Hoặc những câu trả lời hơi thô những thật như:
Còn có những lý do rất thuyết phục:
Bản thân tôi cũng gặp phải những vấn đề đó, tất cả những điều trên là động lực để tôi phát triển dự án này/
Kode cụ thể là gì?
Kode là tên của một nền tảng phát triển phần mềm và là tập hợp của rất nhiều thành phần con.
Một số thành phần trong Kode:
- Bộ công cụ phát triển: KodePas
- Môi trường phát triển tích hợp: Kode Studio
- Trình biên dịch: Kode Compiler
- Ngôn ngữ lập trình: KodeLang (Cái này đang trong quá trình thiết kế)
- Một số công cụ đi kèm như: Kode Getter (bộ quản lí các gói từ Server), Kode Live (Kiểu như một trình chạy trực tiếp trong quá trình phát triển phần mềm), Kode Point (cái này để chạy các phần mềm viết bằng Kode trực tiếp thông qua việc Double Click vào tệp myapp.kode, nghe có vẻ giống mấy tệp .jar nhỉ
)
Kode có thể làm được cái gì?
<div align="center">Hình 3. Một phần mềm được viết bằng Kode Native</div>
Hmm tất nhiên mọi người sẽ thắc mắc về điều này. Vâng Kode có thể làm nên những phần mềm theo nhiều hướng khác nhau, cụ thể là:
- Native Development: cái này phát triển ứng dụng cho từng nền tảng đặc trưng
- Web Development: dùng để tạo ra những trang Web. Kode có thể dùng cho Fontend lẫn Backend. Những trang web viết bằng Kode đều hoạt động tốt trên hầu hết các trình duyệt.
- Hibrid Development: cái này là lai giữa Native và Web. Ưu điểm của nó là đa nền tảng. dựa trên một base code nhưng có thể xây dựng cho nhiều nền tảng và đây cũng là mảng mà Kode trọng tâm phát triển nhất.
- Dùng cho Server: Cụ thể là bạn có thể dùng Kode để viết mã cho máy chủ.
- Phát triển cho IoT: Kode có thể chạy trên các CPU là ARM cùng nhiều tác vụ khác. Điều này chứng minh Kode có thể dùng trong các dự án IoT như nhà thông minh, nhà vệ sinh tự dội?,...
- Ứng dụng trong trí tuệ nhân tạo: điều này tôi cũng không khẳng định có hiệu suất cao, tuy nhiên trên lý thuyết thì Kode có thể làm được ổn.
Kode có gì đặc biệt?
Kode dùng ngôn ngữ lập trình Pascal và KodeLang
Việc dùng Pascal đã đưa cho chúng ta những nhận định cơ bản sau:
- Kode cực kì dễ học và dễ tiếp cận. Nếu người học Kode có kiến thức nền cùng Pascal thì có thể nhanh chóng làm quen và rút ra những logic cơ bản. Dùng Pascal tuy có phần cổ điển nhưng cũng chính nét cổ điển đó làm nên khác biệt.
- Pascal trong Kode thuộc hướng đối tượng
- Dùng Pascal cho phép bạn tương tác sâu và tốc độ thực thi cũng nhanh hơn
KodeLang là một ngôn ngữ lập trình được thiết kế dựa trên kiến trúc của Pascal nhưng có nhiều thay đổi để phù hợp với xu hướng hiện đại.
Đến từ dự án huyền thoại FPC và LCL
Free Pascal, có vẻ chúng ta ai cũng đã từng một lần nghe đến nó. Và Free Pascal cũng là một thành phần quan trọng của Kode.
Điều này khiến cho các thư viện viết dành riêng cho FPC đều có thể sử dụng trong Kode
Hầu hết các Widget giao diện trong Kode Native đều đến từ LCL.
Tương thích cao với JavaScript và các công nghệ từ JS
Kode có tính tương thích cao với javaScript, trong mã nguồn viết bằng KodeLang, lập trình viên có thể nhúng mã JavaScript vào.
Các chương trình viết bằng Kode có thể chạy trên NodeJs tốt.
Trong Web/Hibrid Development, bạn có thể sử dụng React, Vua JS và Angular,...
Có thể kết hợp với nhiều ngôn ngữ khác
Các ngôn ngũ như Python, Perl,... đều có thể dùng trong Kode
Thư viện viết bằng C có thể dùng ở Kode
Mặc dù Kode dùng Pascal, nhưng do giữa C và Pascal có chút thân quen nên ta có thể dùng thư viện C cho project Kode
Kode có bộ quản lí gói "xịn"
<div align="center">Hình 4. Quá trình cài một gói từ Server</div>
Kode Getter cho phép bạn quản lí gói Kode (gọi là Kode Package và có định dạng tệp là KPA). Bạn có thể xem danh sách gói trên máy chủ, tải xuống và cài đặt.
Không chỉ dừng lại ở việc sử dụng các gói. Bạn có thể tự tạo một kênh (channel) riêng và chia sẻ những gói do mình phát triển lên đó. Bất kì ai cũng có thể tải xuống gói của bạn. Hoặc bạn có thể FORK gói từ kênh kodestudio và phát hành những bản vá và nâng cấp. Mô hình hoạt động của nó kiểu gần giống npm hoặc pip.
Đa nền tảng
Kode có thể phát triển ứng dụng cho Android, Linux, Windows, iOS và cả Mac OS,...
Hệ thống IDE tuyệt vời
<div align="center">Hình 5. Kode Studio</div>
Ngoài Kode Studio, Kode còn có thể dùng trên bất kì IDE nào như Visual Studio, IntellJ Idea, Sublime Text và thậm chí là NotePad
Hot Reload
Cái này cho Hibrid Development, bạn có thể thấy sự thay đổi của ứng dụng trong lúc code mà không cần phải build lại dự án
Miễn phí và mã nguồn mở
Sử dụng Kode bạn sẽ không tốn bất kì chi phí phát sinh nào. Không chỉ sử dụng mà còn có thể đọc mã nguồn, tham gia sửa và đóng góp mã nguồn cho dự án. Cùng nhau chung tay cho sự phát triển của Kode.
Việc sử dụng Kode có ý nghĩa gì?
- Rèn luyện tư duy khi viết các phần mềm
- Tiết kiệm thời gian, công sức và nhân lực cho những dự án lớn
- Đóng góp phần nhỏ cho hệ sinh thái của Việt Nam
- Là điểm bắt đầu tuyệt vời khi làm quen với công việc phát triển phần mềm
- Tạo điều kiện cho những dự án của các học sinh sinh viên được thực hiện hóa
- Cùng nhiều ý nghĩa do chính bạn thêm vào
Một vài liên kết đến Kode
Tổng kết
Do giới hạn của bài viết này nên tôi chỉ có thể trình bày ngắn gọn Kode, trong các bài viết sau tôi sẽ giới thiệu sâu hơn về Kode.
Tôi rất vui khi nhận được những lời đánh giá từ các bạn về Kode. Tương lai của Kode phụ thuộc vào các bạn. Chân trọng cảm ơn