Angular là gì? Phân biệt Angular và Angular JS? | ITviec

Angular là 1 JavaScript framework dùng để viết giao diện internet (Entrance-end), được phát triển thành bởi Google. Hiện nay, Angular đang được dùng bởi siêu nhiều những tổ chức lớn: Forbes, Basic Motors, Upwork…

Muốn phát triển thành Entrance-end Developer chuyên nghiệp, bạn ko thể ko biết tới sự tồn tại của Angular.

Đọc bài phỏng vấn của ITviec có anh Trần Thuận Nghĩa – Software program Engineer tại VinID để biết:

  • Angular là gì? Phương pháp phân biệt AngularJS và Angular là gì?
  • Có nên khởi đầu sự nghiệp tại vùng vị trí Entrance-end Developer?
  • Tố chất cần thiết để phát triển thành Entrance-end Developer?
  • Tài liệu tham khảo về Angular và lời khuyên cho Entrance-end Developer

Xem thêm việc làm cho Angular trên ITviec

Tiểu sử: Anh Nghĩa có sắp 6 5 kinh nghiệm làm cho việc có Angular nói riêng và Entrance-end nói chung. Anh trải trải qua vùng vị trí tại 1 số tổ chức như: Developer tại 2Click Options, Technical Chief tại Smartlog Vietnam… Hiện tại anh đang là Software program Engineer tại VinID.

Chào anh Nghĩa. Em khá ngạc nhiên có background của anh, anh có thể nói 1 chút về nó?

Trước đây anh từng học lớp Cử nhân nhân tài, ngành Kỹ thuật thông tin tại trường Đại học Khoa học tự động nhiên. Trong thời kì học tại trường, anh cũng tham dự 1 số cuộc thi lập trình và mang trong mình về 1 số giải thưởng. Dí dụ như giải 3 cuộc thi lập trình ACM toàn quốc.

Nhưng vì cảm thấy chán và 1 phần ham chơi (cười) nên anh đã bỏ học giữa chừng để đi làm cho luôn.

Thời kì đấy anh bị mọi người chỉ trích siêu nhiều, ai cũng bảo anh ko làm cho được gì đâu. Anh đã cố gắng siêu nhiều để chứng minh cho họ thấy rằng ko có bằng Đại học thì vẫn có thể thăng tiến trong công việc, người ta tuyển mình vì năng lực chứ ko nên vì tấm bằng.

Và như em thấy đấy, anh ko thất nghiệp mà vẫn theo đuổi công việc Developer cho tới tận ngày nay}.

Công việc trước tiên sau khoản thời gian anh giới hạn sự nghiệp học tập?

Anh làm cho Companion cho Sino Company. Doanh nghiệp này bán những siêu phẩm về mã vạch (barcode), nhiệm vụ của anh là viết phần mềm đi kèm giúp dùng siêu phẩm. Đây cũng là lần đầu anh tiếp xúc có Angular.

Angular là gì vậy anh?

Angular là 1 JavaScript framework dùng để viết giao diện internet (Entrance-end), được phát triển thành bởi Google.

Anh lấy dí dụ: bình thường trường hợp chỉ làm cho bằng tay, em sẽ làm cho ra được 10 cây viết/ngày nhưng trường hợp dùng công cụ máy móc, em sẽ làm cho ra được 100, thậm chí 1000 cây viết/ngày.

Angular đối có Developer cũng như công cụ tại trên vậy, trường hợp ko dùng framework này thì sẽ mất siêu nhiều thời kì để hoàn thiện giao diện internet.

Đây có nên là nguyên nhân duy nhất làm cho Developer dùng Angular?

Anh nghĩ bên cạnh tiết kiệm thời kì thì Developer còn dùng Angular vì 1 số nguyên nhân:

  • Angular được “chống lưng” bởi Google, nó làm cho Developer có cảm giác được đảm bảo. Mặc nhiên, họ sẽ ám thị rằng framework này khó mà bị “khai tử”, vì vậy cứ yên tâm dùng.
  • Cùng đồng khách hàng lớn nên trường hợp có thắc mắc gì cũng sẽ nhanh chóng được giải đáp.
  • Giúp phát triển thành Ứng dụng trang đơn (Single-page Software). Đây là ứng dụng chạy trên browser mà ko nên} nên tải lại trang lúc dùng.
Xem Thêm  Chất dẫn điện là gì? Chất bí quyết điện và những ứng dụng đối có cuộc sống

Cá nhân anh thích Angular còn bởi vì framework này được viết bằng ngôn ngữ TypeScript do Microsoft phát triển thành, dễ đọc (readable), dễ bảo trì (maintainable).

Sự khác biệt giữa AngularJS và Angular là gì vậy anh?

AngularJS là từ được được dùng để nói về Angular 1 (ra đời 5 2009), được viết bằng JavaScript.

Còn Angular là từ gọi chung cho Angular 2 trở lên (ra đời 5 2016), được viết bằng TypeScript – phiên bản nâng cao của JavaScript.

Kiến trúc của Angular và AngularJS khác nhau hoàn toàn và hiện tại AngularJS cũng ko còn được Google tương trợ nâng cấp nữa.

Công việc thường ngày của anh lúc tại vùng vị trí Entrance-end Developer?

Cũng như những tổ chức theo mô hình Scrum, bên anh tổ chức họp từng ngày để nói về những vấn đề đang gặp nên.

Chẳng hạn: chưa nhận được API từ staff Again-end hay API chưa có đủ thông tin. Tiếp tục anh bắt tay vào giải quyết những công việc:

  • Viết và chỉnh sửa giao diện theo bắc buộc. Chẳng hạn: viết xử lý cho những hiệu ứng (animations), thay đổi đổi những khía cạnh (parts), những nút (buttons)…
  • Dùng Git để quản lý supply code.
  • Overview code, evaluate UI/UX.
  • Viết element có thể tái dùng.
  • Định nghĩa bộ fashion button, icon, shade … cho hệ thống và vận dụng.
  • Tối ưu efficiency của web site: tốc độ load trang, hình ảnh…

Anh thấy trường hợp so sánh có Again-end Developer thì công việc của Entrance-end Developer khó hơn vì Again-end chỉ cần đảm bảo “code chạy là được”, enter chiếc này sẽ output ra chiếc kia. Trong lúc đối có Entrance-end, code chạy được là 1 chuyện, còn đưa lên giao diện như thế nào lại là chuyện khác.

Việc làm cho Entrance-end Developer tại TP.HCM

Việc làm cho Entrance-end Developer tại Hà Nội

Sai lầm đáng nhớ nhất và bài học anh rút ra?

Trước đây, anh mắc nên sai lầm lúc viết code tại phía giao diện dẫn tới trang đấy bị crash – nghĩa là lúc 1 trang nên xử lý quá nhiều dữ liệu thì bộ nhớ (reminiscence) ko chạy nổi.

Lúc quý khách báo bug thì anh new tìm ra code của anh trong lưới (grid) bị loop – tình trạng vòng lặp, cứ nửa giây lại gọi hàm đánh giá dữ liệu trong lưới.

Đối có lưới chỉ có 2-3 dòng thì ko sao nhưng lúc nâng cao lên 100 dòng thì bị crash. Cụ thể thì lúc Tester kiểm thử, họ check chi tiết đơn hàng quá ít nên ko thấy xảy ra vấn đề gì cả. Nhưng lúc launch và khởi đầu cho khách hàng dùng, chi tiết đơn hàng lên tới hàng trăm, hàng ngàn dòng thì xảy ra lỗi.

Tuy ko gây ra hậu quả gì nghiêm trọng, khách hàng cũng ko phàn nàn gì nhưng dù sao, cũng là lỗi của anh lúc ko lường trước được điều này. Anh đã đổi lại syntax trong code, mất thêm 2 ngày để sửa lỗi.

Sau này, anh có đọc những đề xuất (suggest) từ trang chủ của Angular thì cũng thấy nói là ko nên viết vậy. Bắt buộc chi anh biết sớm thì phải chăng hơn rồi.

Rút kinh nghiệm, anh theo dõi những bài viết về Angular thường xuyên hơn (chủ yếu trên trang Medium), cứ 8h sáng hàng ngày anh lại nhận được bài viết new liên quan tới những tiêu chí mà anh đã chọn.

Xem Thêm  PCI (Chỉ số năng lực khó} cấp tỉnh) là gì new nhất

Anh đọc những bài chia sẻ kinh nghiệm về Angular để biết vấn đề có tồn tại. Tất nhiên ko thể thuộc nỗi đa số những trường hợp (case) nhưng lúc cần, mình biết là nó có tồn tại để tìm lại.

Dí dụ: Em đọc báo và biết tới sự tồn tại của máy hút bụi. Sau này lúc em có nhu cầu làm cho sạch bụi bẩn mà ko tốn nhiều thời kì và công sức, em nhớ ngay là có công cụ có tính năng đấy để kiếm tìm và sắm nó.

Bên cạnh ra, lúc check, anh ko chỉ lưu ý tới tính năng mà còn xét cả khả năng xảy ra vấn đề. Dí dụ: thay đổi vì check trên số đơn hàng, anh sẽ lưu ý hơn tới số chi tiết đơn hàng…

Có điều gì về nghề Entrance-end Developer mà anh cảm thấy ngạc nhiên?

Anh thấy nhiều bạn đang hiểu sai về Entrance-end Developer. Họ nghĩ bọn anh bên cạnh code, còn nên biết cắt file photoshop ra file HTML nữa (cười).

Kỹ năng và tố chất cần thiết có Entrance-end Developer?

Có trách nhiệm có công việc.

Chưa biết mình làm cho phải chăng hay ko phải chăng nhưng hãy cố gắng đi đã. Đừng chỉ làm cho đối phó, làm cho có suy nghĩ “code chạy là được”. Ví dụ biết những rủi ro tiềm ẩn thì hãy giải quyết nó trước và luôn tìm phương pháp để nâng cao hiệu suất làm cho việc.

Trước kia, anh chỉ viết element dùng chung cho dự án (A) mà anh đang làm cho. Sau này, lúc chuyển sang dự án (B) khác, anh muốn dùng lại những element này thì anh nên copy rồi paste sang. Khá mất thời kì và trong trường hợp những element tại A có thay đổi đổi thì B cũng ko cập nhật được.

Vậy nên anh đã chuyển những element này thành những package deal trên npm, chỉ cần tải (set up) package deal và phiên bản tương ứng là có thể dùng được.

Có chút tri thức về UI, UX.

Tại 1 số tổ chức bé, ko có kinh phí tổn thuê Designer thì Entrance-end Developer nên làm cho luôn nhiệm vụ thiết kế UI, UX. Vậy nên bạn nên tự động học hỏi mà rút kinh nghiệm từ những phần mềm xung quanh, xem vì sao phần giá thì người ta hay dùng màu sắc đỏ, nút này để màu sắc xám, thông tin kia được in đậm….

Như lúc anh tham khảo phần mềm kế toán MISA, anh thấy khách hàng ko muốn bấm quá nhiều nút và hiển thị quá nhiều thông tin ko cần thiết. Ví dụ sau này, anh có làm cho phần mềm tương tự động thì anh sẽ ko mắc nên lỗi đấy.

Anh nhớ ngày xưa có 1 lần anh tự động ý đổi giao diện Entrance-end vì thấy ko hợp lý, lúc đấy anh còn làm cho Technical Chief cho Smartlog. Đa số cấp dưới của anh đều phản ứng lại, bảo rằng: đổi giao diện mà ko báo có khách hàng thì ko được, giao diện new khó nhìn, nhìn ko quen… Nhưng anh vẫn giữ nguyên ý kiến.

Như Fb đấy, họ đổi giao diện đâu có báo trước có mình, những khách hàng sau cũng ko biết giao diện trước như thế nào…

Tiếp tục thì khách hàng vẫn dùng giao diện new bình thường. Thực tế là ai cũng có xu hướng phản ứng có những thay đổi đổi nên đôi lúc mình nên phân biệt xem chiếc nào hợp lý và giữ ý kiến.

Xem thêm: Tại sao mọi Developer cần học UI, UX

Luôn luôn cập nhật kỹ thuật, phiên bản new có những chiếc mình đang làm cho.

Ứng dụng/phần mềm của mình viết bằng Angular 4 nhưng phiên bản new nhất đã lên tới Angular 8, Angular 9 mà vẫn ko cập nhật (improve) vì ngại rủi ro thì cũng ko phải chăng.

Xem Thêm  30+ phim khoa học viễn tưởng hay nhất bạn nên xem

Anh có nghĩ Entrance-end Developer là khởi đầu phải chăng cho 1 bạn new bước vào ngành IT?

Loại đấy còn tuỳ vào sở thích của từng người. Ví dụ bạn ko muốn làm cho sâu về information hay phân tách hệ thống thì có thể chọn Entrance-end.

Nhưng trường hợp muốn tiến xa hơn trong sự nghiệp, anh khuyên quý khách nên theo học chính quy để được dạy về phương pháp tư duy logic như lập trình hướng đối tượng, cấu trúc dữ liệu và giải thuật…, giúp bạn hiểu bản chất của ngôn ngữ lập trình.

Còn trường hợp chỉ xem Entrance-end như 1 công việc tay ngang, chỉ đơn giản copy và paste rồi làm cho tương tự động miễn sao ra được giao diện thì sự nghiệp sẽ có giới hạn.

1 bạn new phát triển thành Entrance-end Developer (chưa có kinh nghiệm thực tế) nên làm cho gì trường hợp dự án trước tiên quá phức tạp?

Ví dụ dự án phức tạp, bạn đấy nên đặt câu hỏi có những người đi trước trong staff, lưu ý ko nên hỏi quá nhiều. Hãy đặt mình vào vùng vị trí người được hỏi, họ còn có công việc riêng, ko thể ngồi giải đáp cho bạn mãi được.

Bản thân anh cũng vậy, anh chỉ hỏi những ý chính (theo kiểu từ khóa) rồi tiếp theo tự động tìm hiểu thêm.

Chẳng hạn, anh hỏi:

  • tại Entrance-end đang xài những thư viện gì?
  • tổ chức những thư phần (module) như thế nào?
  • chức năng từng thư phần là gì?
  • có gì cần lưu ý hay ko?

Chứ ko hỏi: “Code chỗ này nghĩa là gì vậy anh?” nhiều lần.

Những tài liệu anh đã từng tham khảo về Angular và Entrance-end?

Anh tham khảo khá nhiều tài liệu nhưng anh đánh giá cao nhất những nguồn này:

  • Angular.io: web site giúp người new tìm hiểu và làm cho quen có Angular. Bạn sẽ biết những khái niệm, syntax cơ bản trong Angular và phương pháp tạo 1 venture Angular ra sao.
  • Khóa học Angular từ cơ bản tới nâng cao: nhận diện những lỗi thường gặp lúc dùng Angular và biết phương pháp xây dựng 1 ứng dụng thương mại điện tử có Angular, Firebase, Bootstrap 4
  • Angular 2 Notes for Professionals: book miễn phí tổn, được tổng hợp và biên soạn dựa trên những chia sẻ của những chuyên gia Angular trên Stack Overflow. Trình bày tất tần tật những tính năng của Angular cũng như những mẹo hữu ích để làm cho việc hiệu quả có chúng.
  • Angular Crash Course for Busy Builders: Khóa học này khá hữu ích có những developer bận rộn, chỉ cần dành ra 10 giờ học, bạn sẽ nắm được những tri thức chủ chốt nhất về Angular framework.

Tham khảo thêm: Học lập trình Entrance-end có 20+ tài liệu miễn phí tổn

Bạn có nên là Entrance-end Developer và là “fan” của Angular? Bạn nghĩ bài viết này có thể giúp ích cho những Developer khác? Chia sẻ ngay để giúp cùng đồng Developer cùng phát triển thành.

Xem thêm việc làm cho Entrance-end Developer trên web site ITviec