SlideShare a Scribd company logo
K.NET講師 Clark
 Microsoft C# MVP
 部落格:昏睡領域
http://www.dotblogs.com.tw/clark/
 技術專長:
◦ 領域驅動開發流程
◦ 軟體架構分析設計
◦ 軟韌硬體整合開發
◦ 跨平台APP架構設計
 開發APP的原因
 開發APP的平台
 開發APP的挑戰
 開發APP的設計
 開發APP的實作
 使用者黏著手機的時間比較長
 延伸既有服務接觸更多使用者
 面對使用者銷售增加荷包收入
 ……
 別人有、我也要
 別人有、我也要(老闆說)
 開發APP的原因
 開發APP的平台
 開發APP的挑戰
 開發APP的設計
 開發APP的實作
Objective-C Java C#
C#
JavaScript
JavaScript
Objective-C Java C#
 開發APP的原因
 開發APP的平台
 開發APP的挑戰
 開發APP的設計
 開發APP的實作
APP
SchemaWebAPI
Prototype SA
SD
PG
Objective-C
(平均1.3年)
Java
(平均1.8年)
C#
(平均0.8年)
Objective-C Java C#
 開發APP的原因
 開發APP的平台
 開發APP的挑戰
 開發APP的設計
 開發APP的實作
Presentation
Domain
Access
OO + Language
領域模型 領域物件 程式物件
namespace Clark.Samples
{
public class ClassA
{
}
}
系統分析 系統設計 程式開發
public class ClassA
{
public string Execute()
{
// Create
var classB = new ClassB();
// Execute
var result = classB.Run();
// Return
return result;
}
}
企業知識
軟體架構
領域物件領域邏輯
系統分析 系統設計 程式開發
程式開發
程式開發
Senior Junior
系統分析 系統設計 程式開發
程式開發
程式開發
OOAOOD Language
系統分析 系統設計 程式開發
程式開發
程式開發
Object-Oriented
 開發APP的原因
 開發APP的平台
 開發APP的挑戰
 開發APP的設計
 開發APP的實作
public class TestClass {
// methods
public void execute() {…}
}
Java
@interface CSTestClass
// methods
- (void)execute;
@end
Objective-C
public class TestClass
{
// Methods
public void Execute() {…}
}
C#
package clark.samples;
Java
@interface CSTestClass
@end
Objective-C
namespace Clark.Samples
{
}
C#
// class
public class TestClass {
}
Java
// class
@interface CSTestClass
@end
Objective-C
// Class
public class TestClass
{
}
C#
// properties
private TestService _testService;
public final TestService getTestService() {
return _testService;
}
Java
// properties
@property (readonly, retain) TestService*
testService;
Objective-C
// properties
public TestService TestService { get; }
C#
// methods
public void execute() {
}
Java
// methods
- (void)execute;
Objective-C
// Methods
public void Execute()
{
}
C#
_service.executeCompleted().add(
new ActionEventHandler.Type1<String>() {
@Override public void raise(String value) {
// do something ...
}
});
Java
[_service.executeCompleted addObject:
[^void(NSString* value) {
// do something ...
} copy]
];
Objective-C
_service.executeCompleted += delegate (string value)
{
// do something ...
};
C#
系統分析 系統設計 程式開發
程式開發
程式開發
系統設計
系統設計
C# : async/await
Java : ActionTask
Obj-C : Callback
Java : ActionTask
C# : async/await
Obj-C : Callback
系統分析 系統設計 程式開發
程式開發
程式開發
All : Promise Java : Promise
C# : Promise
Obj-C : Promise
 https://github.com/Clark159/CLK.Promises
Q & A

More Related Content

What's hot

2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
Guan-Rong Huang
 
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
Gelis Wu
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎
Gelis Wu
 
web开发中的职业发展方向
web开发中的职业发展方向web开发中的职业发展方向
web开发中的职业发展方向Cao Li
 
與設計架構當朋友
與設計架構當朋友 與設計架構當朋友
與設計架構當朋友
Win Yu
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列   設計符合團隊的範本精靈 (Project template)架構設計好簡單系列   設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
Gelis Wu
 
軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)
Gelis Wu
 
.NET history and careers
.NET history and careers.NET history and careers
.NET history and careersShiny Zhu
 
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
Gelis Wu
 

What's hot (12)

2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
 
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎
 
web开发中的职业发展方向
web开发中的职业发展方向web开发中的职业发展方向
web开发中的职业发展方向
 
與設計架構當朋友
與設計架構當朋友 與設計架構當朋友
與設計架構當朋友
 
Jobforcompal
JobforcompalJobforcompal
Jobforcompal
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列   設計符合團隊的範本精靈 (Project template)架構設計好簡單系列   設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)
 
.NET history and careers
.NET history and careers.NET history and careers
.NET history and careers
 
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
 

Similar to 面對移動化App挑戰的架構設計

領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)
Jeff Chu
 
iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台
Evan Lin
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
Duran Hsieh
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
Will Huang
 
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
UXTW(Taiwan User Experience Professional Association)
 
twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門
twMVC
 
初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf
gdscnycu
 
App Developer Team Learning Map
App Developer Team Learning MapApp Developer Team Learning Map
App Developer Team Learning MapRyan Chung
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
Jollen Chen
 
Let's talk about Web Design
Let's talk about Web DesignLet's talk about Web Design
Let's talk about Web Design
Abby Chiu
 
Jabong - 2016.05.16
Jabong - 2016.05.16Jabong - 2016.05.16
Jabong - 2016.05.16
Yingray Lu
 
C#语言与面向对象程序设计
C#语言与面向对象程序设计C#语言与面向对象程序设计
C#语言与面向对象程序设计WizRay
 
使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​
Poy Chang
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 
董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座Chui-Wen Chiu
 
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
Rick Hwang
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
Meng-Ru (Raymond) Tsai
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
twMVC
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
taobao.com
 

Similar to 面對移動化App挑戰的架構設計 (20)

領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)
 
iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
 
twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門twMVC#11 | 架構設計入門
twMVC#11 | 架構設計入門
 
初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf初窺 Flutter 開發.pdf
初窺 Flutter 開發.pdf
 
App Developer Team Learning Map
App Developer Team Learning MapApp Developer Team Learning Map
App Developer Team Learning Map
 
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
 
Let's talk about Web Design
Let's talk about Web DesignLet's talk about Web Design
Let's talk about Web Design
 
Jabong - 2016.05.16
Jabong - 2016.05.16Jabong - 2016.05.16
Jabong - 2016.05.16
 
行動技術開發概論
行動技術開發概論行動技術開發概論
行動技術開發概論
 
C#语言与面向对象程序设计
C#语言与面向对象程序设计C#语言与面向对象程序设计
C#语言与面向对象程序设计
 
使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​使用最新 Edge 瀏覽器來進行開發​
使用最新 Edge 瀏覽器來進行開發​
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 
董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座
 
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
 

面對移動化App挑戰的架構設計