微软开源跨平台移动开发实践

微软开源跨平台移动开发实践 pdf epub mobi txt 电子书 下载 2025

李争,张广昀 著
图书标签:
  • Xamarin
  • Forms
  • MAUI
  • 跨平台开发
  • 移动开发
  • C#
  • 开源技术
  • 微软技术
  • 移动应用
  • 开发实践
  • Xamarin
  • 移动解决方案
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302453604
版次:1
商品编码:12086378
包装:平装
开本:16开
出版时间:2016-12-01
用纸:胶版纸
页数:219
字数:361000

具体描述

内容简介

  本书系统介绍了微软新一代高效、跨平台的应用平台.NET Core 1.0。借助.NET Core,原本只能运行在Windows 上的.NET 应用可以运行在Linux、OS X甚至是UNIX上。结合微软的Apache Cordova 和Xamarin 等工具,可以构建从服务端到客户端的完整开源、跨平台的解决方案。本书主要内容包括微软“云+端”战略,革命性的ASP.NET Core,开源跨平台的设备端开发,项目介绍和需求分析,构建开发环境,构建实体模型,创建Web 网站,创建Web API,在Azure 上部署服务,AngularJS和Ionic Framework,使用Cordova开发跨平台移动应用,使用Xamarin开发跨平台移动应用等内容。
  本书详细论述了利用微软技术快速构建开源、跨平台的移动应用解决方案。本书并不限于仅仅介绍.NET Core 技术,而是向读者介绍如何将微软提供的一系列平台和技术串联起来,形成确切方案进而为用户解决实际问题。

内页插图

目录

第1章微软“云+端”战略
1.1云计算介绍
1.1.1我们为什么要拥抱云计算
1.1.2当今计算模型的变化
1.1.3云计算是什么
1.1.4什么样的云是一朵好云
1.2微软的公有云Azure 简介
1.3端的变革
1.4微软的端战略
第2章革命性的ASP.NET Core
2.1完全开源的ASP.NET Core
2.1.1.NET Core实现了开源跨平台的使命
2.1.2ASP.NET 是什么
2.1.3ASP.NET 早期开源
2.2ASP.NET Core 的新特性
2.2.1使用JSON格式配置文件
2.2.2使用OWIN与IIS解耦
2.2.3全新的HttpContext
2.2.4内置依赖注入
2.2.5支持开放的包管理工具
2.2.6采用即时编译运行
2.3MVC 6 的新特性
2.3.1合并技术栈
2.3.2改进路由功能
2.3.3模型绑定
2.3.4TagHelper
2.4dotnet 命令行工具
2.4.1dotnet命令
2.4.2dotnet�瞡ew
2.4.3dotnet�瞨estore
2.4.4dotnet�瞨un
2.4.5dotnet�瞓uild
2.4.6dotnet�瞤ublish
第3章开源跨平台的设备端开发
3.1移动开发简史
3.1.1Windows的精简版Windows CE
3.1.2工控起家的Symbian
3.1.3Android的革命性崛起
3.2移动开发的显著特性
3.2.1用户体验是第一位的
3.2.2移动设备的资源限制颇多
3.2.3移动应用程序需要处理移动设备的特殊事件
3.2.4移动应用程序需要处理好数据同步和数据冲突的问题
3.3主流跨平台移动开发技术介绍
3.3.1QT Library 介绍
3.3.2Xamarin 介绍
3.3.3Cordova 介绍
3.4移动应用开发方式的选择
3.4.1Web页面还是App
3.4.2移动应用开发方式的选择
3.4.3Cordova 还是Xamarin
第4章项目介绍和需求分析
4.1项目展望
4.2系统需求
4.3网站功能需求
4.3.1首页功能
4.3.2搜索功能
4.3.3商品详细信息展示
4.3.4购物车功能
4.3.5订单
4.3.6用户账户管理
4.4移动端程序功能需求
4.4.1主界面功能
4.4.2商品信息展示功能
4.4.3购物车功能
4.4.4订单功能
第5章构建开发环境
5.1安装Visual Studio
5.1.1在云端创建开发机
5.1.2Visual Studio 的版本选择
5.1.3安装Visual Studio 2015 Community版本
5.1.4安装小贴士
5.2启用Visual Studio Online
5.3使用Azure PowerShell管理缓存服务
5.4安装ASP.NET Core 1.0 和Apache Cordova
第6章构建实体模型
6.1识别实体模型
6.1.1Muscle Fellow 用户关键用例
6.1.2实体类型之间的关系
6.2创建实体模型项目
6.2.1Entity Framework Core介绍
6.2.2创建Muscle Fellow.Models 项目
6.3创建实体模型
6.3.1创建用户模型
6.3.2创建商品模型
6.3.3创建商品图片模型
6.3.4创建品牌模型
6.3.5创建商品类型模型
6.3.6创建购物车模型
6.3.7创建订单实体
6.3.8创建订单明细实体
6.3.9创建送货地址实体
6.3.10配置Muscle Fellow 数据上下文对象
6.3.11将实体对象映射到数据库
6.4创建数据访问项目
6.4.1什么是Repository 模式
6.4.2创建Muscle Fellow.Data 项目
6.4.3设计和实现Repository 模式
第7章创建Web网站
7.1创建Web 项目
7.1.1创建Muscle Fellow.Web 项目
7.1.2ASP.NET Core Web项目基本结构
7.1.3ASP.NET Core Web 项目的入口
7.1.4引用前端框架
7.1.5引用NuGet 包
7.2依赖注入
7.3实现商品展示相关功能
7.4实现首页功能
7.5实现购物车的相关功能
7.6实现收货地址管理相关功能
7.7实现订单相关功能
第8章创建Web API
8.1几种远程调用方式
8.1.1套接字调用
8.1.2RPC服务调用
8.1.3Web Service 调用
8.1.4Web API 调用
8.2设计好用的Web API
8.2.1Web API 应具有版本标识
8.2.2Web API 应简单明了
8.2.3选择恰当的数据格式
8.3Web API的配置和验证
8.3.1实现ASP.NET Core 配置
8.3.2Web API的用户身份验证
8.4创建Muscle Fellow.API项目
8.5设计Muscle Fellow的Web API
8.5.1商品实体Web API的设计
8.5.2商品实体Web API的实现
8.5.3商品实体Web API的调试
8.5.4用户账户实体Web API的设计
8.5.5用户账户实体Web API的实现
8.5.6购物车实体Web API的设计
8.5.7购物车实体Web API的实现
8.5.8订单实体Web API 的设计
8.5.9订单实体Web API 的实现
第9章在Azure上部署服务
9.1在Azure上部署示意
9.2在Azure 上部署的注意事项
9.2.1永远要为虚拟机附加一块磁盘
9.2.2故障域和可用性集
9.2.3SQL Azure PaaS服务
9.3在Azure 上创建虚拟网络
9.4在Azure 上创建Linux虚拟机
9.5为Linux 虚拟机附加磁盘
9.6在Ubuntu 上部署.NET Core
9.7迁移SQL 数据库到云端
9.8部署Muscle Fellow.Web 和Muscle Fellow.API
9.8.1发布前修改配置
9.8.2制作和部署发布包
9.9使用Nginx 实现反向代理
9.10设置虚拟机端口映射
第10章AngularJS和Ionic Framework
10.1AngularJS 入门
10.1.1Angular 基本概念
10.1.2AngularJS 模块
10.1.3AngularJS 的作用域
10.1.4控制器
10.1.5依赖注入
10.1.6HTML页面中加载AngularJS
10.1.7AngularJS 的全局API
10.1.8AngularJS 的数据绑定
10.2Ionic Framework 入门
10.2.1模态视图
10.2.2SideMenu侧面菜单
10.2.3导航
10.2.4列表控件
第11章使用Cordova开发跨平台移动应用
11.1创建Ionic项目
11.2开发Cordova版本移动应用
11.2.1Ionic 项目结构介绍
11.2.2Ionic项目的启动过程
11.2.3实现商品列表界面
11.2.4实现商品详细信息界面
11.2.5实现用户登录
11.2.6实现购物车功能
11.3项目编译调试
11.3.1Cordova 项目适用的调试器
11.3.2项目调试策略
11.3.3测试小贴士
11.3.4在OS X上编译
第12章使用Xamarin开发跨平台移动应用
12.1准备工作
12.1.1安装Xamarin
12.1.2配置苹果OS X 系统
12.1.3实现Visual Studio 和OS X 系统的连接
12.2开发Xamarin版本移动应用
12.2.1创建Xamarin 应用程序项目
12.2.2Xamarin 项目结构介绍
12.2.3认识可移植项目
12.2.4实现商品列表界面
12.2.5iOS项目构建和调试

前言/序言

  2016年5月11日,我在新浪微博上留言“不是我不明白,这世界变化快啊! 坐在微软的办公室里研究了一宿Ubuntu Linux,五年前想都不敢想”,并配发了一张Ubuntu gcc编译开源项目时的截屏。是啊,这个世界变化真是太快了!别说五年前,就是三年前,一直从事微软技术路线的我也没有想过未来将要在Linux 上部署我的应用。
  微软公司在新任CEO 的带领下开始踏上了新的征程,迅速地开始向开源领域转型。公司向开源领域转型的第一个动作就令人瞩目,微软首席执行官 Satya Nadella 在2014年10月直接对媒体喊出了“Microsoft Loves Linux”!紧接着,微软在2014年年底宣布.NET Core 要支持跨平台,操作系统囊括了Linux、OS X 甚至FreeBSD,并且将.NET Core 的代码放到了Github 上。然后,微软又推出了广受好评的轻量级跨平台的IDE: Visual Studio Code。至今开源界已经给Visual Studio Code 贡献了上千个扩展插件。进一步,微软宣布SQL Server将在2017年正式支持Linux,并且通过收购Xamarin 公司一举揽收了Gnome和Mono 项目的创始人Miguel de Icaza这种开源界明星级别的人物进入公司……
  微软公司目前已经和开源界展开了紧密的合作,从云端大数据平台到移动端开发,在微软的产品中你都可以看到世界著名开源软件基金会Apache 的身影。现在再讨论“要不要开源?要不要跨平台?”已经毫无意义了。微软的工程师现在只关心一个项目或者产品的哪部分要开源?要支持几种操作系统平台?
  为什么要写这样一本书?这是一个好问题!经过这三年微软向开源和跨平台领域的转变,微软已经在开源和跨平台领域构建出了一套自己的技术体系。从服务器端的.NET Core、ASP.NET和Web API,到Web 端的TypeScript 脚本语言,再到移动端的Apache Cordova 和Xamarin,微软已经可以支持开发者使用完全开源和跨平台的技术构建自己的应用。再配合免费的Visual Studio Community版本以及支持Git版本控制的Visual Studio Online,开发者可以不花一分钱就可以在微软的平台上实现基于开源项目的应用程序生命周期管理。在李克强总理提倡的“大众创业,万众创新”的大潮中,微软现在的开源技术体系架构可以帮助创业者和开发人员大大降低创业的门槛和成本,迅速地将自己的创新想法变成现实。
  作者编写这本书,主要是为了通过一个非常简单的电商项目,将目前微软开源跨平台的技术体系结构串联起来,帮助创业者和开发人员了解和掌握如何使用微软的开源跨平台技术来迅速构建自己的应用。然后启用微软云Azure 的力量,快速部署和集成,迅速地将自己的技术产品和想法推广到每个用户手中。
  本书不是一本单独讲解某个微软开源技术的图书。恰恰相反,本书是把微软开发工具和开发服务(Visual Studio 2015、Visual Studio Online),微软开源开发技术(.NET Core1.0、Apache Cordova、Xamarin)和微软云(Azure)等各种相关技术串联起来的一本书。通过本书读者可以了解到如何利用这些开源、免费的工具和技术构建自己的应用。
  本书的代码全部开源,读者有兴趣可访问https://github.com/micli/MuscleFellow 获取本书相关的源代码。同时读者也可以通过访问http://musclefellow.chiancloudapp.cn 来体验已经部署好的网站和Web API。
  本书的创作始于2016年1月,截止到2016年7月2日。期间,.NET Core 从beta 8 演进到1.0 RTM。种种变化也给作者写作带来极大的痛苦,很多工作在每次.NET Core 新版本发布之后都要重新调整,很多章节的内容也因此全部失效而永远无法与读者见面。
  如何高效地阅读本书
  对于已经非常熟悉微软战略的读者,可以直接从第3章开始阅读。对于云计算和微软战略不是很熟悉的读者,建议从头开始阅读。
  从本书第5章开始,将涉及开发和代码。建议读者从Github上下载代码,再与本书内容对照着学习和阅读。
  本书适合哪些读者
  本书适合那些对使用微软技术构建应用以及对微软云平台Azure 部署应用感兴趣的人员,也适用于对开源技术感兴趣的读者。同时,本书对有志于互联网创业,尤其是期望快速搭建应用的创业者极具参考价值。
  致谢
  首先,我要感谢我的家人,尤其是我的女儿。在女儿需要陪伴成长的年纪,我占用了大量本属于她的时间去写作。尤其是连续写作两本书的情况下,使得我很长一段时间都没有好好地陪她。我对我的女儿充满了愧疚。此外,我也非常感谢我内心深爱的那个人。
  其次,我要感谢我的同事刘颖老师和清华大学出版社的盛东亮编辑。本书的成书是和你们的鼓励和支持密不可分的。
  最后,我还想感谢胡德民(Peter Hu) 和我的老板赵立威。在最近一年的时间里,胡德民帮我安排了很多与微软开源、跨平台相关的技术演讲,使我有机会全方面地接触微软相关的开源技术,尤其是Xamarin。同时,我的老板赵立威也非常支持我的写作,在写作过程中给予我很大的鼓励和支持。
  作者联系方式
  由于作者能力有限,书中难免会有疏失之处,请读者多多谅解也请不吝赐教。

软件开发的未来:拥抱跨平台,释放无限可能 在这个日新月异的数字化浪潮中,软件开发的面貌正经历着颠覆性的变革。曾经泾渭分明的平台界限逐渐模糊,用户期待在各种设备上都能获得无缝、一致且高性能的应用体验。从智能手机到平板电脑,从桌面电脑到嵌入式系统,用户在不同场景下切换自如,而应用程序的生命力,也因此被赋予了更广阔的舞台。 在这样的时代背景下,如何高效、经济地构建能够覆盖多平台、满足多元化用户需求的应用程序,成为了所有开发者、产品经理和企业决策者面临的核心挑战。传统的原生开发模式,虽然能提供极致的性能和平台特性,但其高昂的开发成本、漫长的开发周期以及难以维护的多端代码库,在激烈的市场竞争中显得力不从心。每一次平台更新,每一次新设备发布,都可能意味着对原生代码的大量返工。这种低效的模式,不仅吞噬了宝贵的开发资源,更扼杀了创新的速度,让企业难以快速响应市场变化,抓住稍纵即逝的商业机遇。 与此同时,移动互联网的蓬勃发展,让移动应用成为了连接用户与信息、服务、娱乐的关键节点。用户习惯的形成,市场份额的争夺,使得移动端应用的战略地位愈发突出。然而,iOS和Android这两个占据绝对主导地位的移动操作系统,其开发语言、工具链和API设计理念却存在显著差异。如果选择双平台原生开发,意味着需要组建两支独立的开发团队,管理两套独立的开发流程,这无疑会成倍增加项目的复杂度和成本。如何在有限的资源下,同时赢得两大移动平台的市场,实现事半功倍的效果,成为了绕不开的难题。 面对这些挑战,一种全新的开发范式应运而生,并逐渐成为行业的主流选择——跨平台移动开发。它并非简单地将代码“一次编写,到处运行”,而是通过一系列成熟的技术和框架,允许开发者使用一套相对统一的代码库,来构建能够原生运行在不同平台上的应用程序。这其中蕴含的不仅仅是技术上的革新,更是对开发流程、团队协作以及产品迭代策略的深刻重塑。 跨平台开发的核心价值在于其效率的跃升。开发者可以投入精力学习和掌握一套核心技术栈,而不是分散在多个原生平台上。这意味着更快的开发速度,更短的产品上市时间,以及更低的开发成本。对于初创企业而言,这意味着可以用更少的资金快速验证市场,迅速迭代产品;对于大型企业而言,这意味着可以整合开发资源,提高整体开发效能,将更多精力投入到业务逻辑和用户体验的创新上。 除了效率,一致性的用户体验也是跨平台开发的重要优势。虽然原生开发能提供最贴近平台特性的UI/UX,但优秀的跨平台框架通过精心的设计和抽象,能够帮助开发者构建出视觉风格统一、交互逻辑一致的应用,无论用户身处何种设备。用户不再需要为适应不同平台而调整使用习惯,从而获得更加流畅、愉悦的使用体验。这种一致性,对于建立品牌形象、提升用户忠诚度具有不可估量的价值。 更进一步,跨平台开发带来的代码复用和维护的简便性,直接解决了原生开发中的痛点。当需要修复bug、增加新功能或适配新平台特性时,开发者只需在一套代码库中进行修改,然后重新编译打包即可。这大大降低了维护成本,减少了因平台差异引入的错误,确保了所有平台上的应用都能同步更新,保持同步的竞争力。 在这个日新月异的软件开发世界中,掌握跨平台开发的精髓,意味着掌握了面向未来的开发能力。这不仅是一项技术技能的提升,更是对整个软件开发生态的深刻理解和积极拥抱。从技术选型、架构设计,到团队组建、项目管理,每一次决策都将影响到产品的成败。 理解跨平台开发的真正意义,在于洞察其背后所驱动的数字化转型的宏大叙事。在这个过程中,开发者不再仅仅是代码的编写者,更是数字解决方案的设计师和构建者。他们需要具备更广阔的视野,理解不同平台的技术特点,权衡各种技术方案的优劣,并根据实际业务需求做出明智的选择。 从宏观视角来看,跨平台开发是整个软件行业向着更高效率、更低成本、更优体验方向演进的必然结果。它打破了平台壁垒,让创新不再受限于特定的技术栈,而是能够以更快的速度、更低的门槛触达更广泛的用户群体。无论是对于个人开发者寻求职业突破,还是对于企业寻求业务增长,掌握跨平台开发都将成为一项至关重要的能力。 因此,深入理解并精通跨平台开发技术,便是站在了软件开发的前沿,成为了驱动未来数字世界发展的关键力量。这不仅仅是对现有技术的掌握,更是对未来趋势的预判与实践。 我们生活在一个充满无限可能性的时代,而跨平台开发,正是释放这些可能性的重要途径。它赋予开发者更大的自由度,更强的能力,去创造出触及每一个角落、服务每一个用户的卓越数字产品。拥抱跨平台,就是拥抱软件开发的未来。

用户评价

评分

作为一名专注于技术前沿探索的开发者,我购买这本书更多是抱着一种学习和验证当前技术方向是否正确的期待。我非常好奇作者是如何看待 Flutter 和 React Native 在市场上的竞争态势,以及微软未来会如何持续投入资源来支持 .NET 移动开发。我希望书中能对 MAUI 的未来路线图,例如对桌面端(Windows/macOS)的进一步强化,以及对新兴平台(如 WebAssembly 部署)的潜力进行前瞻性分析。与其说我需要学习基础语法,不如说我更需要的是一种“战略指导”——了解哪些是应该深入投入,哪些可能是短期内的技术陷阱。如果书中能够结合一些性能基准测试数据,对比不同版本框架的提升,或者与其他主流跨平台框架在内存占用和包体积上的对比,那将极大地增强说服力。这本书如果能成为我们团队在未来一两年技术选型和架构决策的重要参考,那它的价值就超出了书本本身的价格。

评分

坦白说,市面上关于移动开发的书籍浩如烟海,但真正能够把“微软开源”这个概念吃透的却凤毛麟角。我更希望这本书能不仅仅停留在介绍 MAUI 本身,而是将其置于更宏大的 .NET 生态背景下进行解读。比如,它如何与 Azure 云服务无缝集成,尤其是在数据同步、推送通知和身份验证方面的最佳实践。我希望看到如何利用 Blazor Hybrid 来整合现有的 Web 资产,实现代码的最大化复用,这对我们正在进行技术栈迁移的团队来说至关重要。另外,关于测试策略的部分,我非常期待能看到关于单元测试、集成测试以及 UI 自动化测试(例如使用 Playwright 或 Appium 在 .NET 环境下的集成)的详细步骤和框架选择。如果这本书能提供一个贯穿始终的、从零开始构建一个企业级应用的完整案例,并展示所有关键组件的实现细节,那它就远远超越了一本技术手册的范畴,而更像是一份珍贵的项目蓝图。

评分

这本书的装帧和排版给人一种非常清爽、易读的感觉,这对于阅读技术书籍来说是一个加分项。我个人对跨平台开发中的“原生体验”部分尤为敏感。我希望书中能够深入探讨如何利用平台特定的 API(Platform Specifics)来打破框架的限制,确保应用在 iOS 和 Android 上都能提供符合各自平台设计规范的流畅交互。比如,自定义导航栏、手势处理,以及如何处理权限请求的异步回调,这些细节往往是决定用户体验好坏的关键。如果作者能分享一些如何设计一个既能复用又能高度定制的组件库的经验,那就太棒了。我非常希望看到关于 .NET MAUI 在处理平台差异性时的设计哲学,以及如何通过最小的努力实现最大的兼容性,而不是陷入无休止的平台适配泥潭。这种对细节的把握和对用户体验的重视,才是区分优秀技术书籍和普通教程的分水岭。

评分

这本书的封面设计很抓人眼球,那种深邃的蓝色调配上简洁的几何图形,立刻就给人一种专业、前沿的感觉。我最近正在努力提升自己在移动开发领域的技能,尤其是对那些能够跨平台部署的框架非常感兴趣。我特别期待能在书中看到一些关于架构选择的深度讨论,比如 Xamarin 和 MAUI 之间的权衡,或者更侧重于性能优化和原生功能调用的具体代码示例。如果能有对微软生态系统未来走向的深入剖析,那就更好了。很多同类书籍往往停留在基础语法的介绍上,而我更希望这本书能提供一些实战中遇到的棘手问题的解决方案,比如复杂的 UI 布局、后台服务的持久化,或者在不同操作系统上处理权限和后台任务的最佳实践。我希望能看到一些经过验证的、来自一线工程师的经验总结,不仅仅是技术实现,还包括项目管理和团队协作中如何高效利用这些工具链的思路。总而言之,这本书的定位如果是在于提供一份全面、深入且具有前瞻性的跨平台移动开发路线图,那它无疑是极具价值的。

评分

拿到这本《微软开源跨平台移动开发实践》后,我首先被它内容的广度和深度所吸引。作为一名资深开发者,我最看重的是技术细节的扎实程度。我期望书中能详细阐述如 .NET MAUI 的热重载(Hot Reload)在复杂场景下的稳定性和效率,以及如何利用最新的 C 特性来编写更具表现力和可维护性的代码。我特别关注异步编程模型的处理,特别是在涉及到原生 API 调用时的线程安全问题。如果书中能够提供关于构建大型、模块化应用的清晰指导,例如如何有效分离视图模型(ViewModel)和业务逻辑层,并利用依赖注入(DI)来增强可测试性,那这本书的价值就无可估量了。此外,对于性能调优的章节,我希望看到关于内存管理和启动速度优化的具体案例研究,而不是泛泛而谈的理论。毕竟,在移动端,每一毫秒的性能提升都至关重要。这本书如果能真正做到“实践”二字,提供的是那种可以立刻投入到生产环境中的“干货”,那我就非常满意了。

评分

可以吧 买回来春节期间看看解决方案

评分

督促自己近期看完 坚持看纸质书

评分

不错的书,可以看一看

评分

很好,非常满意

评分

我没找到源代码的下载地址, 这个是很遗憾的, 不过代码相对而言简单, 也就无所谓了.

评分

挺好方便的很

评分

覆盖范围面较多,不够细。

评分

书的内容不行,介绍的都太肤浅咯。不值这价

评分

感觉还不错。!!

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有