WindowsPhoneとAndroidの話

26
WindowsPhone アプリをAndroid移植しようとした @ukayare

description

LTのやつ

Transcript of WindowsPhoneとAndroidの話

Page 1: WindowsPhoneとAndroidの話

WindowsPhoneアプリをAndroidに

移植しようとした

@ukayare

Page 2: WindowsPhoneとAndroidの話

WindowsPhone

Page 3: WindowsPhoneとAndroidの話

It is Very Exciting Device

Page 4: WindowsPhoneとAndroidの話

But

Page 5: WindowsPhoneとAndroidの話

The Problem is ...

So a few!!

Page 6: WindowsPhoneとAndroidの話

The Problem is ...

Page 7: WindowsPhoneとAndroidの話

I want you to use my application!!

I want Money!!

Page 8: WindowsPhoneとAndroidの話

Android sharing is ...

About 160 Times

Page 9: WindowsPhoneとAndroidの話

So, let the android development

Page 10: WindowsPhoneとAndroidの話

My WindowsPhone Application

Dominion    selector

Page 11: WindowsPhoneとAndroidの話

C# on Android(iPhone)

Xamarin

Page 12: WindowsPhoneとAndroidの話

Xamarin Advantage

● Creating Android Project by C#○ Can use LINQ and lambda○ Using delegate, your coding smart.

● XamarinStudio(IDE) is cool!!● Can Use VisualStudio.(by pay plan)

Page 13: WindowsPhoneとAndroidの話

Xamarin Disadvantage

● Free plan is so poor function.● Pay Plan is so expensive

Page 14: WindowsPhoneとAndroidの話

Xamarin...

For the rich man's Product

Page 15: WindowsPhoneとAndroidの話

Porting

Convert

Page 16: WindowsPhoneとAndroidの話

I think ...

Page 17: WindowsPhoneとAndroidの話

Problem 1

Can't use default and named arguments.

public void calc(){ sum(x: 3, y: 2, z: 1);//6 sum(x: 3, z: 1);//4 sum();//0 sum(z: 1);//1}

public int sum(int x = 0,int y = 0,int z = 0){ return x + y + z;}

Page 18: WindowsPhoneとAndroidの話

Care of

Using HashMap?

public void calc(){ HashMap<String, int> map = new HashMap<String, int> map.putInt("x", 10); sum(map);//10}public int sum(HashMap<String, int> map){ if(map == null) return 0; int x = map.put("x") == null ? 0 : map.put("x"); int y = map.put("y") == null ? 0 : map.put("y"); int z = map.put("z") == null ? 0 : map.put("z"); return x + y + z;}

Page 19: WindowsPhoneとAndroidの話

Problem 2

Can't use Lambda and Predicate(LINQ).-List filtering-

public class Point{ public x { get: set:} public y { get: set:}

public Point(int x, int y){ this.x = x; this.y = y; }}

public void hoge(){ var list = new List<Point>(); list.Add(new Point(1,2)) list.Add(new Point(-1,2)) list.Add(new Point(1,-2)) list.Where(point p => p.x > 0);}

Page 20: WindowsPhoneとAndroidの話

Care of

Using inner Interface?

public class PointList extends ArrayList<Point>{ public PointList where(FilterInterface filter){ reutrn filter.filter(this); } public interface FilterInterface{ public PointList filter(PointList target); }}

Page 21: WindowsPhoneとAndroidの話

implements

public void hoge(){ PointList list = new PointList(); list.Add(new Point(1,2)); list.Add(new Point(-1,2)); list.Add(new Point(1,-2)); list.where(new PointList.FilterInterface(){ @Override public PointList filter(PointList target){ PointList flist = new PointList();

for(Point p : target) if(p.x > 0) flist.add(p); return flist; } });}

Page 22: WindowsPhoneとAndroidの話

Problem 3

VisualStudio is better than Eclipse or AndroidStudio

Page 23: WindowsPhoneとAndroidの話

Care of

Please Use Xamarin!!

Page 24: WindowsPhoneとAndroidの話

The Last of ...

Page 25: WindowsPhoneとAndroidの話

Lunch Time is

Dominion Time!!

Page 26: WindowsPhoneとAndroidの話

I have participated    

wait for       everyone!!