Chào mọi người,
Mọi người có thể giúp mình đưa ra khái niệm của thư viện và frame work, qua đó cho mình hỏi cái nào là thư viện cái nào là framework javascript và tại sao không ạ: JQuery, AngularJS, ExtJS, NodeJS, Dojo.
Mình xin cảm ơn!
Phân biệt thư viện javacsript với framework javascript
Mình chắc chắn JQuery là một lib. Vì trang chủ của nó đã nói rõ rồi. AngularJS là một framework, cái này docs trên trang chủ của nó cũng đã nói. ExtJS này hình như cũng là framework. Mình thấy nó được so sánh với AngularJS, nên chắc là thế. NodeJs chả phải framework, mà cũng chả phải lib. Nó chỉ là một môi trường để giúp Javascript làm back-end server-side thôi. Dojo, cái này là framework này.
Để phân biệt được cái nào là lib, nào là frame thì cứ nghĩ đơn giản
Lib giúp định nghĩa một số thứ sẵn rồi, bạn dựa vào đó viết theo. Dạng một cái guide
Framework thì lại là một cái lõi, bạn làm thêm nhân.
Ví dụ:
Khi làm bài tập toán, các công thức trong sách chính là lib hỗ trợ bạn việc giải bài toán. Còn framework nó giống như những dòng mẫu ghi sẵn lời giải, bạn chỉ cần ghi đáp án vào thôi.
Không riêng gì Js, khái niệm Framework và Library mình giải thích thế này
Framework hỗ trợ viết ứng dụng trên nền tảng đó như AngularJS. Còn thư viện là những thứ đã viết sẵn giúp thêm chức năng, phát triển ứng dụng đơn giản hơn như jQuery
Thư viện thì chỉ là các class có các method mà bạn cần dùng, và bạn gọi nó, bạn kiểm soát được nó, còn framework thì sẽ gọi lại code của bạn vào lúc cần thiết, cái này bạn nên đọc thêm Inversion of Control để hiểu thêm :))