7

Tôi là nhà phát triển web và tôi đã quan sát thấy nhiều lần tôi cần có cùng chức năng trên cả máy khách và máy chủ. Vì vậy, tôi viết nó trong JS cũng như trong PHP hoặc bất kỳ ngôn ngữ phía máy chủ nào. Tôi chán ngấy với điều này. Nếu tôi phải thay đổi nó thì tôi cần phải thay đổi nó ở cả hai nơi. Nếu tôi muốn sử dụng nó cho một số thiết bị cầm tay, sau đó tôi sẽ phải viết lại mã đó một lần nữa bằng cách sử dụng mục tiêu-C hoặc Java vv Sau đó, nếu tôi cần phải thay đổi chức năng đó thì tôi sẽ cần phải thay đổi nó ở khắp mọi nơi.Tránh viết cùng một thuật toán bằng nhiều ngôn ngữ khác nhau

Có giải pháp cho việc này không? Nếu tôi sẽ gọi một số webservice thông qua ajax, sau đó khách hàng sẽ có một sự chậm trễ. Nếu nó sẽ được trong JS thì nó không thể được truy cập từ bên trong PHP hoặc Java, vv Nếu tôi sử dụng một số dịch vụ trong PHP từ một ngôn ngữ khác thì điều đó cũng có thể trở thành một vấn đề hiệu năng. Cũng có thể một thời gian chúng ta cần các chức năng như vậy đầu ra từ một số tham số như đầu vào bằng cách sử dụng db hoặc không có db.

Tôi biết sẽ có một số giải pháp khá đơn giản nhưng tôi không biết điều đó. Vui lòng cho một số giải pháp độc lập về ngôn ngữ vì tôi không có VPS luôn.

Tôi không chắc chắn nếu câu hỏi của tôi thực sự thuộc về stackoverflow.com hoặc programmers.stackexchange.com vì vậy hãy chuyển nó đến programmers.stackexchange.com thay vì đóng câu hỏi này nếu nó thuộc về đó.

+0

Bạn luôn có thể tạo dịch vụ web để cung cấp cho bạn chức năng phổ biến này. Mã yêu cầu dịch vụ web sẽ khác nhau, nhưng việc thực hiện bất kỳ thứ gì bạn muốn phổ biến sẽ vẫn phổ biến. Rõ ràng điều này phụ thuộc rất nhiều vào những gì bạn đang làm với nó, nhưng nó có thể. – doogle

+0

Không rõ tại sao bạn đang viết các chức năng tương tự trên máy khách và máy chủ. Làm thế nào mà làm việc, chính xác, và tại sao bạn sẽ cần phải làm điều đó? – kennebec

+0

@ doogle Tôi biết đó là điều phổ biến, vì vậy nó phải có thể, nhưng trong kịch bản nhất định, nó có thể hoạt động như thế nào trong ứng dụng khách cũng như trong thiết bị cầm tay, cho dù sử dụng java hay c vv. định dạng? Tôi nghĩ rằng json là gần hơn? nhưng vẫn còn js sẽ cần phải tải nó trên thời gian chạy. – Hafiz

Trả lời

3

Thông thường, giải pháp cho vấn đề này là viết mã chung bằng một ngôn ngữ và sử dụng dịch giả hoặc thư viện liên kết để cho phép truy cập từ các ngôn ngữ khác.

Node.js cho phép bạn viết mã phía máy chủ bằng JavaScript.

Node.js là nền tảng được xây dựng trên thời gian chạy JavaScript của Chrome để dễ dàng xây dựng các ứng dụng mạng nhanh, có thể mở rộng. Node.js sử dụng mô hình I/O theo hướng sự kiện, không chặn, làm cho nó gọn nhẹ và hiệu quả, hoàn hảo cho các ứng dụng thời gian thực chuyên sâu dữ liệu chạy trên các thiết bị phân tán.

Bạn cũng có thể sử dụng JavaScript để viết ứng dụng HTML5 cho thiết bị di động.

"Building iPhone Apps with HTML, CSS, and JavaScript"

Bây giờ các nhà thiết kế web và các nhà phát triển có thể tham gia các bữa tiệc ứng dụng iPhone mà không cần phải học ngôn ngữ lập trình Objective-C Cocoa của. Đó là sự thật: Bạn có thể viết các ứng dụng iPhone nhanh chóng và hiệu quả bằng các kỹ năng hiện có của mình bằng HTML, CSS và JavaScript. Cuốn sách này cho bạn thấy làm thế nào với rất nhiều ví dụ chi tiết, hướng dẫn từng bước, và các bài tập thực hành.


Nếu bạn không muốn cố gắng để viết các ứng dụng phức tạp lớn trong JavaScript, GWT cung cấp một cách để viết Java và qua dịch, chạy nó trên máy khách.

GWT SDK chứa thư viện API Java, trình biên dịch và máy chủ phát triển. Nó cho phép bạn viết các ứng dụng phía máy khách trong Java và triển khai chúng dưới dạng JavaScript.


Nếu bạn phát triển trong.ngôn ngữ Net: C# -> JavaScript ScriptSharp

Script # là một công cụ miễn phí cho phép các nhà phát triển để tác giả C# mã nguồn và sau đó biên dịch nó thành kịch bản thường xuyên làm việc trên tất cả các trình duyệt hiện đại

+0

nhưng có những nơi chúng ta cần viết ứng dụng gốc, thay vì sử dụng webview v.v ... vì một số ứng dụng thời gian phải sử dụng một số tính năng không được cung cấp trong thư viện là donig HTML/CSS/JS cho ứng dụng. Và có thể có symbian hoặc hệ điều hành cầm tay khác mà JS không hoạt động. Ngoài ra node.js trên máy chủ sẽ cần phải được cài đặt ở đó và tôi không nghĩ rằng hostings chia sẻ cho phép điều đó. Vì vậy, không phải là có một số loại ngôn ngữ chéo thực sự của giải pháp như một số webservice hoặc định dạng hoặc kết hợp cả hai, mà có thể làm việc ở cả hai bên? – Hafiz

+0

Khách hàng của tôi thường chia sẻ lưu trữ nơi PHP chỉ có sẵn – Hafiz

+0

có một số dịch vụ web sử dụng JSON có thể làm như vậy không? Vì JSON là định dạng độc lập, nên hầu hết các ngôn ngữ đều có thể mã hóa/giải mã – Hafiz

1

bạn có thể sử dụng phần mở rộng spidermonkey để dịch php thành javascript. bằng cách này bạn có thể viết các chức năng của bạn trong php sau đó chỉ cần chuyển đổi chúng thành javascript và tái sử dụng chúng tại trình duyệt.

here is a good tutorial to show you how this is done

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