Làm cách nào để tôi phát triển ứng dụng web bớt bực bội?


8

Tôi còn khá mới để phát triển ứng dụng web. Tôi không thể lay chuyển được cảm giác rằng tôi phải mất mãi mãi để làm bất cứ điều gì thậm chí phức tạp từ xa. Trong c ++ và java tôi có thể viết các ứng dụng tương tự trong vài giờ.

Trên web gỡ lỗi là đau đớn (đặc biệt là nếu json-ajax phức tạp) có liên quan. IDE hút. Các ngôn ngữ cho phép mọi thứ thông qua mà không có lỗi cho đến khi nó không hoạt động nữa và bạn bị mắc kẹt khi tìm kiếm một lỗi mà không có bất kỳ lỗi hoặc cảnh báo nào để hướng dẫn bạn (và không có cách nào thực sự tốt để bước qua chương trình).

Ai đó có thể hướng dẫn tôi đọc tài liệu và / hoặc công nghệ giúp tôi tìm cách duy trì sự tỉnh táo khi phát triển các ứng dụng web phức tạp không?

Có lẽ câu trả lời là sử dụng một khung tốt (zend?). Trong công việc, chúng tôi không thực sự sử dụng một khung công tác ngoại trừ các trình tạo mô hình cơ sở dữ liệu và các trình tạo trang thêm / cập nhật / xóa cơ bản.


Để làm rõ, tôi chủ yếu nói về gỡ lỗi php phía máy chủ chứ không phải JavaScript.
zhenka

2
Có lẽ bạn có thể cập nhật tiêu đề và thẻ để phản ánh sự làm rõ?
psr

Bạn có thể viết ứng dụng web của bạn bằng Java?

3
Bước qua một mã trong trình gỡ lỗi là kỹ thuật sửa lỗi tồi tệ nhất có thể (và vì một số lý do, nó được đánh giá quá cao). Nắm bắt sức mạnh của khẳng định, hợp đồng và nhật ký.
SK-logic

1
@Raynos, có một số khung hợp đồng cho gần như tất cả các ngôn ngữ động (nhưng tôi chưa thấy bất cứ điều gì như thế này đối với PHP, phải trung thực). vi.wikipedia.org/wiki/ Từ
SK-logic

Câu trả lời:


4

Nếu bạn chưa sử dụng Firefox và firebird, bạn nên làm như vậy. Trình gỡ lỗi của Fireorms chỉ toàn những điều tuyệt vời (không phải là Chrome, chúng không giống nhau), nhưng tôi có xu hướng đi với Firefox vì các dự án hệ điều hành như mozrepl , cho phép bạn viết kịch bản Firefox thay vì sử dụng trình duyệt bộ thử nghiệm tự động như Selenium.

Vì vậy, đối với phía khách hàng, Chrome hoặc Firefox đều có trình gỡ lỗi tích hợp tuyệt vời (chứa đầy bảng đồng hồ, màn hình hiệu suất, tất cả những thứ hay mà bạn đã biết và yêu thích trong C ++ / Java).

Đối với server-side, nếu bạn đang sử dụng PHP, sau đó tôi mạnh mẽ đề nghị sử dụng DBG . Nếu bạn không bị ràng buộc với PHP, thì tôi cũng khuyên bạn nên chuyển sang Python và sử dụng PDB . PDB, kết hợp với cProfile chỉ giúp cuộc sống phát triển dễ dàng hơn rất nhiều.

Nếu bạn đã quen với GDB (C ++), thì cả PDB và DBG đều rất dễ nhận và chạy theo. Cả hai cũng có thể được tích hợp vào các trình soạn thảo như Eclipse, Netbeans và Vim.


1

Tôi lập trình khác nhau trong các ngôn ngữ năng động. Không có kiểm tra thời gian biên dịch, nhưng cũng không có độ trễ thời gian biên dịch. Vì vậy, tôi viết một ít mã nhỏ tại một thời điểm, và sau đó kiểm tra nó. Tôi bắt đầu với một trang trống và thêm một yếu tố tại một thời điểm, kiểm tra khi tôi đi. Tôi cam kết từng thay đổi nhỏ để kiểm soát sửa đổi ngay khi nó hoạt động. Bằng cách đó, nếu tôi làm hỏng, tôi có thể trở lại trạng thái làm việc trước đó và đi tiếp. Về phía máy chủ, tôi thấy các ngôn ngữ động có năng suất cao hơn Java rất nhiều, vì tôi phải viết và đọc mã ít hơn rất nhiều và vì tôi không bao giờ phải loay hoay với việc khởi động lại máy chủ.


+1) Đó là cách tiếp cận tương tự mà chúng tôi đã sử dụng trong nhóm của mình. Phát triển web có một số khác biệt so với các ứng dụng máy tính để bàn. Nhưng nói chung, một tiêu chí phát triển và thử nghiệm là một tiêu chí cho phép bạn tìm ra các lỗi tiềm ẩn trong mã mới tốt hơn.
Francesco

Bạn không phải loay hoay với việc khởi động lại máy chủ bằng Java nếu bạn chọn một khung công tác tốt như Play Framework
Jonas

@Jonas - Đúng là khởi động lại không phải do giới hạn của Java, nhưng AFAIK không có triển khai JEE phổ biến nào sẽ tự động tải lại các lớp. Bản vá nóng hoạt động đôi khi, nhưng thực sự đó là một hack.
kevin cline

1

Bạn luôn có thể sử dụng java hoặc C ++ (hoặc ruby, hoặc python hoặc scala hoặc ...) nếu bạn thực sự không thể chịu được PHP (điều này có thể hiểu được. Rất nhiều người không thích nó.)

Nếu bạn muốn gắn bó với những gì bạn đang sử dụng, hãy đảm bảo rằng bạn đang sử dụng fireorms ( mặc dù các công cụ phát triển google chrome sắp trở nên tuyệt vời hơn nhiều ) với plugin FirePHP cho phép bạn có một cái nhìn đầy đủ về trạng thái PHP và bất kỳ lỗi nào xảy ra.

Hơn nữa, hãy đảm bảo bạn sử dụng các hàm xử lý Lỗi PHP đang sử dụng (nhưng hãy nhớ xóa chúng một lần nữa trước khi bạn phát hành trực tuyến, vì chúng cũng là một cách tuyệt vời để người dùng độc hại tìm ra nội bộ của ứng dụng của bạn)

Đối với IDE, bạn luôn có thể dùng thử Công cụ dành cho nhà phát triển PHP của Eclipse hoặc sử dụng Zend Studio chuyên dụng hơn .


1

Một số công cụ mà tôi sử dụng để cải thiện sự phát triển của mình là:

Visual Web Developer 2010 (một phần của Visual Studio 2010)

Bạn nói IDE hút. Với điều này, bây giờ bạn có một trong những IDE tốt nhất hiện có, và nếu bạn đã từng viết mã trong C ++, tôi cá là bạn đã biết VS. Tôi sử dụng phiên bản express miễn phí và tôi không cần thêm.

Fiddle Codepad

Tuyệt vời để thử các bố cục HTML / CSS và các tập lệnh JS. Codepad là tuyệt vời để thử trang web của bạn bằng ngôn ngữ phía máy chủ.

Firefox + Fireorms (hoặc các trình duyệt tương đương khác)

Các kịch bản gỡ lỗi dễ dàng hơn nhiều bằng cách sử dụng các trình duyệt. Bạn cũng có một DOM kiểu cây hoàn chỉnh mà bạn có thể thao tác theo ý muốn và các thay đổi sẽ được áp dụng trong thời gian thực.

Sử dụng khung

Có nhiều khung khác nhau cho mọi ngôn ngữ web ngoài kia. Họ cung cấp cho bạn một bộ các chức năng được kiểm tra tốt, đảm bảo khả năng tương thích giữa nhiều trình duyệt, giúp bạn tiết kiệm rất nhiều thời gian gỡ lỗi và "viết ít làm nhiều hơn". Tôi đề nghị xem xét jQueryYUI để mã hóa JavaScript.


Nhật ký giao diện điều khiển

Để theo dõi tiến trình gỡ lỗi của bạn, hãy sử dụng Bảng điều khiển gỡ lỗi, được tích hợp trong hầu hết các trình duyệt. Trong JS, sử dụng console.log('something to write');sẽ thêm một mục nhập văn bản vào bảng điều khiển gỡ lỗi, bằng cách này bạn có thể thêm thông tin hữu ích vào mã của mình cho mục đích gỡ lỗi và theo dõi quá trình thực thi mã của bạn.


bản mẫu

Bây giờ đừng hiểu lầm tôi. Tôi biết bạn đang phát triển ứng dụng web chứ không phải trang web bình thường. Nhưng sự thật là, đây vẫn là một trang web và bạn vẫn cần quan tâm đến vấn đề quan trọng nhất mà bạn có: khả năng tương thích giữa nhiều trình duyệt. Đây là một mẫu vững chắc sẽ cung cấp cho bạn một cơ sở vững chắc cho các trang HTML của bạn và hơn thế nữa ...

Đặt lại CSS

Nếu bạn không sử dụng Boilerplate, đi kèm với thiết lập lại CSS của riêng mình, bạn vẫn có thể muốn đảm bảo các trang của mình trông chính xác giữa các trình duyệt. Thiết lập lại CSS sẽ đảm bảo điều này. Yêu thích của tôi là YUI CSS Reset , cùng với CSS BaseCSS Fonts .


0

Sử dụng một khung như Ruby on Rails giúp giảm bớt sự thất vọng rất nhiều. Nó có báo cáo lỗi khá tốt và nhờ ActiveRecord làm việc với các mô hình và cơ sở dữ liệu rất nhanh chóng. Miễn là bạn tuân theo triết lý về quy ước về cấu hình, bạn có thể tạo nguyên mẫu các ứng dụng web phức tạp khá nhanh với RoR.

Tôi sẽ sử dụng Firebird thứ hai, mặc dù các công cụ dành cho nhà phát triển cho webkit cũng hoạt động tốt.

Chỉnh sửa tài nguyên:

Đây là một nơi tuyệt vời để bắt đầu miễn phí.

www.rafterutorial.org


0

XDebug có thể giúp bạn gỡ lỗi trong trình tạo thời trang với những gì bạn đã sử dụng với VS (phiên bản mới nhất của Wamperver ship với Xdebug (cả máy chủ và máy khách), nếu bạn đang tìm kiếm bản cài đặt phát triển dễ dàng cài đặt mọi thứ bạn cần ngoại trừ soạn thảo văn bản).

Ngoài ra, nếu PHP không phải là thứ của bạn, hãy thử một ngôn ngữ khác : bạn có thể hạnh phúc hơn với Python, Ruby / Rails, ASP hoặc Perl.

Ngoài ra, bạn có thể viết các mô-đun CGI C ++ thay vì các tập lệnh PHP, mặc dù tôi khuyên bạn nên thử PHP thêm một chút, nó khá tiện dụng một khi bạn hiểu rõ về 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.