【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术

     上周收到本书作者李争送的一本12月份的新书《微软开源跨平台移动开发实践——利用ASP.NET Core 1.0 、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案》。这本书的名字超长。这本书也是超薄,只有220页,一个周末时间就读完了,但是这本书的内容确是超丰富,浓缩了微软这三年向开源和跨平台领域的转变,微软在开源和跨平台领域构建出来的一套技术体系。从服务端的NET Core、ASP.NET 和 Web APi ,到Web端的 Typescript脚本语言,再到移动端的Apache Cordova和Xamarin ,以及Visual Studio Community 和Visual Studio Online等等入门知识

      作者编写这本书,主要是通过一个非常简单的电商项目,将目前微软开源跨平台的技术体系结构串联起来,帮助创业者和开发人员了解和掌握如何使用微软的开源跨平台技术来迅速构建自己的应用。然后启用微软云Azure的力量,快速部署和集成,迅速地将自己地技术产品和想法推广到每个用户手中。这本书不是一本单独讲解某个微软开源技术,而是把微软地开发工具服务(Visual Studio 2015、Visual Studio Online),微软开源开发技术(.NET Core 1.0、Apache Cordova、Xamarin)和微软云(Azure)等各种相关技术串联起来地一本书。

     本书的电商项目MuscleFellow 一个用Visual Studio 2015 Update 3 创建的,用来演示.NET Core 和 ASP.NET Core 1.0 的Demo。 整个项目的解决方案叫做MuscleFellow, 同时也是这个网站的名字:做肌肉伙伴(MuscleFellow)。这个基于ASP.NET Core 开发的网站可以实现简单的商品购买、购物车、地址管理、订单查看等功能。 同时,这个MuscleFellow.API 项目还提供了对外的Web API 功能。用来支持Cordova 和Xamarin 技术开发的移动程序的访问。源码托管在github:https://github.com/micli/MuscleFellow ,同时在Azure上部署了一个网站,可以通过http://musclefellow.chinacloudapp.cn/ 访问:

涉及到的技术主要有:

Azure 部署

目前这个网站部署在微软云Azure 的云服务(Cloud Service)上面,以经典模式进行部署。Web 服务器采用Ubuntu 14.04 LTS,Web 服务通过Nginx + Supervisor + Kestrel 进行发布。 发布的Web 服务包括肌肉伙伴网站: http://musclefellow.chinacloudapp.cn 和肌肉伙伴Web APIhttp://musclefellow.chinacloudapp.cn:8081

ASP.NET Core

MuscleFellow 的网站项目MuscleFellow.Web 和MuscleFellow的Web API 项目MuscleFellow.API 都是通过ASP.NET Core 技术进行开发。在项目中演示了Tag Helper、Middleware、Routing、依赖注入等ASP.NET Core 的主要特性。

ASP.NET Core Web API

在MuscleFellow.API 项目中着重演示了如何实现对HTTP GET、POST、PUT 等谓词的处理。

Entity Framework Core

在MuscleFellow.Data 项目中主要实现了通过Resposity 模式,用Entity Framework Core 去访问数据库。

Apache Cordova 开发

演示了使用Ionic 框架配合JavaScript 脚本实现一款基于Cordova 技术的移动应用,项目可以直接编译成Android 使用的apk 应用程序包。通过配置,也可将项目编译成iOS 使用的ipa。

Xamarin.Forms 开发

演示了使用Xamarin.Forms 实现一个自定义的ListView 来展示MuscleFellow 的产品,并支持使用Xamarin 提供的iOS 模拟器在Windows 上进行应用程序调试。

书籍目录如下:

第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new 
2.4.3dotnetrestore 
2.4.4dotnetrun 
2.4.5dotnetbuild 
2.4.6dotnetpublish 

第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项目构建和调试

    本书比较适合对微软技术构建应用以及对微软云平台Azure部署应用感兴趣的同学,也适合对开源技术感兴趣的同学,这本书对微软当前的开源跨平台技术有了入门级的介绍,方便你对微软的当前技术体系有个全貌概览。

    看到天猫京东都可以预定了,页面的信息看12.20号后,最晚圣诞节就可以发货了,大家可以上这两大平台上预定,购买的时候不妨也把李争写的另一本书《微软互联网信息服务 IIS 最佳实践》也买了,这是一本IIS方面的必备图书,顺便调查下大家对这两本书的购买意愿,看情况如果人多的话我们是否可以一起组织一次团购活动。

scrolling="no" frameborder="0" class="vote_iframe js_editor_vote_card" data-display-style="height: 172px;" data-display-src="/cgi-bin/readtemplate?t=vote/vote-new_tmpl&__biz=MzAwNTMxMzg1MA==&supervoteid=453642125&token=1264079982&lang=zh_CN" data-src="/mp/newappmsgvote?action=show&__biz=MzAwNTMxMzg1MA==&supervoteid=453642125#wechat_redirect" data-supervoteid="453642125" allowfullscreen>


原文地址:http://www.cnblogs.com/shanyou/p/6160440.html

        

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合(实现类线程安全性)

转载自 Java集合(实现类线程安全性) 1、集合和Map 下图是Java集合的Collection集合体系的继承树: 下图是Java的Map体系的继承树: 对于Set、List、Queue和Map四种集合,最常用的是HashSet、TreeSet、ArrayList、ArrayQu…

springboot 页面下载文件 网页下载文件功能 文件放resourcce下面

SpringMVC(Springboot)返回文件方法 zhao1949 2018-10-25 09:47:13 6866 收藏 1 https://blog.csdn.net/Lynn_coder/article/details/79953977 ********************************************************* 项目需要生成excel表格,然后返回给用户,用…

开源软件那么多,我们该如何选择?|洞见

当我们说起开源软件的时候,想必大家都有丰富的使用经历,小到Node.js的一个组件库,大到一套办公软件如LibreOffice,再如Linux操作系统,可以说无奇不有,浩如烟海。就拿我们常用的Github来说,官方的…

Java 集合框架分析:线程安全的集合

转载自 Java 集合框架分析:线程安全的集合 相关文章: Java 集合框架分析:Set http://blog.csdn.net/youyou1543724847/article/details/52733723 Java 集合框架分析:LinkedList http://blog.csdn.net/youyou1543724847/article/details/52734935 Java 集合框架分…

如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...

电脑定时关机很正常,但是你试过手机遥控电脑关机吗?或许你有时候很懒,相关电脑如何通过手机遥控关机。现在已经可以实现,简单就可以遥控电脑关机。一个屌丝般的软件,高富帅般的技术,下边详细介绍一下如何使…

MyBatisPlus(笔记)

简介 学习MyBatis-Plus之前要先学MyBatis–>Spring—>SpringMVC 为什么要学它?MyBatisPlus可以节省我们大量的时间,所有CRUD代码都可以自动完成 JPA, tk-mapper ,MyBatisPlus 偷懒用的! 是什么? 官网:https://baomidou.com/ 特性 无侵入:只做增强不做…

WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)——所有webapi似乎都缺失的一个功能

最近的工作我在做一个有关于消息发送和接受封装工作。大概流程是这样的,消息中间件是采用rabbitmq,为了保证消息的绝对无丢失,我们需要在发送和接受前对消息进行DB落地。在发送前我会先进行DB的插入,单表插入,所以在性…

java实现遍历树形菜单方法——Dao层

Dao层接口:/** * Title: IVoteTreeDao.java * Package org.dao * Description: TODO该方法的主要作用: * author A18ccms A18ccms_gmail_com * date 2017-5-6 下午10:38:47 * version V1.0 */ package org.dao;import java.util.List;import org.e…

文件损坏 无法删除 怎么使用chkdsk磁盘修复工具

有时候我们会遇到文件无法删除的问题,该如何解决。对于专业人士可能比较简单。对于小白,就够折腾人的了。下面分享下我是怎么做的。 很简单很实用。 现象:此时哪里有损坏,一般会在删除文件时,莫名的提示有文件无法删除…

35c3 krautflare

参考这篇文章可以彻底了解本题的漏洞所在 https://xz.aliyun.com/t/6527 由于Math.expm1经过patch以后的返回值不可能是-0,但是patch的地方是在typer优化中,所以实际上如果没有优化的话是可以返回-0的,这就意味着如果我们先不停地Math.expm1…

Java集合框架综述

转载自 Java集合框架综述 集合框架(collections framework) 首先要明确,集合代表了一组对象(和数组一样,但数组长度不能变,而集合能)。Java中的集合框架定义了一套规范,用来表示、…

vue项目没有启动成功的原因之一

删除mould。。。本地从新安装

RabbitMQ 高可用集群搭建及电商平台使用经验总结

面向EDA(事件驱动架构)的方式来设计你的消息AMQP routing key的设计RabbitMQ cluster搭建Mirror queue policy设置两个不错的RabbitMQ plugin 大型应用插件(Sharding、Rederation)Queue镜像失败手动同步各集群配置同步方式(RabbitMQ export\i…

谷歌浏览器如何阻止弹窗广告?右下角弹窗一个接一个的弹出 每隔几分钟又来一波 怎么屏蔽?

谷歌浏览器如何阻止弹窗广告?右下角弹窗一个接一个的弹出 每隔几分钟又来一波 怎么屏蔽? 作者:知乎用户 链接:https://www.zhihu.com/question/319190736/answer/645314963 来源:知乎 著作权归作者所有。商业转载请联…

如何线程安全的使用HashMap

转载自 如何线程安全的使用HashMap 在周二面试时,一面的面试官有问到 HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是 HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别。当时有…

用.net core 写后端—— c++外的另一种选择?

一、.net core简介 (1).net是什么 .net实际是遵守同一个标准(ECMA)的多种不同实现,如.net Framework、Mono、和较新的.netcore。C#是.net支持的其中一种语言,理论上任何遵循公共语言规范(CLS&am…

《微软开源跨平台移动开发实践》团购通知

【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术 大家的响应非常积极,接近400位同学想团购。 这两天通过作者李争的努力,为大家争取到了非常实惠的价格,投票结果看不到具体是谁参与了投票,请参与投票的…

Invalid character found in the request target. The valid characters are defi

解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题 ApiOperation(value "根据排污口类型获取所有企业排污口信息和经度和纬度", notes "获取所有企业排污口信息和经度和纬度") PostMappin…

大咖微课 | 直面Angular2系列课第二期开讲

1.背景介绍:Angular1.x与Angular2 近年来,Web 开发技术的发展日新月异,各种框架层出不穷。在这样的大背景之下,2010年10月,Google 首次发布了自己的 Web 开发框架,名为 AngularJS,也叫 Angular&…