|
|
|
|
|
by grayrest
5657 days ago
|
|
Programming for both is hard in different ways. With web programming, you can generally throw together arbitrary designs quickly but once it works, you have the second half of the work ensuring it works everywhere. With device programming, you have an easy path to the platform defaults and a more difficult path to arbitrary designs but (particularly on the iOS devices) once it runs, you're pretty much done. The hardest part of web programming is getting consistent results out of CSS, particularly since this is generally non-repeatable. The best solution is to use a CSS preprocessor (I recommend sass/compass) and up the abstraction a level so you CAN repeat the solutions. Javascript is comparatively stable. There are the same number of quirks/variations in the raw browser APIs but the libraries are to the point where they fill in the differences. I don't recommend programming a general use site without a library. Most of the work in building the lib is shimming+testing the differences between browsers, not doing the raw library design+construction. The trick to client side wizardry is modularization. You need something like Sproutcore, YUI3, Backbone, or Knockout to do modules/KVO otherwise things get out of control as your app size grows. It's a boring trick, but it's the trick. All flashier tricks (and there are hundreds) are easy to copy, you look at the source and pull out the interesting bits. I'm a devoted frontend developer. Dealing with browser quirks is annoying but I think the web is the healthiest platform available and I like not being a sharecropper. |
|