Một trong những cách đáng tin cậy nhất để phân biệt liệu một công ty đã bắt đầu suy thoái hay chưa đó là sử dụng một đạo hàm nhằm đánh giá tiện ích sản phẩm mà nó cung cấp trong một khoảng thời gian.  Apple đã từng chứng kiến ​​một mức tăng trưởng đột biến lớn trong tiện ích sản phẩm trung bình khi họ phát hành iPhone, nhưng sau đó nó hạ xuống mức ổn khi khi họ bắt đầu loại bỏ các chức năng quan trọng của điện thoại như jack 3.5mm. Nói chung,hầu hết các công ty đều đang phát triển theo sơ đồ đường hình chữ S hoặc đường hình parabol .Một dạng là tìm điểm độc đáo của sản phẩm, hoàn thiện nó rồi từ đó thu về lợi nhuận thoải mái mà không cần phải cố gắng phát triển quá nhiều. Dạng sau là phát triển một cách cẩu thả sau đó tự sụp đổ khi thất bại trong việc hiểu rõ sản phẩm của chính mình.

Tài liệu

 

Bạn đã bao giờ có một ý tưởng tuyệt vời cho một dự án cuối tuần, bắt đầu nó vào chiều thứ bảy, và sau đó đến chỗ làm đều đặn để nhận ra dự án sẽ mất ít nhất sáu tháng để thực sự hoàn thành? Google đã có một khoảnh khắc như vậy khi họ đặt các Document hoạt động bên trong của  ANGULAR WEB DEVELOPMENT FRAMEWORK. Họ sau đó nhỏ giọt như espresso cho một thực tập viên trong nhiều tuần cho đến khi cô đã có một dự án code Hello World - có thể thuyết phục họ lấy ra tài liệu hoàn chỉnh của toàn bộ stack .

Không có lỗi nào trong số các lỗi mà bạn gặp phải khi xây dựng một ỨNG DỤNG WEB trên ANGULAR WEB DEVELOPMENT FRAMEWORK sẽ được liệt kê trong tài liệu này. Cũng rất ít các mẫu thiết kế hoặc khái niệm cốt lõi mà bạn muốn cũng sẽ có mặt ở đây. Nếu bạn muốn tìm hiểu cách xây dựng một công cụ với ANGULAR, bạn sẽ cần phải mua một khóa học trực tuyến (tôi có thể giới thiệu Hướng dẫn hoàn chỉnh chi tiết của Maximillian Schwarzmueller) nói sẽ tiết lộ cho bạn tất cả các điều bạn cần! bài viết này nhằm cảnh báo về những khoảnh khắc và cạm bẫy đang chờ đợi những người tin rằng họ có thể bắt đầu viết Javascript như một nhà phát triển React hoặc VueJs development.

 

Tôi sẽ demo thử, tài liệu thực tế của Angular có sẽ còn nhiều chức năng hơn

const searchEngine = process.env.ENJOYS_CORPORATE_SERFDOM
   ? sites.GOOGLE
   : sites.DUCKDUCKGO;
const bugs = this.checkForBugs();
bug.forEach(bug =>{
   searchEngine.query(`site;stackoverflow.com ${bug.ErrorMessage} - angularjs`)
  .then(results => { 
     this.copyPaste(results[0],bug.sourceFile);
   }).catch(CopyPastableSolutionNotFoundError =>{
     this.abadonHopeForBug(bug);
     this.routeAround(bug.intendedBehavior);
   });
});


Chú ý bất cứ điều gì? Vâng, điều đó đúng: khi sửa lỗi trong ANGULAR, bạn cần loại trừ cụm từ `angularjs` khỏi mỗi tìm kiếm của bạn một cách cụ thể. Bạn không thể nối thêm 2 hoặc 7 hoặc hy vọng rằng Chỉ cần "ANGULAR" sẽ đủ để loại trừ phiên bản đầu tiên không hợp lệ của stack phát triển phần mềm này.

Nhưng sau khi bạn bắt đầu đọc đủ các giải pháp cho vấn đề về Stack Overflow của mọi người, và nó bắt đầu khai sáng cho bạn rằng giữa code bạn viết và code chạy trong trình duyệt, không chỉ compiler có thể dễ dàng phá vỡ tất cả các CSS của bạn, có một hộp đen bona fide yêu cầu bạn định dạng ứng dụng của bạn một cách chính xác như vậy hoặc toàn bộ điều sẽ thất bại hoặc tệ hơn, nó sẽ phun ra một incorrect error message. Bạn thực sự không thể tin tưởng bất cứ điều gì mà ANGULAR WEB DEVELOPMENT FRAMEWORK cho bạn biết về những gì bạn đã làm sai bởi vì thậm chí bạn còn không biết hệ thống hoạt động như thế nào. Bạn có xác nhận được chỉ các EntryComponent mà bạn chú ý đến trong Module sẽ được Lazy Load thay vì chạy tất cả module gốc khiến lợi ích của việc Lazy load nên hoàn toàn vô nghĩa ? Không, Vậy bạn đã thử sử dụng hai chiều dữ liệu ràng buộc thay vì một chuỗi phức tạp của `EventEmitter`,` Subscription`s và `Service`s chưa ? Nó bi cấm!

Tóm lại toàn bộ trải nghiệm ANGULAR WEB DEVELOPMENT FRAMEWORK  sẽ là như thế này. Bạn chạy hết tốc lực vào một bức tường gạch và leo xung quanh nó với tốc độ của một con ốc sên, dò dẫm một cách thảm hại và đề phòng bất kỳ trở ngại tùy ý nào mà FRAMEWORK có thể ném theo cách nó muốn vào bạn. Có rất ít điều trong thế giới này có thể gây ức chế hơn cái việc cố gắng để vận hành cái thứ kỳ quái và gây buồn bực được cái tập đoàn quản lý thông minh nhất trên thế giới này "bài tiết" ra.

 

Hãy tưởng tượng một chiếc xe có mui xe không bao giờ mở ra, và bảng điều khiển của họ chỉ nói DASHBOARD trong các đèn nhấp nháy không tắt. Chiếc xe này không thể được sửa chữa sau một lần bị hỏng; nó chỉ có thể được thay thế hoặc sửa đổi dần dần từ bên ngoài vào bên trong. Nó có thể xả khí thải ngay cả khi nó không được bật lên. Không tồn tại cái thứ được gọi là hướng dẫn sử dụng dịch vụ. Nếu bạn muốn biết nó hoạt động như thế nào, nhà sản xuất đưa bản một hướng dẫn lắp ráp 5.280 trang. Chúc may mắn.

 

Kiến trúc

 

ANGULAR chạy chậm. Ứng dụng viết mất nhiều thời gian và các ứng dụng bạn tạo ra cũng rất chậm chạp khi nó trở nên phức tạp hơn `Hello World`. Điều này có thể chấp nhận được nếu khung công tác ANGULAR mang lại bất kỳ lợi ích nào cho người dùng hoặc lập trình viên, chẳng hạn như biên dịch nhanh hoặc tăng cường bảo mật ứng dụng. Nhưng ANGULAR không sở hữu cái nào trong số này. Trong thực tế, nó sụp đổ thành một đống đổ nát khi chỉ đề cập đến một `Uncaught TypeError`.

 

Về cơ bản, cách duy nhất để hiểu những gì Angular đang thực sự làm là đọc hàng triệu dòng mã nguồn mà các nhà phát triển vui vẻ cung cấp trên GitHub. Vì không ai thực sự làm điều đó, các nhà phát triển WEB ANGULAR thường giải quyết việc học một hoặc hai mẫu thiết kế mà họ biết sẽ không sập và dùng mẫu đó để xây dựng toàn bộ ứng dụng của họ. Điều này giống như việc một chiếc tàu ngầm được chế tạo từ găng tay bơm hơi văn phòng của bác sĩ được phóng to. Nó có thể có thể hoạt động khí nó được cung cấp vô tận số lượng găng tay và di chuyển một cách chậm rãi. Lựa chọn còn lại duy nhất khác của bạn là đắm mình trong sự điên khùng vô nghĩa, tùy tiện đang chờ đợi nhà phát triển, những người cố gắng tìm hiểu cách ANGULAR "hoạt động".

 

Tôi sẽ cho bạn biết cách nó nên hoạt động. Các thành phần của bạn nói chuyện với các Dịch vụ của bạn để chuyển tiếp dữ liệu đến các Injectables khác của bạn thông qua các Mô-đun mà ứng dụng của bạn Nhập khẩu. Điều gì chưa rõ về điều đó? Nếu bạn cần làm rõ, hãy xem lại nguyên tắc Material Design. Họ đã có Components cho mọi thứ bạn cần xây dựng và giữ cho thiết kế của bạn pixel hoàn hảo. Nó phải được thiết kế đủ dễ dàng để làm .Và nó sẽ nhìn và cảm thấy tuyệt vời khi padding trên mỗi mục danh sách ăn lên một phần ba của trang web, và mở một trình đơn thả xuống mất tất cả mười sáu giây. Bạn không cảm thấy tự do khỏi những hạn chế tùy ý và kém phát triển của Internet?

Không một phần thiết kế nào của ANGULAR làm cho mã của bạn chạy nhanh hơn.  Nó chỉ tăng ba điều: sự phức tạp, thời gian cần để hoàn thàn một tính năng đơn giản,  thời gian để bạn hoàn thành việc bảo mật . Thêm 1 cảnh báo: ANGULAR WEB DEVELOPMENT FRAMEWORK sẽ không thể giúp gì được bạn khi deadline đến

Chia Sẻ sau 1 năm buồn thảm làm nô lệ cho Google

ANGULAR đã giúp cho tôi trở thành một lập trình viên tốt hơn bởi vì nó dạy tôi cách viết một ứng dụng chức năng trong khi đang đứng trong một ngọn núi lửa, nhảy qua một hồ dung nham trên những hòn đá rắn. Bất cứ điều gì tôi đã làm đều không phải là cách nhanh nhất và hiệu quả nhất dẫn đến một sự trì trệ không thể chịu nổi. Bất cứ điều gì tôi đã cố gắng để làm đều trở nên phức tạp hơn so với giải pháp xương trần nhất của việc tuân thủ đối tượng dữ liệu A đến phần tử hiển thị B có trách nhiệm gửi toàn bộ địa điểm lên trong ngọn lửa.  bất kỳ lỗi nào trong ứng dụng ANGULAR APPLICATION của bạn sẽ khiến phần còn lại của ứng dụng ANGULAR APPLICATION hoạt động một cách cực kỳ ngờ. Chúng tôi đã kết thúc triển khai hệ thống nơi ứng dụng sẽ tải lại trang mỗi khi nhận thấy lỗi  vì nó đơn giản hơn việc cố gắng tìm cách hỗ trợ để xác định xem lỗi có phải là lỗi của riêng mình hay do lỗi khác tự nhiên xuất hiện lặng lẽ biến mất . Họ cũng có thể xoá đi tất cả nhưng sửa chữa của tôi rồi nhắn rằng:"đừng viết lỗi, hãy thử nghiệm trước bằng Test Driven Development!"  

Tôi sẽ mang tất cả kiến ​​thức về ANGULAR WEB DEVELOPMENT FRAMEWORK theo trong suốt quãng đời còn lại của mình. Không có cách nào để tôi thoát khỏi bản thân mình; nó liên kết với tôi mạnh mẽ hơn bất kỳ kiến thức nào, và nó  cũng làm tắc nghẽn các nếp nhăn của bộ não của tôi kỹ lưỡng hơn bất kỳ chất lỏng tự nhiên nào có thể. Tôi không có lựa chọn nào khác ngoài việc dùng khả năng của tôi vào công việc kinh doanh bất động sản vì tôi cần nuôi sống gia đình mình. Nhưng có hy vọng. Một ngày nào đó tôi có thể có được một hợp đồng bằng cách sử dụng một Framework như React hoặc Redux, Vue.  Hôm nay tôi đang làm việc tại Whiteboard Dynamics , nơi mà thời gian của tôi ít tốn thời gian hơn việc ngồi Ctrl-C'ING AULULAR COMMAND LINE TOOL và thường xuyên viết mã sạch, hiệu quả và chức năng cho các sản phẩm không cần phải viết lại sau mỗi ba tháng . Tất cả trong tất cả, tôi tìm thấy sự thay đổi đã phục hồi nhiều năm để tuổi thọ của tôi. Chúng tôi sẽ viết điều gì đó trong ANGULAR nếu bạn yêu cầu - như tôi đã nói, tôi sẽ chịu đựng khả năng bị nguyền rủa này mãi mãi - nhưng hãy tin tôi đi: bạn nên đến với một thư viện mà mọi người  thích làm việc ở đó. Nó sẽ khiến bạn mất ít thời gian và tiền bạc, và bạn sẽ giữ được linh hồn bất tử của mình.

Bài viết được dịch từ bài:"Why Angular Made Me Quit Web Dev ?" của tác giả Tobias Merkle