Android vs iOS

18
Android vs iOS @gotokatsuya

Transcript of Android vs iOS

Page 1: Android vs iOS

Android vs iOS

@gotokatsuya

Page 2: Android vs iOS

Environment

Page 3: Android vs iOS

IDEAndroid iOS

Android Studio Xcode

Page 4: Android vs iOS

SimulatorAndroid iOS

Genymotion (Intel HAXM too)

Xcode

Page 5: Android vs iOS

Android iOS

Gradle

Dependency Manager

compile 'com.squareup.picasso:picasso:2.5.0' pod 'SDWebImage', '3.7.2'

Page 6: Android vs iOS

Semantic Versioning

MAJOR.MINOR.PATCH

1. MAJOR version when you make incompatible API changes.

2. MINOR version when you add functionality in a backwards-compatible manner.

3. PATCH version when you make backwards-compatible bug fixes.

http://semver.org

Page 7: Android vs iOS

Widget

Page 8: Android vs iOS

Android iOS

TextViewUILabel

Text

TextView textView = new TextView(ctx); textView.setText(“Android”);

var label = UILabel(); label.text = “iOS”;

EditTextUITextField

UITextView

Page 9: Android vs iOS

Android iOS

Button UIButton

Button

var button = UIButton() button.setTitle("I'm Button",

forState: .Normal)

Button button = new Button(ctx); button.setText("I'm button”);

Page 10: Android vs iOS

Android iOS

ImageView UIImageView

Image

var iv = UIImageView() let image = UIImage(named: "image.png") iv.image = image

ImageView iv = new ImageView(ctx) iv.setImageResource(R.drawable.image)

Page 11: Android vs iOS

Android iOS

ListView UITableView

List

  var tableView = UITableView() tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")   tableView.dataSource = self   tableView.delegate = self

   ListView listView = new ListView(ctx);   String[] values =…       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simple_list_item_1, R.id.text1, values);   listView.setAdapter(adapter); 

Page 12: Android vs iOS

Library

Page 13: Android vs iOS

Android iOS

OkHttp Alamofire

HTTP Networking

OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build();

Response response = client.newCall(request).execute();

Log.d(“Response”, response.body().string());

Alamofire.request(.GET, ”url”) .responseString { _, _, string, _ in println(string) }

Page 14: Android vs iOS

Android iOS

Picasso SDWebImage

Image downloader

Picasso .with(ctx) .load(“url") .into(imageView);

let imageURL = NSURL(string: "url") imageView.sd_setImageWithURL(imageURL)

Page 15: Android vs iOS

Android iOS

Realm Realm

ORM

Realm realm = Realm.getInstance(ctx);

realm.beginTransaction();

// Create object User user = realm.createObject(User.class); user.setName("KATSUYA");

realm.commitTransaction();

// Create object let user = User() user.name = “Katsuya"

let realm = Realm() realm.write { realm.add(user) }

Page 16: Android vs iOS

Good things

Page 17: Android vs iOS

OSS

Page 18: Android vs iOS

Android

iOS

ParkedText

https://github.com/gotokatsuya/ParkedTextView

https://github.com/gmertk/ParkedTextField

A text with a constant text/placeholder