Microsoft Đang Thúc Đẩy Các Nền Tảng Windows Như Thế Nào?

Quoc Luu

New Member
Tham gia
31/3/14
Bài viết
20
Được thích
42
4399 #1

Gần đây, chúng ta đã có dịp nhìn thấy những bước thay đổi lớn trong chiến lược của Microsoft từ cuối thời điểm cựu CEO Steve Ballmer còn nắm quyền với quyết định mang Microsoft Office lên iOS [1], tiếp theo đó là Android [2] và gần đây nhất là Cortana sẽ xuất hiện trên nền tảng iOS và Android ngay sau khi Windows 10 được chính thức phát hành [3].

Dễ thấy rằng, “luật chơi” do chính Microsoft đặt ra đã thay đổi khi không buộc người dùng phải sử dụng các sản phẩm Windows để đổi lại có được những giải pháp của hãng, tạo ra một vòng tròn khép kín chuỗi các giải pháp từ người dùng thông thường đến doanh nghiệp sử dụng các sản phẩm, dịch vụ của Microsoft.

Thay vào đó, hãng đã đa dạng hóa nền tảng hỗ trợ của các sản phẩm, điều này góp phần nâng cao trải nghiệm của người dùng iOS hay Android vốn là đối thủ của Windows Phone. Bên cạnh sự thay đổi trong chiến lược của các sản phẩm hướng đến người dùng cuối, Microsoft cũng đã thay đổi chiến lược tương tự đối với công cụ phát triển ứng dụng.

Theo đó, hãng đã có hai bước tiến lớn đó là hợp tác với Xamarin để giúp lập trình viên có thể sử dụng các công nghệ của Microsoft để tạo ra các ứng dụng trên Andoird, iOS với ngôn ngữ lập trình C# (hiện tại Xamarin đã hỗ trợ C# 5.0 [4]). Tiếp theo đó là biến Visual C++ thành ngôn ngữ lập trình đa nền tảng thông qua hỗ trợ Android bên cạnh nền tảng Windows và Windows Phone truyền thống.

Đó là hướng đi rất khác của Microsoft so với trước đây vốn luôn bị coi là độc quyền. Trong khuôn khổ bài viết này, chúng ta sẽ lần lượt đi sâu tìm hiểu những thay đổi đã và đang diễn ra ở khía cạnh công cụ phát triển ứng dụng để rõ hơn vì sao lại có những quyết định dị thường như vậy.
Từ Mono đến Xamarin

Khi công nghệ .Net được giới thiệu chính thức vào tháng Sáu năm 2000 [5]. Tháng 12 năm đó, Microsoft đã quyết định mở Common Language Infrastructure, một đặc tả (specification) định nghĩa môi trường nhằm cho phép các ngôn ngữ lập trình bậc cao có thể được sử dụng trên các nền tảng máy tính khác nhau mà không cần viết lại [6] [7].

Nhờ đó, Miguel de Icaza (cũng được biết đến với vai trò người khởi xướng GNOME – một môi trường làm việc phổ biến từ Linux cho đến UNIX) đã tìm cách đưa .Net vượt ra ngoài Windows với dự án Mono. Trải qua năm tháng với nhiều sự kiện, cuối cùng Xamarin do chính Icaza sáng lập với vai trò là công ty hỗ trợ và phát triển dự án Mono.

Bên cạnh phát triển dự án Mono nguồn mở, miễn phí, Xamarin cũng cung cấp giải pháp có phí Xamarin Studio cho phép các nhà phát triển sử dụng ngôn ngữ lập trình C# để tạo ra các ứng dụng trên Mac, iOS và Android. Đồng thời, trên Windows, Xamarin cung cấp add-in nhằm tích hợp môi trường phát triển Android và iOS trên Visual Studio, để tạo ra các ứng dụng gốc (native) tương tự như các môi trường phát triển khác được Microsoft tích hợp sẵn.

Cuối năm 2013, một sự kiện lớn đối với quá trình pháp triển của Xamarin đó là sự hợp tác chính thức của Xamarin và Microsoft làm tiền đề cho sự tích hợp ở cấp độ sâu hơn của Xamarin vào Visual Studio, đồng thời nhận được nhiều sự hỗ trợ hơn từ Microsoft trong việc cập nhật các nền tảng .Net mới của hãng cũng như các thư viện như Portable Class Libraries (PCL)


Cấu trúc Common Language Infrastructure
Nguồn: [8]​

Và .NET NuGet (giấy phép sử dụng cho NuGet được chuyển sang cho phép sử dụng trên tất cả các nền tảng [9]) vốn rất cần thiết trong phát triển các ứng trên nền .Net [9]. Tuy rất khó để đánh giá mức độ khó khăn hay đơn giản trong việc phát triển ứng dụng các nền tảng khác nhau. Nhưng thực tế ta có thể thấy rằng thư viện .Net NuGet vô cùng phong phú, tập hợp rất nhiều thư viện cần thiết giúp các nhà phát triển .Net có thể dễ dàng tích hợp vào sản phẩm của mình mà không cần phải tự viết hay sưu tầm như thời trước .Net NuGet ra đời.

Bên cạnh đó, Xamarin cho phép tích hợp Portable Class Libraries vào các nền tảng khác nhau cũng góp phần rất lớn trong việc đơn giản hóa quá trình phát triển ứng dụng trên các nền tảng khác. Theo Microsoft, Portable Class Libraries cho phép nhà phát triển tạo ra thư viện có thể sử dụng trên nhiều nền tảng .Net khác nhau mà không cần phải viết lại [10]. Để dễ hiểu, ta có thể hình dung rằng trước đây PCL có thể được viết một lần, sau đó được các nhà phát triển dùng lại trên các nền tảng khác nhau từ Windows Phone, Windows Store cho đến các ứng dụng sử dụng công nghệ Silverlight, bây giờ, nhà phát triển có thể bổ sung thêm vào danh sách hỗ trợ đó là iOS và Android.

Nhờ sự hợp tác này, từ nhà phát triển cho đến người dùng cuối trên iOS và Andoird đều được lợi. Đối với Microsoft, ngoài lợi nhuận từ việc liên minh với Xamarin, họ còn được gì? Trước khi đi đến kết luận, ta có thể tham khảo thêm khái niệm Universal App,được giới thiệu tại hội nghị //Build 2014, tức là sau khi liên minh Microsoft và Xamarin được thành lập.Theo đó, các nhà phát triển có thể tạo một ứng dụng cùng lúc cho cả Windows 8.1 và Windows Phone 8.1 thông qua việc chia sẽ mã nguồn giữa các ứng dụng với nhau.

Thậm chí, nhà phát triển có thể xây dụng một giao diện chung cho Windows 8.1 và Windows Phone 8.1 mà không cần phải thiết kết lại. Đó là việc trước đây không thể xảy ra trên Windows 8 và Windows Phone 7, 8. Nguyên do chính đó là vì Windows Phone 7, 8 sử dụng công nghệ Silverlight trong khi Windows 8 lại sử dụng Windows Runtime (hay còn được gọi là WinRT) [11], [12]. Hệ quả là mã nguồn của ứng dụng Windows 8 và Windows Phone 7, 8 không thể chia sẻ với nhau mà buộc nhà phát triển phải viết lại.

Từ đó, việc chuyển sang Windows Runtime tạo sự thuận lợi rất lớn cho các nhà phát triển khi chỉ cần xây dựng một lần mà có thể phát hành cùng lúc cho Windows Phone 8.1 và Windows 8.1. Trong ảnh minh họa bên dưới, ta có thể thấy, không những mô hình dữ liệu và dữ liệu của ứng dụng được sử dụng cùng một lúc trên Windows Phone 8.1 và Windows 8.1, Microsoft còn cho phép nhà phát triển sử dụng các Class để khai thác dữ liệu của ứng dụng cùng lúc trên hai nền tảng mà không cần phải viết lại.

Điều này tạo ra lợi thế về khả năng đồng bộ của ứng dụng khi nhà phát triển có thể cùng một lúc phát hành ứng dụng cho Windows 8.1 và Windows Phone 8.1, ngoài ra, trải nghiệm của nghiệm của người dùng cuối cũng được nâng cao.


Chọn nền tảng cho Portable Class Library


Mã nguồn của một ứng dụng Universal

Đến đây, ta có thể thấy rõ ràng rằng, Microsoft không những thúc đẩy Windows Phone thông qua các phương pháp truyền thống như phát triển thêm tính năng, thay đổi theo ý kiến của người dùng hay sử dụng các chiến dịch tiếp thị làm đòn bẩy mà còn táo bạo hơn là đưa .Net vượt ra ngoài sản phẩm họ Windows của hãng một cách chính thức.

Một mặt, điều này không những giúp các nhà phát triển .Net không cần bỏ quá nhiều thời gian vào việc tìm hiểu thêm các công cụ, ngôn ngữ lập trình cho nền tảng mới mà vẫn có thể tạo ra các sản phẩm đa nền tảng. Mặt khác, Microsoft có thể sử dụng tính đơn giản trong việc tạo ra sản phẩm đa nền tảng này thúc đẩy lượng ứng dụng của Windows Phone 8.1 và Windows 8.1. Bởi nếu xét kỹ, thông qua Universal App và Xamarin, một nhà phát triển có thể tạo ra một sản phẩm gốc (không cần phải sử dụng công nghệ lập trình web di động HTML 5 như Apache Cordova) trên tất cả nền tảng từ Windows Phone 8.1, Windows 8.1 cho đến Anroid, iOS, OS X với mã lệnh chỉ cần viết một lần có thể sử dụng trên nhiều nền tảng khác nhau.

Tuy nhiên, nếu để ý, chúng ta có thể thấy giải pháp của liên minh Microsoft và Xamarin còn một khoảng trống, đó là các nhà phát triển trò chơi, các ứng dụng liên quan đến đồ họa nặng thường chỉ sử dụng C++ hay sự phân mãnh trong việc khai thác đòn bẩy C++ đối với công nghệ của Xamarin. Do đó, Microsoft tự đã phát triển Visual C++ for Cross-Platform Mobile Development được trang bị trong Visual Studio 2015 đang trong giai đoạn thử nghiệm của hãng [14].

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về sự hỗ trợ của Microsoft trong việc phát triển các ứng dụng trên hệ điều hành Android và mối quan hệ giữa Android với việc thúc tiến nền tảng Windows.

Tài liệu tham khảo:

[1]: Steve Ballmer made the decision to ship Office for iPad -http://Steve Ballmer made the decision to ship Office for iPad | The Verge

[2]: Microsoft Office comes to Android tablets starting today -http://Microsoft Office comes to Android tablets starting today - CNET

[3]: Exclusive: Microsoft's digital assistant to head to Android, Apple devices - Exclusive: Microsoft's digital assistant to head to Android, Apple devices| Reuters

[4]: Major upgrades to Xamarin’s platform: Async is here - Major upgrades to Xamarin’s platform: Async is here | Xamarin BlogXamarin Blog

[5]: ZDNet Downtime

[6]: http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-335, 1st edition, December 2001.pdf

[7]: ZDNet Downtime

[8]: Common Language Infrastructure - Wikipedia, the free encyclopedia

[9]: PCL and .NET NuGet Libraries are now enabled for Xamarin - PCL and .NET NuGet Libraries are now enabled for Xamarin - .NET Blog - Site Home - MSDN Blogs

[10]: Portable Class Libraries - Portable Class Libraries

[11]: WinRT Revealed (Expert's Voice in Windows)

[12]: Build 2011: What Is WinRT, and Is Silverlight Dead? - http://readwrite.com/2011/09/13/build-2011-what-is-winrt-and-i

[13]: Get started with DirectX game development - Get started with DirectX game development - Windows app development

[14]: Cross-Platform Mobile Development with Visual C++ - Cross-Platform Mobile Development with Visual C++ - Visual C++ Team Blog - Site Home - MSDN Blogs

[15]: The Front-End C++ Compiler (C1XX) - The Front-End C++ Compiler (C1XX)

[16]: The C/C++ Code Generator (C2) - The Front-End C++ Compiler (C1XX)

[17]: C/C++ Code analysis in VS2015 - C/C++ Code analysis in VS2015 - Visual C++ Team Blog - Site Home - MSDN Blogs

[18]: Anatomy of Linux dynamic libraries - Anatomy of Linux dynamic libraries

[19]: Windows to UNIX porting, Part 1: Porting C/C++ sources - Windows to UNIX porting, Part 1: Porting C/C++ sources

[20]: Introducing Visual Studio’s Emulator for Android - Introducing Visual Studio’s Emulator for Android - Microsoft Application Lifecycle Management - Site Home - MSDN Blogs

[21]: Using IntelliSense - Using IntelliSense

[22]: Visual Studio Rename Refactor Helper for Visual Studio 2013 - Visual Studio Rename Refactor Helper for Visual Studio 2013 - Visual C++ Team Blog - Site Home - MSDN Blogs

[23]: All about C++ Refactoring in Visual Studio 2015 Preview - All about C++ Refactoring in Visual Studio 2015 Preview - Visual C++ Team Blog - Site Home - MSDN Blogs

[24]: Debugging and diagnostics enhancements in Visual Studio 2015 Preview - Debugging and diagnostics enhancements in Visual Studio 2015 Preview

[25]: Developing Native-Activity (Android) applications - Developing Native-Activity (Android) applications - Visual C++ Team Blog - Site Home - MSDN Blogs

[26]: NativeActivity - NativeActivity | Android Developers

[27]: Using Native Libraries - Using Native Libraries - Xamarin

[28]: Developing Xamarin Android Native Applications - Developing Xamarin Android Native Applications - Visual C++ Team Blog - Site Home - MSDN Blogs

[29]: Port from OpenGL ES 2.0 to Direct3D 11 - Port from OpenGL ES 2.0 to Direct3D 11 - Windows app development

[30]: Principles and Practice of Structural Equation Modeling, Third Edition (Methodology in the Social Sciences)

[31]: A Beginner's Guide to Structural Equation Modeling: Third Edition

[32]: PLS path modeling - PLS path modeling

[33]: PLS-SEM: Indeed a Silver Bullet - PLS-SEM: Indeed a Silver Bullet by Joseph F. Hair, Christian M. Ringle, Marko Sarstedt :: SSRN

[34]: A Critical Look at the Use of PLS-SEM in MIS Quarterly - A Critical Look at the Use of PLS-SEM in MIS Quarterly by Christian M. Ringle, Marko Sarstedt, Detmar Straub :: SSRN

[35]: A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM) - SAGE: A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM): Joseph F. Hair, Jr.: 9781452217444

[36]: A Beginner's Guide to Partial Least Squares Analysis - An Error Occurred Setting Your User Cookie

[37]: Partial least squares structural equation modeling (PLS-SEM): A useful tool for family business researchers - Partial least squares structural equation modeling (PLS-SEM): A useful tool for family business researchers
 
Last edited by a moderator:

VARINA

New Member
Tham gia
16/11/14
Bài viết
32
Được thích
17
#3
Bài này là do bạn tự viết phải không? Rất công phu và chất lượng.
 

Duy Lê

New Member
Tham gia
10/6/14
Bài viết
3,049
Được thích
4,981
#5
:too_sad: đây là thế giới của các bạn coder đây sao
 

vanhtran

New Member
Tham gia
27/4/15
Bài viết
14
Được thích
4
#8

Gần đây, chúng ta đã có dịp nhìn thấy những bước thay đổi lớn trong chiến lược của Microsoft từ cuối thời điểm cựu CEO Steve Ballmer còn nắm quyền với quyết định mang Microsoft Office lên iOS [1], tiếp theo đó là Android [2] và gần đây nhất là Cortana sẽ xuất hiện trên nền tảng iOS và Android ngay sau khi Windows 10 được chính thức phát hành [3].

Dễ thấy rằng, “luật chơi” do chính Microsoft đặt ra đã thay đổi khi không buộc người dùng phải sử dụng các sản phẩm Windows để đổi lại có được những giải pháp của hãng, tạo ra một vòng tròn khép kín chuỗi các giải pháp từ người dùng thông thường đến doanh nghiệp sử dụng các sản phẩm, dịch vụ của Microsoft.

Thay vào đó, hãng đã đa dạng hóa nền tảng hỗ trợ của các sản phẩm, điều này góp phần nâng cao trải nghiệm của người dùng iOS hay Android vốn là đối thủ của Windows Phone. Bên cạnh sự thay đổi trong chiến lược của các sản phẩm hướng đến người dùng cuối, Microsoft cũng đã thay đổi chiến lược tương tự đối với công cụ phát triển ứng dụng.

Theo đó, hãng đã có hai bước tiến lớn đó là hợp tác với Xamarin để giúp lập trình viên có thể sử dụng các công nghệ của Microsoft để tạo ra các ứng dụng trên Andoird, iOS với ngôn ngữ lập trình C# (hiện tại Xamarin đã hỗ trợ C# 5.0 [4]). Tiếp theo đó là biến Visual C++ thành ngôn ngữ lập trình đa nền tảng thông qua hỗ trợ Android bên cạnh nền tảng Windows và Windows Phone truyền thống.

Đó là hướng đi rất khác của Microsoft so với trước đây vốn luôn bị coi là độc quyền. Trong khuôn khổ bài viết này, chúng ta sẽ lần lượt đi sâu tìm hiểu những thay đổi đã và đang diễn ra ở khía cạnh công cụ phát triển ứng dụng để rõ hơn vì sao lại có những quyết định dị thường như vậy.
Từ Mono đến Xamarin

Khi công nghệ .Net được giới thiệu chính thức vào tháng Sáu năm 2000 [5]. Tháng 12 năm đó, Microsoft đã quyết định mở Common Language Infrastructure, một đặc tả (specification) định nghĩa môi trường nhằm cho phép các ngôn ngữ lập trình bậc cao có thể được sử dụng trên các nền tảng máy tính khác nhau mà không cần viết lại [6] [7].

Nhờ đó, Miguel de Icaza (cũng được biết đến với vai trò người khởi xướng GNOME – một môi trường làm việc phổ biến từ Linux cho đến UNIX) đã tìm cách đưa .Net vượt ra ngoài Windows với dự án Mono. Trải qua năm tháng với nhiều sự kiện, cuối cùng Xamarin do chính Icaza sáng lập với vai trò là công ty hỗ trợ và phát triển dự án Mono.

Bên cạnh phát triển dự án Mono nguồn mở, miễn phí, Xamarin cũng cung cấp giải pháp có phí Xamarin Studio cho phép các nhà phát triển sử dụng ngôn ngữ lập trình C# để tạo ra các ứng dụng trên Mac, iOS và Android. Đồng thời, trên Windows, Xamarin cung cấp add-in nhằm tích hợp môi trường phát triển Android và iOS trên Visual Studio, để tạo ra các ứng dụng gốc (native) tương tự như các môi trường phát triển khác được Microsoft tích hợp sẵn.

Cuối năm 2013, một sự kiện lớn đối với quá trình pháp triển của Xamarin đó là sự hợp tác chính thức của Xamarin và Microsoft làm tiền đề cho sự tích hợp ở cấp độ sâu hơn của Xamarin vào Visual Studio, đồng thời nhận được nhiều sự hỗ trợ hơn từ Microsoft trong việc cập nhật các nền tảng .Net mới của hãng cũng như các thư viện như Portable Class Libraries (PCL)


Cấu trúc Common Language Infrastructure
Nguồn: [8]​

Và .NET NuGet (giấy phép sử dụng cho NuGet được chuyển sang cho phép sử dụng trên tất cả các nền tảng [9]) vốn rất cần thiết trong phát triển các ứng trên nền .Net [9]. Tuy rất khó để đánh giá mức độ khó khăn hay đơn giản trong việc phát triển ứng dụng các nền tảng khác nhau. Nhưng thực tế ta có thể thấy rằng thư viện .Net NuGet vô cùng phong phú, tập hợp rất nhiều thư viện cần thiết giúp các nhà phát triển .Net có thể dễ dàng tích hợp vào sản phẩm của mình mà không cần phải tự viết hay sưu tầm như thời trước .Net NuGet ra đời.

Bên cạnh đó, Xamarin cho phép tích hợp Portable Class Libraries vào các nền tảng khác nhau cũng góp phần rất lớn trong việc đơn giản hóa quá trình phát triển ứng dụng trên các nền tảng khác. Theo Microsoft, Portable Class Libraries cho phép nhà phát triển tạo ra thư viện có thể sử dụng trên nhiều nền tảng .Net khác nhau mà không cần phải viết lại [10]. Để dễ hiểu, ta có thể hình dung rằng trước đây PCL có thể được viết một lần, sau đó được các nhà phát triển dùng lại trên các nền tảng khác nhau từ Windows Phone, Windows Store cho đến các ứng dụng sử dụng công nghệ Silverlight, bây giờ, nhà phát triển có thể bổ sung thêm vào danh sách hỗ trợ đó là iOS và Android.

Nhờ sự hợp tác này, từ nhà phát triển cho đến người dùng cuối trên iOS và Andoird đều được lợi. Đối với Microsoft, ngoài lợi nhuận từ việc liên minh với Xamarin, họ còn được gì? Trước khi đi đến kết luận, ta có thể tham khảo thêm khái niệm Universal App,được giới thiệu tại hội nghị //Build 2014, tức là sau khi liên minh Microsoft và Xamarin được thành lập.Theo đó, các nhà phát triển có thể tạo một ứng dụng cùng lúc cho cả Windows 8.1 và Windows Phone 8.1 thông qua việc chia sẽ mã nguồn giữa các ứng dụng với nhau.

Thậm chí, nhà phát triển có thể xây dụng một giao diện chung cho Windows 8.1 và Windows Phone 8.1 mà không cần phải thiết kết lại. Đó là việc trước đây không thể xảy ra trên Windows 8 và Windows Phone 7, 8. Nguyên do chính đó là vì Windows Phone 7, 8 sử dụng công nghệ Silverlight trong khi Windows 8 lại sử dụng Windows Runtime (hay còn được gọi là WinRT) [11], [12]. Hệ quả là mã nguồn của ứng dụng Windows 8 và Windows Phone 7, 8 không thể chia sẻ với nhau mà buộc nhà phát triển phải viết lại.

Từ đó, việc chuyển sang Windows Runtime tạo sự thuận lợi rất lớn cho các nhà phát triển khi chỉ cần xây dựng một lần mà có thể phát hành cùng lúc cho Windows Phone 8.1 và Windows 8.1. Trong ảnh minh họa bên dưới, ta có thể thấy, không những mô hình dữ liệu và dữ liệu của ứng dụng được sử dụng cùng một lúc trên Windows Phone 8.1 và Windows 8.1, Microsoft còn cho phép nhà phát triển sử dụng các Class để khai thác dữ liệu của ứng dụng cùng lúc trên hai nền tảng mà không cần phải viết lại.

Điều này tạo ra lợi thế về khả năng đồng bộ của ứng dụng khi nhà phát triển có thể cùng một lúc phát hành ứng dụng cho Windows 8.1 và Windows Phone 8.1, ngoài ra, trải nghiệm của nghiệm của người dùng cuối cũng được nâng cao.


Chọn nền tảng cho Portable Class Library


Mã nguồn của một ứng dụng Universal

Đến đây, ta có thể thấy rõ ràng rằng, Microsoft không những thúc đẩy Windows Phone thông qua các phương pháp truyền thống như phát triển thêm tính năng, thay đổi theo ý kiến của người dùng hay sử dụng các chiến dịch tiếp thị làm đòn bẩy mà còn táo bạo hơn là đưa .Net vượt ra ngoài sản phẩm họ Windows của hãng một cách chính thức.

Một mặt, điều này không những giúp các nhà phát triển .Net không cần bỏ quá nhiều thời gian vào việc tìm hiểu thêm các công cụ, ngôn ngữ lập trình cho nền tảng mới mà vẫn có thể tạo ra các sản phẩm đa nền tảng. Mặt khác, Microsoft có thể sử dụng tính đơn giản trong việc tạo ra sản phẩm đa nền tảng này thúc đẩy lượng ứng dụng của Windows Phone 8.1 và Windows 8.1. Bởi nếu xét kỹ, thông qua Universal App và Xamarin, một nhà phát triển có thể tạo ra một sản phẩm gốc (không cần phải sử dụng công nghệ lập trình web di động HTML 5 như Apache Cordova) trên tất cả nền tảng từ Windows Phone 8.1, Windows 8.1 cho đến Anroid, iOS, OS X với mã lệnh chỉ cần viết một lần có thể sử dụng trên nhiều nền tảng khác nhau.

Tuy nhiên, nếu để ý, chúng ta có thể thấy giải pháp của liên minh Microsoft và Xamarin còn một khoảng trống, đó là các nhà phát triển trò chơi, các ứng dụng liên quan đến đồ họa nặng thường chỉ sử dụng C++ hay sự phân mãnh trong việc khai thác đòn bẩy C++ đối với công nghệ của Xamarin. Do đó, Microsoft tự đã phát triển Visual C++ for Cross-Platform Mobile Development được trang bị trong Visual Studio 2015 đang trong giai đoạn thử nghiệm của hãng [14].

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về sự hỗ trợ của Microsoft trong việc phát triển các ứng dụng trên hệ điều hành Android và mối quan hệ giữa Android với việc thúc tiến nền tảng Windows.

Tài liệu tham khảo:

[1]: Steve Ballmer made the decision to ship Office for iPad -http://Steve Ballmer made the decision to ship Office for iPad | The Verge

[2]: Microsoft Office comes to Android tablets starting today -http://Microsoft Office comes to Android tablets starting today - CNET

[3]: Exclusive: Microsoft's digital assistant to head to Android, Apple devices - Exclusive: Microsoft's digital assistant to head to Android, Apple devices| Reuters

[4]: Major upgrades to Xamarin’s platform: Async is here - Major upgrades to Xamarin’s platform: Async is here | Xamarin BlogXamarin Blog

[5]: ZDNet Downtime

[6]: http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-335, 1st edition, December 2001.pdf

[7]: ZDNet Downtime

[8]: Common Language Infrastructure - Wikipedia, the free encyclopedia

[9]: PCL and .NET NuGet Libraries are now enabled for Xamarin - PCL and .NET NuGet Libraries are now enabled for Xamarin - .NET Blog - Site Home - MSDN Blogs

[10]: Portable Class Libraries - Portable Class Libraries

[11]: WinRT Revealed (Expert's Voice in Windows)

[12]: Build 2011: What Is WinRT, and Is Silverlight Dead? - http://readwrite.com/2011/09/13/build-2011-what-is-winrt-and-i

[13]: Get started with DirectX game development - Get started with DirectX game development - Windows app development

[14]: Cross-Platform Mobile Development with Visual C++ - Cross-Platform Mobile Development with Visual C++ - Visual C++ Team Blog - Site Home - MSDN Blogs

[15]: The Front-End C++ Compiler (C1XX) - The Front-End C++ Compiler (C1XX)

[16]: The C/C++ Code Generator (C2) - The Front-End C++ Compiler (C1XX)

[17]: C/C++ Code analysis in VS2015 - C/C++ Code analysis in VS2015 - Visual C++ Team Blog - Site Home - MSDN Blogs

[18]: Anatomy of Linux dynamic libraries - Anatomy of Linux dynamic libraries

[19]: Windows to UNIX porting, Part 1: Porting C/C++ sources - Windows to UNIX porting, Part 1: Porting C/C++ sources

[20]: Introducing Visual Studio’s Emulator for Android - Introducing Visual Studio’s Emulator for Android - Microsoft Application Lifecycle Management - Site Home - MSDN Blogs

[21]: Using IntelliSense - Using IntelliSense

[22]: Visual Studio Rename Refactor Helper for Visual Studio 2013 - Visual Studio Rename Refactor Helper for Visual Studio 2013 - Visual C++ Team Blog - Site Home - MSDN Blogs

[23]: All about C++ Refactoring in Visual Studio 2015 Preview - All about C++ Refactoring in Visual Studio 2015 Preview - Visual C++ Team Blog - Site Home - MSDN Blogs

[24]: Debugging and diagnostics enhancements in Visual Studio 2015 Preview - Debugging and diagnostics enhancements in Visual Studio 2015 Preview

[25]: Developing Native-Activity (Android) applications - Developing Native-Activity (Android) applications - Visual C++ Team Blog - Site Home - MSDN Blogs

[26]: NativeActivity - NativeActivity | Android Developers

[27]: Using Native Libraries - Using Native Libraries - Xamarin

[28]: Developing Xamarin Android Native Applications - Developing Xamarin Android Native Applications - Visual C++ Team Blog - Site Home - MSDN Blogs

[29]: Port from OpenGL ES 2.0 to Direct3D 11 - Port from OpenGL ES 2.0 to Direct3D 11 - Windows app development

[30]: Principles and Practice of Structural Equation Modeling, Third Edition (Methodology in the Social Sciences)

[31]: A Beginner's Guide to Structural Equation Modeling: Third Edition

[32]: PLS path modeling - PLS path modeling

[33]: PLS-SEM: Indeed a Silver Bullet - PLS-SEM: Indeed a Silver Bullet by Joseph F. Hair, Christian M. Ringle, Marko Sarstedt :: SSRN

[34]: A Critical Look at the Use of PLS-SEM in MIS Quarterly - A Critical Look at the Use of PLS-SEM in MIS Quarterly by Christian M. Ringle, Marko Sarstedt, Detmar Straub :: SSRN

[35]: A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM) - SAGE: A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM): Joseph F. Hair, Jr.: 9781452217444

[36]: A Beginner's Guide to Partial Least Squares Analysis - An Error Occurred Setting Your User Cookie

[37]: Partial least squares structural equation modeling (PLS-SEM): A useful tool for family business researchers - Partial least squares structural equation modeling (PLS-SEM): A useful tool for family business researchers
Cám ơn bài viết hữu ích
 

Theo dõi Youtube

Thành viên online

Không có thành viên trực tuyến lúc này

Quảng Cáo

Quảng Cáo

Có thể bạn quan tâm

Top Bottom