Service | Analytics | Performance | Errors | Titanium SDK | Costs |
---|---|---|---|---|---|
New Relic | Limited (users) | HTTP | HTTP | Incomplete (no crashes) | Free, $29/mo |
Google Analytics | Extensive | Manual | Native (no traces) | Abandoned, Out-dated | Free |
Appcelerator Platform | Extensive | HTTP | Native + JS | Up-to-date | Not public |
Count.ly | Extensive | N/A | N/A | gitTio | OSS, $125/mo |
Flurry | Extensive | N/A | Native | gitTio, Marketplace | Free |
Crit |
I've had the opertunity to try a variety of different server configurations but never really got around to trying HHVM with Magento until recently. I thought I would share a detailed walkthrough of configuring a single instance Magento server running Nginx + Fast CGI + HHVM / PHP-FPM + Redis + Percona. For the purpose of this blog post I'm assuming you are using Fedora, CentOS, or in my case RHEL 6.5.
Please note: I'm 100% open to suggestions. If you see something I did that needs to be done a different way, please let me know. I haven't included my Perconca my.conf file yet. I will shortly. Also I plan on trying this same test with HHVM 3.3 and PHP 7.
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
This is a quick example of how to create a fading actionbar effect like this in Appcelerator Titanium
This is actually very simple. The trick is putting the Actionbar in overlay mode by configuring the theme with windowActionBarOverlay:true
. Then all you need to do is updating the color of the Actionbar, in this case by scrolling a ScrollView.
var win = Ti.UI.createWindow({ | |
backgroundColor: "#fff" | |
}); | |
var btn = Ti.UI.createButton({ | |
title: "Schedule local notification!" | |
}); | |
btn.addEventListener("click", scheduleLocalNotification); | |
function scheduleLocalNotification() { |
var Hyperloop = require('hyperloop'); | |
var UIView = require('UIView'); | |
var CGRect = require('CGRect'); | |
var CGPoint = require('CGPoint'); | |
var UIColor = require('UIColor'); | |
var UIBezierPath = require('UIBezierPath'); | |
function DEGREES_TO_RADIANS(angle) { return (Number(angle) / 180.0 * Math.PI) }; | |
With Alloy and Hyperloop, you can quickly and easily expose native UI as Custom Alloy tags by leveraging the namespace (ns) attribute and commonjs modules.
Alloy allows you to create your own UI element that can be included into the XML View heirarchy in one of two ways, an Alloy Widget or through the use of Custom Tags.
To create your own custom tag, you link the tag to the commonjs module with the namespace attribute (ns). Here is an example using a custom tag to render a standard Titanium View:
Appcelerator Titanium offers many ways to style the navigation bar for iOS apps, from changing out the title view all together, or just using simple colors. However, one of the most frequent requests I hear is how to make a truly transparent NavigationBar. This tutorial will cover that.
Lets start with a pretty simple window style in the app.tss. This will ensure that the window style is applied globally.
Note: This can be used in a specific controller
*.tss
file if you only want this effect on a particular window.
Appcelerator Titanium offers many ways to style the navigation bar for iOS apps, from changing out the title view all together, or just using simple colors. However, one of the most frequent requests I hear is how to make a truly transparent NavigationBar. This tutorial will cover that.
Lets start with a pretty simple window style in the app.tss. This will ensure that the window style is applied globally.
Note: This can be used in a specific controller
*.tss
file if you only want this effect on a particular window.
filter: | |
paths: ["app/code/{vendor-name-goes-here}/*", "vendor/{vendor-name-goes-here}/*"] | |
excluded_paths: | |
- "vendor/{vendor-name-goes-here}/{module-name-goes-here}/*" | |
- "app/code/{vendor-name-goes-here}/{module-name-goes-here}/*" | |
- '*.min.js' | |
before_commands: | |
tools: | |
php_code_sniffer: | |
config: { standard: 'Zend,PSR-1,PSR-2' } |