Làm thế nào để một người kiềm chế sự phức tạp của phát triển web? [đóng cửa]


17

Tôi đã là một lập trình viên phía máy chủ trong phần lớn sự nghiệp của mình và gần đây tôi mới bắt đầu dành nhiều thời gian hơn cho việc phát triển web. Tôi ngạc nhiên về số lượng những điều tôi cần phải thành thạo để viết một ứng dụng web phong nha. Chỉ cần liệt kê một vài công cụ / công nghệ tôi cần học,

  • Ngôn ngữ lập trình phía máy chủ (Java / JSP, ASP, PHP, Ruby hoặc một cái gì khác)

  • Một khung web tốt (cho bất kỳ ứng dụng cỡ trung bình đến lớn).

  • HTML & CSS

  • Javascript

  • Thư viện Javascript (JQuery / ExtJS, v.v. chủ yếu dành cho AJAX). Tốt để biết ngay cả khi không cần thiết.

  • Ít nhất là một kiến ​​thức cơ bản về thiết kế web - bố cục, màu sắc, phông chữ, v.v.

  • Một sự hiểu biết tốt về bảo mật web.

  • Một sự hiểu biết tốt về các vấn đề Hiệu suất / khả năng mở rộng.

  • Kiểm tra, các vấn đề tương thích trình duyệt, vv

Danh sách cứ kéo dài.

Vì vậy, câu hỏi của tôi cho các nhà phát triển web dày dạn là - Làm thế nào để các bạn quản lý để học và giữ cho mình cập nhật về rất nhiều thứ? Trong khi phát triển một ứng dụng web, làm thế nào để bạn xử lý sự phức tạp liên quan đến các lĩnh vực này và quản lý để viết một ứng dụng được thiết kế tốt, thân thiện với người dùng, an toàn, hiệu suất và có thể mở rộng.

Là một nhà phát triển web, một người có phải là người nắm giữ tất cả các giao dịch hay một người nên chuyên về một hoặc hai lĩnh vực và để phần còn lại cho các thành viên khác trong nhóm?


Những điều mới là khó khăn lúc đầu. Đừng để điều đó làm mất lòng bạn. nhận ra rằng bạn sẽ không thể cạnh tranh với các nhà phát triển dày dạn kinh nghiệm và chỉ cần làm hết sức mình. Mở rộng kỹ năng của bạn theo thời gian khi cần thiết. Tất cả những công cụ này thay đổi rất nhanh dù sao bạn cũng phải là người học suốt đời để tồn tại trong dev. Điều đó, hoặc có được chương trình "may mắn" trong lắp ráp. Trong 20 năm.
P.Brian.Mackey

Câu trả lời:


9

Ngôn ngữ lập trình phía máy chủ (Java / JSP, ASP, PHP, Ruby hoặc một cái gì khác)

Sử dụng một khung. Django chẳng hạn.

Một khung web tốt (cho bất kỳ ứng dụng cỡ trung bình đến lớn).

Không "trung bình đến lớn". Sử dụng một khuôn khổ cho tất cả mọi thứ .

HTML & CSS

Đó là những gì nó được. Học nó.

Javascript

Sử dụng các thư viện và khung càng nhiều càng tốt. Viết ít hơn, tái sử dụng nhiều hơn.

Thư viện Javascript (JQuery / ExtJS, v.v. chủ yếu dành cho AJAX). Tốt để biết ngay cả khi không cần thiết.

Chính xác. Sử dụng một thư viện.

Hoặc là.

Sử dụng FLEX.

Ít nhất là một kiến ​​thức cơ bản về thiết kế web - bố cục, màu sắc, phông chữ, v.v.

Sao chép các trang web hiện có.

Một sự hiểu biết tốt về bảo mật web.

Đọc www.owasp.org cẩn thận. Và. Sử dụng một khung làm việc này.

Một sự hiểu biết tốt về các vấn đề Hiệu suất / khả năng mở rộng.

Sử dụng Apache. Sử dụng một khung xử lý này. Đọc các kiến ​​trúc Internet có thể mở rộng của Schlossnagle.

Kiểm tra, các vấn đề tương thích trình duyệt, vv

Khung. Thư viện.

Có một mẹo để làm điều này. Sử dụng càng nhiều thư viện và khung càng tốt. Các trang web đã được khoảng nhiều năm.

Đứng trên vai người khổng lồ. Xin vui lòng. Bạn không cần phải phát minh lại tất cả những điều này.


Đúng, bạn không nên phát minh lại tất cả trong số đó như một nhà phát triển dày dạn quen thuộc với tất cả các khung và công cụ. Nhưng, phá vỡ tất cả những công cụ này như một anh chàng mới chỉ làm tăng rào cản gia nhập. Anh ta nên làm javascript cơ bản và như một người mới để giảm rào cản này. Nhưng, vì OP đã hỏi làm thế nào một "dev dày dạn" làm những việc mà tôi không thể ping -1 cho việc này.
P.Brian.Mackey

5

Làm thế nào để các bạn quản lý để học và giữ cho bản thân cập nhật về rất nhiều thứ?

Mẹo 1 . Hãy để mắt đến tất cả những điều đang diễn ra ngoài kia. Lắng nghe những gì mọi người đang nói, kiểm tra mọi thứ, đọc bài viết và blog, đánh dấu những gì quan trọng, tìm hiểu, thử nghiệm, tự nhiên tò mò về mọi thứ.

Mẹo 2 . Hoàn toàn có niềm vui trong quá trình.

Mẹo 3 . Như ai đó đã chỉ ra trên SO một lần, những điều bạn đã liệt kê liên quan đến kiến thức tập thể của nhiều nhà phát triển. Đừng mong đợi để biết tất cả trong sự hoàn hảo, quá nhiều cho một tâm trí để xử lý. Lấy những gì bạn cần và biết nơi để tìm phần còn lại.

Là một nhà phát triển web, người ta phải là người nắm giữ tất cả các giao dịch hoặc nên chuyên môn hóa

Nó là tốt hơn để được thành thạo trong các lĩnh vực khác nhau. Điều đặc biệt về phát triển web là nó đột nhiên hợp nhất tất cả các khía cạnh của phát triển sản phẩm ở một nơi duy nhất trong một tay. Bạn chắc chắn phải nhận thức được rất nhiều thứ để làm cho mọi thứ được đánh dấu. Nhưng nghiêm túc mà nói, có rất nhiều niềm vui khi có ngón tay của bạn ở khắp mọi nơi!


2

Bạn không phải lúc nào cũng có một đội, ít nhất là trong trường hợp của tôi. Vì vậy, là một "jack của tất cả các giao dịch" là hữu ích.

Nhưng bạn không cần phải / không biết tất cả mọi thứ, vì vậy hãy tìm kiếm Google thật tốt.

Bạn sẽ xây dựng các kỹ năng khi bạn cần chúng.


Vâng, nó có vẻ rất khó khăn khi bắt đầu.
Bánh quy bột gạo

1

Có những điều cơ bản bạn phải biết - HTML, CSS, đánh dấu ngữ nghĩa, HTTP làm gì và làm thế nào để sử dụng tốt nó.

Sau đó, bạn nhìn vào những gì bạn cần cho dự án này , bất kể dự án hiện tại là gì. Có lẽ điều đó sẽ liên quan đến việc bắt đầu với một nền tảng hoặc CMS hiện có và tùy chỉnh nó, đôi khi hoàn toàn là công việc bespoke nhưng thường thì không. Đôi khi, sẽ có các yêu cầu liên quan đến vị trí và cách thức lưu trữ sẽ hướng dẫn bạn đến đúng nền tảng, lần khác chức năng bạn muốn sẽ hướng dẫn lưu trữ mà bạn có thể sử dụng. Bạn học những gì bạn cần khi bạn cần nó. Đó là một cách chậm chạp như một cách làm việc nhưng cuối cùng lại là cách mà hầu hết chúng ta làm tốt những gì chúng ta làm - dự án bằng cách học hỏi những gì chúng ta cần biết.

Rõ ràng, bạn càng làm việc trong công ty của các nhà phát triển web có kinh nghiệm hơn, bạn càng có thể học hỏi nhanh hơn từ họ, nhưng trên tất cả chúng ta đã nắm bắt được những kỹ năng này theo thời gian.


1

Tôi cố gắng biết đủ về tất cả các công nghệ hiện tại để tôi có thể biết khi nào nên áp dụng chúng. Ví dụ, tôi chủ yếu là một nhà phát triển ASP.NET, nhưng tôi biết đủ về Ruby on Rails để tìm hiểu xem nó có phù hợp hơn cho một vấn đề cụ thể không.

Các công nghệ tôi đang thực sự sử dụng tôi cố gắng biết và biết. Nếu có một tính năng đặc biệt trong ASP.NET, tôi muốn biết chi tiết và biết khi nào tôi nên và khi nào tôi không nên áp dụng nó. Tương tự với JQuery, CSS và mọi thứ khác tôi sử dụng.

Để cập nhật, tôi nghe podcast, đăng ký nguồn cấp RSS, xem qua StackOverflow và tham dự các sự kiện của nhà phát triển.


1

Bắt đầu một cách dễ dàng với .NET hoặc JEE / JSF. Không cần phải làm dự án đầu tiên của bạn ra một cách khó khăn. Lưu sự phức tạp đó khi bạn thực sự cần nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.