2011-01-20 2 views
12

2 câu hỏi:Windows phone 7 mã nguồn gốc hỗ trợ

  • Ai đó có thể cho tôi biết nếu không được quản lý C++ mã sẽ được hỗ trợ trong các phiên bản tương lai của Phone 7 OS cho tất cả các nhà phát triển?
  • Lý do MS không phải là hỗ trợ mã C++ không được quản lý là gì?
+2

"Ai đó có thể cho tôi biết nếu mã C++ không được quản lý sẽ được hỗ trợ trong các phiên bản tương lai của Phone 7 OS?" Xin vui lòng chờ một phút cho đến khi tôi bắn lên quả cầu pha lê của tôi .... Thực ra, mã gốc được hỗ trợ ngay bây giờ trên Win Phone 7, bạn chỉ cần là một OEM. –

+0

Hầu như bản sao của http://stackoverflow.com/questions/4539876/is-it-possible-to-program-for-windows-phone-7-in-standard-c-only/4540330#4540330 –

+2

@David, câu hỏi cập nhật cho bạn. Tôi đoán rằng nếu bạn nhìn tốt hơn vào quả cầu pha lê của bạn, bạn sẽ thấy rằng tôi không phải là Samsung. – watbywbarif

Trả lời

10

Câu trả lời này hoàn toàn là suy đoán, nhưng tôi cảm thấy rằng hầu hết những người khác đã trả lời câu hỏi này bỏ lỡ điểm bằng một cú sút dài. Chúng ta hãy giả sử rằng đây không phải là một quyết định mang tính quyết định của Microsoft, mà thay vào đó là một quyết định kỹ thuật rất tốt, hoàn toàn không liên quan gì đến các hạn chế về nội dung hay cách khác. Những vấn đề này chỉ là tiền thưởng cho MS

Microsoft đang tham gia vào thị trường di động, lần này có vẻ như thật. Rất sớm sẽ có hàng chục triệu điện thoại Nokia được vận chuyển bằng Windows Phone và bất cứ thứ gì họ nhận được trên đó sẽ chỉ là nước thịt. Windows Phone mặc dù vẫn chưa thực sự tìm thấy nhà của nó.

Trong một hoặc hai năm tới, điện thoại, máy tính bảng và máy tính xách tay cuối cùng sẽ bắt đầu hội tụ vào một thiết bị duy nhất. Mọi người sẽ mang theo điện thoại của họ trong túi của họ, nhưng điện thoại đó cũng sẽ là đơn vị CPU của máy tính của họ. Điều đó có nghĩa là chỉ cần ngồi gần một màn hình HDMI không dây và kết nối bàn phím và chuột qua USB không dây (hoặc bluetooth nếu chúng ta không may mắn), người dùng sẽ có toàn bộ PC của họ với họ mọi lúc. Máy tính bảng sẽ chỉ trở thành một màn hình cảm ứng chạy bằng pin có giao diện với PC trong túi của bạn.

Vì vậy, tất cả phần mềm được viết cho Windows Phone sẽ có thể chạy chưa được sửa đổi trên PC, máy tính bảng và/hoặc điện thoại. Điều này là do có một cơ hội lớn mà PC bạn đang chạy sẽ là x86 hoặc ARM chạy Windows 8. Khi PC nằm trong túi của bạn, giao diện người dùng bạn sẽ thấy sẽ là GUI của Windows Phone. Khi bạn kết nối với màn hình, bạn sẽ thấy giao diện ribbon. Nhưng hệ điều hành cơ bản sẽ rất có thể là Windows 8, không phải Windows CE hiện đang được sử dụng.

Dựa trên tất cả điều này, cách duy nhất mà Microsoft có thể đảm bảo rằng các nhà phát triển đầu tư vào sản xuất ứng dụng cho thị trường Windows Mobile sẽ không bị vặn vẹo và người dùng thiết bị Windows Mobile sẽ không bị thiếu sót khi nền tảng mới xuất hiện để đảm bảo có một hệ thống chuẩn để chạy các ứng dụng trên tất cả các bộ xử lý này.

Ngay cả bây giờ, viết cho Honeycomb là một cơn ác mộng vì nếu bạn phát triển mã nguồn gốc, bạn phải hỗ trợ cả ARM và x86 và không có cơ chế hỗ trợ thực sự cho nó. Giải pháp duy nhất là phát triển, đóng gói và gửi hai phiên bản. Viết ứng dụng cho iDevices dễ dàng hơn một chút vì không có chồng chéo. x86 trên máy tính để bàn, ARM trên thiết bị. Nếu bạn phải sử dụng mã nguồn gốc trên thiết bị, ARM là tất cả những gì bạn cần. Thậm chí sau đó, có hỗ trợ nhị phân chất béo trên cả thiết bị và máy tính để bàn, do đó, điều này sẽ không thành vấn đề ngoại trừ khi tối ưu hóa.

Cuối cùng, quyết định của Microsoft để tuân thủ nghiêm ngặt .NET có lẽ là một điều tốt. Một khi họ có một số điện thoại Nokia trên thị trường và mọi thứ đã ổn định một chút, mã nguồn gốc có thể là một khả năng thực sự.

+7

Tuyên bố của bạn về việc hỗ trợ mã gốc cho tổ ong là một cơn ác mộng là hoàn toàn không chính xác. Tôi viết mã C++ và NDK Android chuẩn cho phép bạn xây dựng cho ARM và x86 cả trong cùng một APK và triển khai. Chúng tôi làm điều đó mỗi ngày - thực sự rất dễ dàng! – rbgrn

+0

Làm thế nào nó có thể là một cơn ác mộng? Hệ thống xây dựng xây dựng cả hai tệp nhị phân cho bạn và cả hai đều đi trong một gói duy nhất mà bạn phát hành. Bạn thậm chí không cần phải suy nghĩ về nó. – olafure

+0

Wel nói. Tôi chỉ không đồng ý trên máy tính bảng như một thiết bị đầu vào/đầu ra. Sẽ có những sự kết hợp chắc chắn như thế, nhưng tôi chân thành hy vọng PC sẽ giữ vị thế của nó như một nền tảng phát triển và sẽ luôn có nhiều quyền lực hơn và ít ràng buộc hơn. – Zibri

9

Các câu trả lời này dành cho phối cảnh phát triển ứng dụng. Các OEM có thể viết mã nguồn gốc ngày nay, vì đó là cách họ tạo trình điều khiển, nhưng đó không phải là mở hay có sẵn cho hầu hết các nhà phát triển và do đó không sử dụng nhiều nhất.

Đối với # 1 Microsoft đã không đưa ra thông báo, vì vậy chỉ Microsoft biết câu trả lời và họ không nói.

#Đối với # 2, tất cả đều là về bảo mật mã và ổn định toàn bộ. Rất khó để mã nguồn gốc hộp cát và họ không muốn ứng dụng của bạn có thể ảnh hưởng đến các ứng dụng khác hoặc nền tảng. Ý tưởng chung là bạn nên sử dụng Silverlight hoặc XNA để phát triển ứng dụng, vì vậy đó là những gì họ vạch trần.

+1

Các đường nối đó hợp lý, nhưng nhiều ứng dụng phức tạp rất khó để viết lại trong Silverlight. Tôi nghĩ rằng họ sẽ kết thúc với rất nhiều ứng dụng nhẹ nhưng bỏ lỡ một số ứng dụng quan trọng không quan trọng đối với cổng. – watbywbarif

+1

# 2 Tôi sẽ đi với bảo mật và ổn định là sản phẩm phụ đáng chú ý nhất của sự lựa chọn này. Điều này phù hợp với thông điệp của Microsoft trong suốt CTP với ý định cung cấp một sản phẩm mạnh mẽ và đáng tin cậy. –

4

EDIT, cuối cùng: đối với mã không được quản lý WP7 sẽ không bao giờ được hỗ trợ, nhưng trong Windows Phone 8 - có nó sẽ! Họ vừa công bố nó. Ứng dụng gốc, khả năng di động C/C++, iOS/Android và chia sẻ mã, DirectX. Tuy nhiên, bạn sẽ cần Visual Studio 2012 và Windows 8 để phát triển WP8. Có vẻ như VS2010 không nhận được WinRT SDK cần thiết.

Giao diện người dùng nongame, tuy nhiên, sẽ vẫn dựa trên XAML. Win32 API sẽ không được hỗ trợ. Họ đang đẩy mô hình với lớp giao diện người dùng được quản lý và phần mềm trung gian gốc bên dưới nó.

SDK sẽ có vào cuối mùa hè này.

Vì lợi ích của hậu thế, đây là câu trả lời trước-06/20/2012:


  1. Microsoft có lẽ là có thể.
  2. Để đảm bảo sự gần gũi nền tảng, như một phương tiện để đạt được sự ổn định và nhất quán UI. Để thực thi cách ly ứng dụng. Ngoài ra, để làm cho jailbreaking/root khó hơn.

CHỈNH SỬA: nếu bạn muốn có một SDK gốc trên WP7, như tôi làm, vui lòng đi ký this petition và/hoặc that petition. Cảm ơn bạn!

CHỈNH SỬA: xem this.

CHỈNH SỬA: cũng this. Vẫn chưa chính thức, nhưng tin đồn này di chuyển khung thời gian để hỗ trợ ứng dụng gốc thậm chí còn gần hơn - với bản phát hành Tango sắp tới.

+2

Thậm chí MS có thể không trả lời được Q1! –

+0

Tại sao sẽ khó khăn hơn nhiều để bẻ khóa điện thoại theo cách này? Tôi không có kinh nghiệm về những kỹ thuật này. – watbywbarif

+0

Khai thác lỗ hổng trong mã hệ thống là rất nhiều, dễ dàng hơn nhiều so với thế giới mã nguồn gốc. Mã được quản lý được gọi là "được quản lý" vì một lý do. –

4

Điện thoại Windows sẽ không hoạt động với hỗ trợ gốc. Trò chơi và các ứng dụng chuyên sâu khác đang thúc đẩy doanh số bán hàng. Android đã buộc phải thổi tắt nắp của NDK để hỗ trợ ngành công nghiệp game. Theo như hỗ trợ nhiều bộ vi xử lý, vv, những người trong chúng ta thực hiện loại công việc này đã làm nó trong một thời gian dài, do đó không có vấn đề gì. Đã xử lý Intel và ARM mà không gặp sự cố với hệ thống của chúng tôi.

+0

Hoàn toàn đồng ý. Chúng tôi là một công ty trò chơi 4 người và hỗ trợ x64/ARM/PPC/MIPS không phải là vấn đề - bạn chỉ cần biên dịch lại mã C/C++ của bạn bằng trình biên dịch thích hợp. – montonero

+2

Vì vậy, Greg, bạn có nghĩa là "... đi không nơi nào KHÔNG hỗ trợ bản địa."? Trong trường hợp đó tôi đồng ý với bạn, có rất nhiều khung công tác trò chơi đa nền tảng C++ nhưng họ không thể nhắm mục tiêu WP7 hiện tại. – Zmaster

1

Tôi tin rằng MS sẽ hỗ trợ phát triển bản địa như C/C++. Có thật không. Nghiêm túc.

Bởi vì, đối với người dùng cuối, một trong những ứng dụng sát thủ là trò chơi. Và hầu hết các mã trò chơi đều dựa trên C/C++. Các mã dựa trên JS hoặc C# tồn tại, nhưng vô nghĩa từ quan điểm công nghiệp. Cân nhắc những người chơi lớn trong lĩnh vực trò chơi như Unreal hoặc EA. Họ đã đầu tư rất lớn vào codebase C/C++. Họ sẽ không từ bỏ nó. Nói cách khác, MS không có sức mạnh để buộc họ phải chi tiền cho .NET. Ngay cả phát triển Xbox360 cũng cung cấp phát triển C/C++. Bởi vì điều đó.

Và các nền tảng hàng đầu như iOS/Android đều hỗ trợ phát triển bản địa. WP không thể chịu đựng tình hình mà không có bất kỳ trò chơi nào từ những người chơi lớn. MS thực sự muốn trò chơi đường dẫn thứ 3 và cung cấp mã gốc là cách duy nhất để có được chúng.

Tất nhiên, điều này có thể áp dụng cho các ứng dụng khác không phải là trò chơi nhưng trò chơi là trò chơi lớn nhất. Khi C#/XNA vừa xuất hiện, không có thư viện. Mọi người phải tự mình làm mọi thứ. Bây giờ có nhiều hơn một chút, nhưng vẫn vô nghĩa đối với các trò chơi chuyên nghiệp.

Nếu MS không cung cấp môi trường tự nhiên, chỉ cần không đến đó. MS muốn làm cho các nhà phát triển sử dụng mã .NET được quản lý, nhưng .NET có quá nhiều hạn chế có thể được giải quyết chỉ với mã không được quản lý.

Câu hỏi duy nhất chỉ là khi sẽ MS hỗ trợ phát triển bản địa.