Chọn framework javascript client-side nào



  • Hi all. Em bây giờ muốn chọn 1 framework javascript client-side nhưng em chưa dùng AngularJS , ReactJS ... Em thấy có jsblocks mới ra và thấy bảo performance cao . Mọi người có thể cho em ý kiến với ak. Thanks all.



  • Nếu bạn thực sự chú trọng vào hiệu năng (performance) thì mình nghĩ bạn không nên lựa chọn bất cứ một framework nào. Hãy thử viết bằng Javascript thuần (pure Javascript). Mặc dù sẽ tốn thời gian hơn một chút nhưng những kiến thức mà bạn có được sẽ có giá trị hơn và giúp ích rất nhiều trong tương lai.



  • Thanks anh @tresdin. Nhưng khi phát triển dự án nhanh thì theo anh nên chọn framework nào ak.



  • Viết thuần js mantain code cứ gọi là .... . Jsblock thì document với tut hơi ít, cứ chọn cái nào nhiều người làm ấy Angular hoặc React . React thì nó chỉ làm View chứ không là cả 1 framework như angular .



  • @Truong-Lee Mình nghĩ bạn nên chọn jQuery. Vì jQuery được chính xác thiết kế cho mục đích sử dụng đó. jQuery cũng đồng thời là thư viện có tuổi đời lâu nhất (2006) trong số các thư viện trên, sớm hơn 3 năm so với AngularJS, sớm hơn 7 năm so với React, nên jQuery có tính ổn định cao hơn cả.



  • Thấy jsblock giới thiệu performance cao mà thấy ít topic nói về nó quá không biết ntn :D



  • @tresdin đã nói:

    @Truong-Lee Mình nghĩ bạn nên chọn jQuery. Vì jQuery được chính xác thiết kế cho mục đích sử dụng đó. jQuery cũng đồng thời là thư viện có tuổi đời lâu nhất (2006) trong số các thư viện trên, sớm hơn 3 năm so với AngularJS, sớm hơn 7 năm so với React, nên jQuery có tính ổn định cao hơn cả.

    Thực tế Jquery là 1 bộ thư viện khá năng nề trong thế giới JS. Nó ko phải framework. Để xây dựng 1 ứng dụng tốt cần cấu trúc tốt :D. Nếu được nên bắt đầu từ Angular , React, Ember .



  • @Quốc-Cường Tùy vào mục đích sử dụng mà lựa chọn công cụ tốt nhất. Với mục đích xây dựng nhanh một website thì jQuery là lựa chọn số 1. Chính vì jQuery không phải là một framework nên nó phù hợp với mục đích sử dụng trên. Bạn sẽ không thể xây dựng nhanh một website trên nền một framework. Hơn nữa, bạn nên lưu ý là việc sử dụng framework không hề tốt hơn sử dụng một library. Chúng chỉ đơn thuần là 2 công cụ phù hợp cho các mục đích sử dụng khác nhau. Thêm vào đó, mình cũng khẳng định là không thể xây dựng một ứng dụng có cấu trúc tốt trong một thời gian ngắn.

    Sử dụng framework giúp bạn xây dựng website trên một cấu trúc đã được kiểm nghiệm bởi nhiều người nhưng cũng đồng thời khiến bạn bị gò bó trong khuôn khổ của framework đó. Đây cũng là lí do mà mình thường khuyên các bạn mới học Javascript không nên xây dựng website của mình trên nền tảng của bất cứ một thư viện hay framework nào. Hãy học từ gốc để hiểu hơn về Javascript, học để hiểu hơn về sức mạnh của ngôn ngữ này. Khi bạn đã có kiến thức nền tảng về Javascript rồi, lúc này bạn có thể tiếp tục phát triển ứng dụng của mình bằng Javascript thuần hoặc lựa chọn một framework hay thư viện phù hợp tùy thuộc vào đặc thù của ứng dụng.



  • Thế thì hơi khác với mình. Ngôn ngữ hay công cụ tốt sẽ giúp bạn tạo ra 1 sản phẩm nhanh nhất có thể. Cái cuối cùng là 1 sản phẩm tốt . Mình không khuyến khích ai tự tạo 1 cái từ đầu hay học javascript theo cách đó. Ví dụ như nodejs thực tế sử dụng trong 1 dữ án không tới 5% thư viện của nó có sẵn. Mô hình phát triển npm cũng hướng đến việc tái sử dụng code của mọi người . Học javascript theo cách của bạn thì sẽ gò bó bản thân trong 1 ngôn ngữ , nó chỉ là 1 công cụ mà thôi , công cụ tạo thành 1 ứng dụng tốt theo ý tưởng của ta .



  • @Quốc-Cường Bạn cần nói rõ thế nào gọi là một công cụ tốt. Và tại sao nó lại giúp bạn xây dựng sản phẩm nhanh nhất có thể? Với mình, chỉ có những công cụ phù hợp với các mục đích sử dụng khác nhau mà thôi. Nhiều người nói PHP không phải là ngôn ngữ tốt, nhưng thực tế để xây dựng một website trong thời gian ngắn nhất thì PHP vẫn là lựa chọn số 1.

    Học javascript theo cách của bạn thì sẽ gò bó bản thân trong 1 ngôn ngữ

    Không rõ bạn dựa vào điều gì để đưa ra kết luận này? Tại sao cách học của mình lại bị gò bó trong 1 ngôn ngữ?



  • @tresdin

    Ý mình là hãy dùng cái gì có sẵn , đừng quá đi sâu vào bên trong bản chất của 1 ngôn ngữ làm gì. Đây là quan điểm của mình 1 người không học CS hoàn chỉnh đến với nó vì đam mê và hiên giờ có thể là giảng dạy 1 chút nodejs tại TechmasterVN . PHP tốt , Golang tốt cái gì cũng có cái hay của nó hãy dùng nó để tạo ra 1 sản phẩm có nghĩa . Khi bọn mình build 1 CMS và 1 framework mới chỉ vì lý do đơn giản MEAN hay Sail.js không đáp ứng được yêu cầu custom trong công việc, viết 1 cái mới thực sự là 1 trải nghiệm không vui vẻ và thiếu thực tế nhất mà mình đã làm. Nó hoàn thành nhưng 1 sản phẩm của bạn cần nhiều hơn những dòng code... Bạn khó có thể nào kiểm soát được hết các lỗi bảo mật , các vẫn đề tiềm tàng trong đó. Với các bạn mới đến, các học viên của bọn minh đã dạy mình không khuyến khích điều này. Có nhiều thứ để tìm hiểu hơn và đào sâu vào bên trong viết 1 thứ như thế. Còn tại sao mình bảo là gò bó ngôn ngữ. Chúng ta biết tiếng Viết rồi cần quái gì học tiếng Anh nữa. Về mặt cấu trúc hay thiết kế javascript chưa hẳn là 1 ngôn ngữ tốt . Nếu bắt đầu với JAVA, C++ hay C# nó đem đến cho bạn nhiều kinh nghiệm tốt hơn .( Kinh nghiệm bản thân nhé -> độ nè đang hơi hưng thú với polygot :( )



  • @Quốc-Cường đã nói:

    • Ý mình là hãy dùng cái gì có sẵn , đừng quá đi sâu vào bên trong bản chất của 1 ngôn ngữ làm gì.
    • Chúng ta biết tiếng Viết rồi cần quái gì học tiếng Anh nữa.

    2 lời khuyên tồi tệ nhất mà mình từng nghe. Mình nghĩ bạn cần nghiêm túc xem xét lại quan điểm học của bạn.



  • @tresdin
    Đó là quan điểm của mình. Tuỳ bạn thôi . Câu 2 mình minh hoạ cho việc tại sao cần học nhiều ngôn ngữ . ko phải quan điểm. Còn mình luôn khuyên mọi người hay dùng cái gì có sẵn .



  • Có lẽ là tùy từng mục đích sử dụng mà chúng ta nên lựa chọn phương pháp nào. Mình đã từng làm vài sản phầm trên vài framework + tool có sẵn. Phải công nhận là build ứng dụng rất nhanh. Công việc cấu hình đơn giản, code cũng ít. Ban đầu mọi việc có vẻ suôn sẻ, cho đến khi project bắt đầu có nhiều chức năng phức tạp, cần phải tùy biến nhiều hơn. Mình bắt đầu thấy khó khăn. Mình không hiểu bên trong tool nó chạy như thế nào. Bắt đầu mình phả bỏ thời gian ra nhiều hơn để tìm hiểu công cụ, tìm hiểu cách tùy biến nó. Mình cảm thấy các chức năng mang tính chắp vá, không có hệ thống. Việc bảo trì code, phát triển ứng dụng, tích hợp với các hệ thống khác trở nên khó khăn.



  • #KLQ: Nhưng các bạn đang trao đổi vể CLGT?



  • @rikky đã nói:

    #KLQ: Nhưng các bạn đang trao đổi vể CLGT?

    Cách để gọi hồn admin :|.



  • Thanks các anh @tresdin @Quốc-Cường @Trần-Linh @vahaha đã giúp đỡ em và chia sẻ kinh nghiệm của mình. Tạm thời em chọn ReactJS ak.



  • Cho mình hỏi: Client của mình cần chạy tốt trên web lẫn mobile, và phải render hàng ngàn item, liên tục get và remove item trên màn hình. Mình đang phân vân giữa AngularJS 2.0 và ReactJS, AngularJS mình dùng bản 1.x thì thấy nhiều item nó bắt đầu nặng, tốn ram... còn 2 options mới thì chưa hiểu nhiều về nó, các bạn tư vấn giúp mình!


Log in to reply