bitpew
Not true anymore. You can generate iOS and Android versions of your game with the free version of Unity3d (although with a reduced featureset in comparison to the pro version).
https://github.com/RadiusNetworks/android-ibeacon-service
Decoding the iBeacon packets is quite easy, but you need a device that supports BLE. Currently there are only a handful of Android devices that support it.
* "ok" price
* horrible customer communication
* in reality to want to sell you their services and not the iBeacons.
* not configurable (proximity id, major, minor)
* really long shipping time to europe (4 weeks)
* "ok" price
* nice form factor (small)
* not really iBeacon compatible. They say you can flash their beacons to make them compatible, but i haven't found out how since their support is not responding.
* not configurable (proximity id, major, minor)
* good price
* great support
* major, minor configurable. proximity id not
* form factor kinda bulky
* they seem to be able to deliver huge amount of beacons
* great price
* great support
* nice form factor (same as stickNFind)
* fully configurable (proximity id, major, minor)
* the company is relatively young
Can't say anything about the battery life yet, but the batteries were replaceable in each case.
"Effective Java" is a similar book for Java.
It looks like they even support debugging from within the ide now.
Around here (Central Europe, Austria) it's the other way around. It's a little bit harder to find good Android jobs than iOS jobs.
Maybe because Java has always been one of the more popular languages here and the amount of Android devs is just higher than the number of iOS devs.
e.g.
- Xamarin (multiplatform mobile apps)
- Unity3d (multiplatform games)
- Monogame (multiplatform games)
- Unreal Engine 4 (build system)
I guess Swift could fill the same gaps. I would especially love to be able to develop multiplatform mobile apps with swift since switching between ObjC and Java all the time is quite taxing.
1) Function Types ( = higher order functions)
This allows functions to be passed around as function parameters or return values.
2) Immutable variables via let
let a = 1 // a is always bound to the constant 1
a = 2 // error