2011-02-03 35 views
14

Tôi đang lập kế hoạch bao gồm một tập lệnh pascal trong ứng dụng của mình. Nó không yêu cầu bất kỳ truy cập web nào, chỉ cần truy cập vào các lớp trong Ứng dụng của tôi. Nó phải được nhanh chóng (biên dịch). Tôi thấy rằng có một số kịch bản có sẵn, một số là phiên dịch nhưng trong số các trình biên dịch RemObjects pascal scriptDelphi Web Script (DWS) dường như mạnh mẽ và chủ động theo đuổi.Những ưu và khuyết điểm của RemObjects PascalScript so với kịch bản DWS là gì?

Có ai có thể đề xuất những ưu điểm của cái khác hơn không? Cảm ơn

Trả lời

14

Nó đi xuống đến này, IMHO:

  • Delphi Web Script đang được phát triển tích cực và tích cực.

  • PascalScript khá lơ mơ về mặt phát triển và cải tiến.

Tuy nhiên, DWS là một dự án cộng đồng về cơ bản được phát triển bởi một (rất tài năng và có thẩm quyền). PascalScript được hỗ trợ bởi RemObjects.

Nhưng: Số lượng người/quy mô của tổ chức tham gia phát triển/hỗ trợ sản phẩm không quan trọng bằng hiệu quả và nhiệt tình của sự phát triển và hỗ trợ mà họ đang cung cấp.

Trong cả hai trường hợp nguồn được cung cấp, vì vậy ngay cả khi "hỗ trợ chính thức" bị cạn kiệt, bạn sẽ không bị mất hoàn toàn. Từ những gì tôi hiểu, động cơ DWS dễ hiểu hơn so với PascalScript, có thể giúp "tự hỗ trợ" dễ dàng hơn, tho trong những trường hợp bạn sử dụng là quan trọng (trước đây tôi đã làm việc trên một kịch bản hoàn toàn khác). động cơ mà tôi hiểu là tương tự như DWS hơn PascalScript).

Cuối cùng, tôi hiện đang làm việc trên một dự án sử dụng PascalScript và ở giai đoạn này có ý định chuyển sang DWS càng sớm càng tốt.

+1

1 cho "Nhưng:" :) –

+2

+1 Tôi nghiêng về phía DWS vì sự phát triển nhanh và quan tâm của nó. –

+0

Bạn đã đẩy vào một cánh cửa mở, cảm ơn. Tôi đã thử DWS và rất ấn tượng. Brian. –

4

Có thể xem xét tùy chọn thứ ba. Tôi biết OP đã yêu cầu cụ thể về PascalScript và DWS, nhưng tôi khuyên bạn nên xem xét TMS Scripter Studio hoặc TMS Scripter Studio Pro làm giải pháp có thể. Bạn nhận được cả hai phiên dịch Pascal và BASIC, mà tôi đã có thể sử dụng khi người dùng cuối không quan tâm đến việc học Pascal nhưng có một nền tảng VB.

+1

Có, cảm ơn tôi có sản phẩm TMS và đã đánh giá nó. Như tôi đã nói trong bài viết của mình, tôi không thể chịu đựng được sự lười biếng của một thông dịch viên nhưng cảm ơn. –

+2

@Brian: Bạn đã thử nghiệm các thông dịch viên chống lại các tập lệnh đã biên dịch chưa? Các kịch bản này được biên dịch thành bytecode và được thực hiện bởi các máy ảo; nó không giống như họ đang ở bất cứ nơi nào gần như nhanh chóng thực tế ** biên dịch ** biên dịch mã anyway. –

+1

+1 cho thợ xây. Đo lường, và mearsure tốt (với mã có liên quan từ dự án của bạn không có nhàn rỗi cho vòng) –

4

Bạn nói nó phải nhanh và khi các vấn đề nhanh bạn không thể đánh bại PaxCompiler. Nó không miễn phí, nhưng cũng đáng xem xét. Bộ tính năng này là duy nhất và nó được tích cực phát triển trong nhiều năm nay.

4

Ba lý do hàng đầu tôi ban đầu đã cho DWS được rằng:

  1. trong DWS bạn có thể/có thể tuyên bố lớp học hoàn toàn mới trong kịch bản, với thừa kế, meta-lớp học, vv và không hạn chế cho những lớp bạn đã tiếp xúc/nhập.
  2. mô hình tiếp xúc hạn chế hơn (tập lệnh chỉ có thể truy cập vào nội dung bạn hiển thị), điều này cho phép chấm công bằng cát và an toàn bất kỳ lúc nào.
  3. cấu trúc mã nguồn đơn giản hơn, dễ đọc hơn, với mô hình thực thi đơn giản, bytecode-less tương đối dễ mở rộng hơn, hãy gỡ lỗi & duy trì.

Lưu ý rằng tôi gần như không sử dụng phía "Web" của DWS.

+1

+1 Tôi hiện đang sử dụng DWS trên nhiều dịch vụ web (: cảm ơn vì công việc của bạn Eric !! – ComputerSaysNo

2

Vấn đề lớn nhất với Pascal Script là không có tài liệu nào cho chính ngôn ngữ đó. Và tôi có nghĩa là số không. Có nhiều trang Pascal chung khác nhau, có thể được áp dụng nhưng không hoàn toàn, dĩ nhiên, và có nhiều hướng dẫn quảng cáo không hoàn chỉnh khác được thực hiện bởi nhiều người khác nhau. Nhưng khi nói đến tài liệu thực, toàn diện, nó khá là một trò đùa. Để viết một số kịch bản "nâng cao" cho InnoSetup, tôi phải xem xét các nguồn và tìm ra trình biên dịch thực sự làm gì.

Tôi nghĩ rằng bất kỳ ai xem xét sử dụng Pascal Script nên cân nhắc lại. Nếu không có tài liệu công khai, nó gần như là vô dụng. InnoSetup không nên sử dụng nó, IMHO, đó là một nỗi đau khi bạn muốn làm những điều đơn giản mà không ai bận tâm viết một hướng dẫn cho (chưa).

5

Tôi đã sử dụng Pascal Script bởi Rem Objects vài năm nay và theo ý kiến ​​của tôi, đó là điều tốt nhất. Theo như tài liệu, hãy xem hướng dẫn lập trình Pascal. Không có cú pháp hoặc hàm gọi hàm lạ trong một tập lệnh. Trả lời câu trả lời ở trên 0, không cần tài liệu công khai, nếu bạn biết Delphi. Tôi đã không chạy vào một trường hợp duy nhất mà nó sẽ là cần thiết. Có 2 bài viết được viết về cách triển khai kịch bản trong một ứng dụng. Cách nhập các lớp, phương thức và hàm cũng như một số ví dụ. Đối với bất cứ điều gì khác, tài liệu Delphi bình thường là đủ. Tuy nhiên, với DWS, cần phải có tài liệu rõ ràng vì cú pháp hoàn toàn khác. Phải sử dụng TProgramInfo và IInfo, làm cho kịch bản trở nên kỳ lạ và tẻ nhạt.

Tôi sử dụng đối tượng Rem Pascal Script để điều khiển chức năng gọi điện thoại IVR, tương tự như triển khai cổng Asterisk AGI. Trong trường hợp mỗi cuộc gọi đến Asterisk, sinh ra một ổ cắm vào socket Server của tôi. Tôi thường chạy đến 2000 script cùng một lúc. Mỗi kịch bản được tải, biên dịch và thực hiện và có thể dễ dàng xử lý lên đến 45 cuộc gọi đến mỗi giây. Mỗi tập lệnh điều khiển trả lời, phát tệp, thu thập DTMf, ghi âm, v.v. cho tất cả các cuộc gọi. Xin lỗi vì câu trả lời dài, nhưng tôi không thể nói đủ về cách Pascal Script hoạt động tốt. Cảm ơn Rem Objects và Carlo Kok. Thật là một sản phẩm tuyệt vời. Họ có thể không chủ động được cập nhật, có thể vì nó không cần thiết. Nó hoạt động tuyệt vời !!! PS. Một tính năng tuyệt vời khác là các tập lệnh được biên dịch thành mã byte không thể dễ dàng đảo ngược được thiết kế. Do đó, mã của bạn an toàn. Ngoài ra, nếu cần thiết, bạn có thể có các tập lệnh được biên dịch trước và thực thi chúng trong thời gian chạy mà không cần biên dịch. Tuy nhiên, nó không cần thiết cho tôi bởi vì tôi có thể xử lý nhiều. Có lẽ một ngày nào đó, hy vọng, tôi sẽ cần phải biên dịch trước. Điều đó có nghĩa là chúng tôi đang xử lý nhiều hơn 45 mỗi giây.

+2

Bạn * đã * tìm hiểu về các đoạn trong trường học? Họ làm việc ở đây –

+0

Tôi nghĩ nhận xét này là tốt để cân bằng. –

0

Tôi đã sử dụng tms scripter trong 3 năm và nó hoạt động tốt tài liệu tốt, hỗ trợ tốt, tiếp tục phát triển bởi nhà sản xuất, phân tích cú pháp nhanh, ui kết hợp là những lý do mà tôi chọn đó cho BPMS của chúng tôi phần mềm

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