2009-08-07 28 views
5

Công ty chúng tôi xây dựng trang web và ứng dụng web. Chúng tôi là một công ty nhỏ và nhóm phát triển của chúng tôi luôn xây dựng các chức năng javascript từ đầu hoặc sao chép từ các trang web khác do chúng tôi tạo. Mỗi khi tôi mang đến cho bảng tiêu chuẩn hóa từ và sử dụng một khung công tác JS như JQuery, Prototype hoặc bất kỳ hình thức nào khác, tôi được bảo rằng Khung có ba điểm bên dưới là các đối số chống lại chúng:Các đối số chống lại việc sử dụng Khung JavaScript cho một công ty phát triển trang web là gì?

  • Chủ yếu cho những người không biết đủ JS
  • Hạn chế khuôn khổ Các nhà phát triển Javascript
  • Các khung làm bật mã phát triển thực tế với nhiều thứ không được sử dụng.
  • Chúng tôi không sử dụng đủ Javascript trong các ứng dụng của chúng tôi để chúng tôi cần JS framework

Trong tâm trí của tôi có vẻ như Frameworks, cung cấp cho đội ngũ của chúng tôi một điểm khởi đầu tốt, tài liệu, một cộng đồng và luôn là lựa chọn để phát triển trên khuôn khổ. Một số người dùng Framework có thể xây dựng thêm không?

CHỈNH SỬA 1:

Cảm ơn tất cả các bạn đã trả lời tuyệt vời. Tôi thực sự không nghĩ rằng đây sẽ là một chủ đề nóng bỏng như vậy. Tôi vui vì tôi đã đặt câu hỏi. Tôi đã đăng một câu hỏi tương tự khác trong liên kết sau trong trường hợp bạn có thể nghĩ rằng bạn muốn thêm nội dung nào đó. Chủ đề của câu hỏi mới là CSS liên quan. Cảm ơn.

+16

Đồng nghiệp của bạn thích cắt và dán hơn bằng thư viện được thử nghiệm và phát triển? Bạn đã cân nhắc tìm việc ở nơi khác? –

+0

Điều đó thực sự không có ý nghĩa gì, bạn sẽ viết rất nhiều mã (vì trừu tượng bạn bị mất trên loại trình duyệt), nếu Opera làm điều này nếu Chrome làm điều này, elsif FF làm điều đó nếu IE làm một cách hoàn toàn khác điều = P. – JOBG

+1

Địa lý, hiển thị cho nhóm của bạn câu trả lời cho bài đăng này, nhưng nói trước rằng StackOverflow là tập hợp các nhà phát triển giỏi nhất thế giới, phần lớn trong số họ bảo vệ khung làm không có ý nghĩa chung. Sau đó, xem những gì họ nói. –

Trả lời

7

Lập luận chống lại:

  • Khung ngăn cản bạn từ tái phát minh ra bánh xe
  • Khung thường chứa thử nghiệm cũng đang
  • Khung được hỗ trợ tốt bởi cộng đồng
  • Khung buộc bạn phải tập trung vào vấn đề kinh doanh mà bạn đang cố gắng giải quyết

</sa rcasm>

  • Khung có thể có một giấy phép bạn không đồng ý/không thể làm việc với
13

Bằng cách đồng nghiệp của bạn quan điểm trên, .NET và JAVA dành cho những người không biết đủ hội,, tổ hợp.

Khung tồn tại vì một lý do. Chúng cho phép bạn tập trung vào vấn đề thay vì xử lý mã lặp lại. Chúng cho phép bạn tự tin (giả sử bạn sử dụng các khung công tác được kiểm tra tốt) rằng một số đoạn mã nhất định của bạn đáng tin cậy và được kiểm tra tốt.

Nếu đồng nghiệp của bạn chống lại các khuôn khổ, tôi nghiêm túc cân nhắc việc tiếp tục.

+0

Đồng ý. Đây có phải là một bình luận..instead of answer? – Surya

+0

@Cody: Tôi đồng ý với bạn 100%, tôi đang tìm kiếm các lý lẽ chống lại để có được toàn bộ hình ảnh của hai đồng tiền mặt. Tôi thực sự bị cám dỗ để chọn câu trả lời của bạn như là câu trả lời, nhưng tôi đã hy vọng cho những điểm chống lại ý tưởng. – Geo

1

Tôi thích câu trả lời của pb +

Chủ yếu là cho những người không biết đủ JS

Tôi tin rằng nó là quá phức tạp đối với họ, vì vậy họ sử dụng cái cớ này.FW cho phép bạn xây dựng các ứng dụng phức tạp hơn nhiều.

Khung hạn chế phát triển javascript

nhảm nhí

Khung sưng lên mã phát triển thực tế với rất nhiều thứ không được sử dụng.

ngày nay có thêm 100k-200k là bao nhiêu? đặc biệt là nếu bạn sử dụng các phiên bản CDN (tại google chẳng hạn). Và đây là giả sử bạn không sử dụng gì trong FW.

+0

100-200 k? jq chỉ giảm 26k khi bạn sử dụng phiên bản min cùng với gzip. – redsquare

+0

Đây là mức tối đa, không phải ai cũng sử dụng các phiên bản tối thiểu. –

6

Một vài tích cực cho các khung javascript (như JQuery).

  1. Chúng cung cấp tiêu chuẩn hóa trong các yếu tố ui .
  2. Giảm thời gian phát triển các giao diện và hiệu ứng phức tạp .
  3. Bình thường hóa các nỗ lực bằng cách cung cấp các chức năng đã được tương thích trình duyệt chéo.
  4. Nhờ những nỗ lực trong tài liệu tương thích chéo là hơn hữu ích trong một khuôn khổ như bạn có thể sử dụng api của khuôn khổ như canon thay vì tìm kiếm sự ủng hộ tối nghĩa cho nhiều độc quyền /javascript chức năng.
  5. Đường cong học tập giảm cho các nhà phát triển mới giúp họ làm việc hiệu quả trên phần mềm của bạn nhanh hơn.

Tôi hoàn toàn không đồng ý rằng khung giới hạn các nhà phát triển javascript. Hoàn toàn ngược lại. Hầu hết các khung công tác cung cấp các cơ chế plug-in mở rộng, trong đó khung công tác có thể được mở rộng bằng cách sử dụng các móc sử dụng javascript thô trong khung chính nó.

+3

jQuery làm cho JavaScript hoạt động rất dễ chịu. Khả năng xây dựng cao cấp của các thao tác, hiệu ứng, vv cho phép các lập trình viên tập trung vào sự tương tác mong muốn hơn là minutiae của JS và khả năng tương thích trình duyệt. –

+0

Chính xác. Nói hay lắm. –

2

Một đối số chống lại thư viện là BROWSER HPORT TRỢ hầu hết các thư viện chỉ hỗ trợ một nhóm nhỏ các trình duyệt trên mạng. Here là một ví dụ về việc BBC tự tung ra thay vì sử dụng một thứ gì đó như jquery.

+0

bạn có một ví dụ? –

+0

hoàn toàn là lý do hợp lệ .. khi nào downvote? – Surya

+0

Tôi đồng ý, nếu bạn cần hỗ trợ một số trình duyệt thực sự xuất hiện, khung công tác có thể không phải là lựa chọn tốt nhất. Điều đó đang được nói, họ thường hỗ trợ thực tế chỉ các trình duyệt phù hợp. – deceze

7

Vì không ai đề cập đến nó - một khung Javascript nhanh chóng trở thành một phụ thuộc dự án nhiều hơn, và nói chung, phụ thuộc là xấu vì chúng đại diện cho các điểm thất bại.

Đối với điều này:

  • Chủ yếu là cho những người không biết đủ JS

Nếu không xây dựng, tôi sẽ nói rằng nếu một trong nhóm chúng tôi nói một cái gì đó như thế trong sự hiện diện của tôi , Tôi sẽ cố nhún vai như một trò đùa. Nếu tôi nghĩ họ nghiêm túc, tôi có lẽ sẽ phải giết họ.

Và như cho việc này:

  • Khung hạn chế Javascript phát triển

Điều đó có thể dịch để "Khung làm cho nó nhẹ khó khăn hơn để viết mì spaghetti mã, và đó là những gì tôi cố gắng hết sức"

Đó không phải là đối số, chúng là lý do.

+0

Đúng như điểm của bạn, thư viện js không còn phụ thuộc vào bảng định kiểu hoặc hình ảnh. Điều này sẽ không bao giờ trở thành một vấn đề với một dự án đã được tổ chức để xử lý các tệp js như một tài nguyên tương tự như hình ảnh và css. chỉ 2 xu của tôi. –

+0

@Ikarii Warrior - Tôi không phản đối các thư viện JS, nhưng theo ý kiến ​​của tôi (và là một chút nhỏ) họ đại diện cho một điểm thất bại. Ví dụ, một trình duyệt hoàn toàn mới được phát hành ngày hôm qua và quản lý ngày nay cần nó để được hỗ trợ. Dựa vào một cộng đồng (hoặc một nhà cung cấp) để viết hỗ trợ là, nói đúng, một điểm thất bại. – karim79

+2

Từ quan điểm hỗ trợ, sau đó có nó có thể được coi là một điểm thất bại và chắc chắn là một điểm hợp lệ - Tôi không cố gắng làm mất uy tín đầu vào của bạn. :) Điều đó đang được nói nhà phát triển javascript của riêng bạn không bảo vệ bạn khỏi các vấn đề tương thích trình duyệt mới. –

1

Có nhiều lý do chính đáng để nghi ngờ khung công tác nói chung, được cân bằng tất nhiên bởi nhiều lý do tại sao chúng đáng giá.

Tôi sử dụng jquery ngay bây giờ, và thẳng thắn trong vòng một giờ học nó nhận ra rằng nó phù hợp với công việc rất tốt mà nếu nó không tồn tại tôi chỉ kết thúc reimplementing một cái gì đó rất giống tôi, chỉ có nó sẽ không được tốt hay là nền tảng chéo.

Không có nhiều sưng lên ở đó, nó rất nhỏ và được thiết kế tốt và không có gì ở tất cả mà dừng bạn viết bất kỳ javascript bạn muốn cho trường hợp cụ thể mà không phù hợp với nhu cầu của bạn.

3

Tôi ngạc nhiên không ai đã đề cập đến nó:

  • Rất nhiều các nhà phát triển web mặc định để sử dụng JQuery mà không xem xét các lựa chọn thay thế
  • Và kết thúc bao gồm nó trên một trang web để làm một vài nhiệm vụ tầm thường mà có thể dễ dàng được thực hiện trong tinh khiết JavaScript
  • kết quả là người dùng phải chờ đợi cho toàn bộ thư viện để tải về và nó làm chậm trình duyệt web

Ngoài ra:

  • Một số nhà phát triển web được mang đi với thiết kế của trang web, và kết thúc việc phát triển các trang web không cần thiết phức tạp vì sức mạnh của JQuery
  • Chỉ vì JQuery cho phép bạn tạo các kịch bản với khả năng tương thích qua trình duyệt tốt điều đó không có nghĩa là kết quả cuối cùng có thể sử dụng được trên các thiết bị/giao diện khác nhau
  • Tôi cũng cho rằng sự tương thích giữa nhiều trình duyệt vì tôi đã thấy các trường hợp webkit không hoạt động tốt với JQuery
  • JQuery khuyến khích "nhanh" kịch bản - nhưng nếu bạn vội vã, bạn có thể đã bỏ lỡ một số điều gì đó ra
  • Viết bằng JavaScript từ đầu chậm hơn - nhưng tôi tin rằng bạn kết thúc với một giải pháp hoàn chỉnh hơn phù hợp hơn với người dùng cần
  • Sử dụng JQuery có thể chuyển trọng tâm của nhà phát triển web thành tạo các trang web có độ phân giải cao và trực quan hấp dẫn, trong khi đó nên tập trung vào chức năng và khả năng sử dụng
  • JQuery không phải là một viên đạn bạc để phát triển web

tôi đang thiên vị ở đây vì tôi không sử dụng JQuery, nhưng đó là vì tôi thiên đường' t tìm thấy một nhu cầu cho nó được nêu ra - có lẽ đó là bởi vì tôi tập trung nhiều hơn vào khả năng sử dụng và chức năng hơn là làm cho giao diện người dùng trông khá (xin lỗi Tôi biết JQuery có thể làm nhiều hơn thế).

+0

Tôi không thể làm một phần trăm của những điều tôi làm nếu tôi bán phá giá 70KB phụ thuộc khung vào bất kỳ hoặc tất cả các dự án của tôi. Cảm ơn bạn đã có tính toàn vẹn để nói chuyện với jQuery. – John

5

Tôi sẽ sử dụng jQuery làm ví dụ, nhưng những gì tôi nói ở đây có thể áp dụng cho hầu hết các khung JavaScript.

Nhiều khung công tác (đáng chú ý là jQuery) quá xa nguyên khối và không đủ mô-đun.

Mặc dù tùy thuộc vào phần mềm của bên thứ ba được kiểm tra tốt thường là hợp lý hơn, "khung công tác" có xu hướng cung cấp cho bạn nhiều chức năng hơn bạn cần vào lúc này.

Trong nhiều dự án, tôi rất thích sự tiện lợi mà jQuery cung cấp cho tôi để chọn tập hợp các phần tử (sử dụng $ (". Classname"), chẳng hạn). Nhưng, nếu tôi không sử dụng bất kỳ số lượng đáng kể nào của AJAX, tôi không cần các tiện ích AJAX do jQuery cung cấp.

Phần mềm nên làm một việc và làm tốt, và phần mềm được viết bằng JavaScript cũng không ngoại lệ. Hầu hết các khung mà bạn tham khảo cố gắng làm mọi thứ, dẫn đến sự phức tạp không cần thiết.

Một nơi mà điều này có thể khiến bạn là khi bạn đang xem xét nâng cấp lên phiên bản tiếp theo của khung. Điều đó liên quan đến việc thu thập dữ liệu thông qua các thay đổi của jQuery đối với các thay đổi không tương thích ngược và tìm kiếm dự án của bạn cho các khu vực mà mã được sử dụng. Đây có thể là một cơn ác mộng, đặc biệt là nếu bạn không nhất thiết phải có một danh sách toàn diện về các tính năng jQuery bạn sử dụng và những tính năng nào bạn không sử dụng. Ngoài ra, jQuery (và các khung công tác khác) có xu hướng khiến các nhà phát triển bắt đầu phụ thuộc vào các tính năng mới của jQuery mà không hề suy nghĩ về nó, khiến việc xác định các tính năng của jQuery mà dự án của bạn sử dụng là gì và nó không.

Nếu bạn sử dụng tiện ích một điều thì bạn biết chính xác tính năng nào của tiện ích bạn đang sử dụng. Chỉ có một. (Nếu bạn không sử dụng tiện ích đó chút nào, thật dễ dàng để xác định. Một quyết định như vậy có nghĩa là bạn có thể xóa nó một cách an toàn khỏi dự án của bạn.)

Tôi là tất cả để sử dụng mã bên thứ ba được kiểm tra kỹ. Nhưng nếu nó cố gắng làm quá nhiều, (có nghĩa là, nếu nó là một khuôn khổ chứ không phải là một tiện ích), bạn có lẽ nên tìm kiếm một thay thế. Nếu nó cố gắng làm quá nhiều (như jQuery cố gắng làm quá nhiều), thì nó có một số lỗi thiết kế cơ bản, nghiêm trọng có thể sẽ trở lại để cắn bạn.

Các vấn đề liên quan