ReactJs là mÎt th˜ viªn Javascript ang nÍi lên trong nh˙ng n´m g¶n ây vÓi xu h˜Óng Sin-gle Page Application. Trong khi nh˙ng framework khác cËg≠ng h˜Óng ∏n mÎt mô hình MVC hoàn thiªn thì React nÍi b™t vÓi s¸ Ïn gi£n và dπdàng phËi hÒp vÓi nh˙ng th˜viªn Javascript khác. N∏u nh˜ AngularJS là mÎt Framework cho phép nhúng code Javascript trong code HTML thông qua các thuÎc tính nh˜ ng-model, ng-repeat... thì vÓi ReactJS là mÎt th˜ viªn cho phép nhúng code HTML trong code Javascript nhÌvào JSX, i∑u ó giúp dπdàng lÁng các o§n HTML vào trong JS. Tích hÒp gi˙a Javascript và HTML vào trong JSX làm cho các component dπhi∫u hÏn.
MÎt trong nh˙ng i∫m hßp d®n cıa React là th˜ viªn này không chø ho§t Îng trên phía client, mà còn ˜Òc render trên server và có th∫k∏t nËi vÓi nhau. React so sánh s¸thay Íi gi˙a các giá tr‡ cıa l¶n render này vÓi l¶n render tr˜Óc và c™p nh™t ít thay Íi nhßt trên DOM. NhÌ
ó ReactJS có hiªu n´ng tËt hÏn nh˙ng công nghªhiªn t§i
3.3.4 K∏t lu™n và l¸a chÂn
Nh˜ v™y, sau khi tìm hi∫u và phân tích v∑ ∞c i∫m và lÒi ích cıa các th˜ viªn, framework trên, nhóm ã quy∏t ‡nh l¸a chÂn ReactJs là công nghª ˜Òc s˚dˆng vì nh˙ng l˛do sau:
• Phù hÒp vÓi lo§i hình˘ng dˆng Ïn trang (Single page application).
• React ˜Òc thi∏t k∏ ∫ áp˘ng cho nhu c¶u òi h‰i hiªu n´ng cao.
• CÎng Áng l™p trình viên s˚dˆng ngôn ng˙này ông, có nhi∑u h˜Óng d®n cÙng nh˜chia s¥ kinh nghiªm ∫tránh nh˙ng sai sót cÙng nh˜tËi˜u hóa˘ng dˆng.
• Có nhi∑u th˜viªn hÈtrÒrßt tiªn lÒi và phù hÒp vÓi mô hình MVC và Single page application.
3.4 Các th˜ viªn hÈ trÒ cho ReactJS3.4.1 Flux 3.4.1 Flux
Flux không ph£i là mÎt framework hay mÎt th˜viªn, flux là mÎt ki∏n trúc mà Facebook xây d¸ng ∫hÈtrÒkhi làm viªc vÓi React.
MÎt ki∏n trúc Flux i∫n hình là s¸k∏t hÒp gi˙a th˜viªn Dispatcher ( ˜Òc vi∏t bi Facebook) cùng vÓi Module NodeJS EventEmitter ∫t§o nên mÎt hªthËng s¸kiªn (Event System) qu£n l˛ các tr§ng thái cıa ˘ng dˆng.