HTML5/CSS/JS framework for iOS 'book app'? - ios

I'm looking at building some form of an eBook for iOS. By 'some form', I'm not yet sure what/how to build it.
The variables:
My skills: I'm fairly adept at front-end development, using HTML5, jQuery, CSS, etc. I've built an iOS app via Phonegap. I'm also a graphic designer so would like to retain some control over layout/typography/etc.
The type of book: It's primarily a picture book. Swipe between pages, perhaps a 'tap to see caption/details'. Perhaps some simple animations on some pages (fade out, slide-in...etc). Maybe a bit of sound (though that's not a priority). The one feature I'd really like to have is that it have an in-app purchase. For instance, 10 page book for free, in-app purchase do get the other 40 pages.
The options that I can think of off the top of my head:
built it from scratch in Phonegap
Use Apple's iBook Author
Use another framework (within Phonegap our outside).
Regarding #1, that certainly seems viable, though I'd worry that I'm not taking advantage of some prebuilt frameworks already tailored towards book-type apps.
Regarding #2, this looks appealing for building. Does it handle simple animation OK? I'm also not sure if one can do in-app purchases in the context of an iBook (though there is some appeal in that, on average, it appears iBooks sell at a higher price than Apps).
Regarding #3, that's probably my main question: are there frameworks out there that have come out in the past year or two that I'm unaware of that are tailored specifically for making iBooks and/or iBook-like Apps?

I've built both Phonegap applications and iBooks applications for my company -- for Phonegap, we used Monocle to get the paging behavior we wanted. It doesn't work perfectly (swiping proved problematic so we ended up only supporting tapping), but it allows HTML/JS/CSS and works well in the iOS UIWebView. We re-wrote it to use some CSS3 transitions, and we had to optimize it some more for performance (it doesn't handle huge books well), but it mostly works.
For iBooks Author, there's no way to do in-app purchases, but it's better in terms of re-flowable text, and the transitions between pages are much nicer. If you're trying to build a picture book, I'd start off looking at iBooks Author (there's also the ability to build HTML widgets, although that might not help you), since you can control the experience much better.

Related

MoPub Alternative

I am developing a system which has both Tablet & Website.
It's a tool and now more and more professional come to register on my system.
I want to do ads on the system. Both website and Tablet(iPad for now but will support android).
I searched a lot and MoPub seems a good option. I did utilize the MoPub SDK to iOS and website. it works good except, it's for mobile only.(Said by MoPub official, I feel sad because it meet every my requirement except this one. I need do ads on website also, even on PC browser.)
I want find an alternative of MoPub, but seems there is not much options.
Is there any one who knows this and give me some suggestion?
My requirement is:
As the system admin, I can create Ads order for customer, I can define the Ads content&layout displayed on both iPad & website. I can put link on ads and the link should works on both Tablet App and PC website.
As developer who integrate the Ads platform. I can utilize the SDK to request Ads based on customer keywords I defined.
I can see a lot of reports for the revenue, daily, monthly, single ads, multiple ads.
The very basic Ads configuration
Well formed SDK on iOS and android. so that I can integrate quickly.
Thanks!!!
hey man) you’re asking and trying to compare different things: you ask about MoPub Alternative and one of your requirements is that the solution should support both Web and Mobile. MoPub is for mobile platforms (ios/android) only. Frankly speaking both web and mobile ads have own features and nuances, that’s why most of current solutions are focused either on mobile or web. Not sure I can provide lots of info about platforms for web, but this article might be useful for you https://www.adpushup.com/blog/the-best-ad-networks-for-publishers-2015-edition-moving-beyond-adsense/
Mopub is a really good platform, but if you’re still thinking about alternative (i’m speaking about mobile) take a look at mediation solutions. there are lots of them: AdMob Mediation, Heyzap, Fyber, Appodeal and many others. all of them have pros and cons. if you like manual customization and settings give a try to the first three, i’ve heared lots of good things and positive reviews about HeyZap and Fyber, though im not a big fan of "handjob" =). this way you’ll just have to create accounts in networks you’d like to use in mediation. but i personally think that its slightly a longer way, at least for me, because the performance of each network depends on your app and it need to be understood. so you’ll need to analyze which ad networks perform better for you. i’m not a big fan of everyday analysis and comparisons, so i stick to programmatic services, like Appodeal for instanse. the point is that it works out of the box, automatically, without manual settings for each network and account, that helped me to save a lot of time for working on other projects. i’m pretty much sure that you won’t get a 100% right answer, because each developer has own priorities and aims. I suppose that the best way it to collect info on forums like stackoverflow, reddit, and make your own research accordin to your needs. good luck

Is it important make use of standard iOS components?

We are creating an iOS app that does not look like any other app you would find in the app store.
My question is, am I allowed to create custom components such as header bars, tab bars, tables etc. for my app and not get rejected by Apple when publishing the app to the app store?
Months of thought and planning has gone into the UI and flow of the app, so the user experience would be superb, we're just concerned about how apple feels about custom apps/components like these?
Regards
There's nothing inherently wrong with creating an app that's got a completely different look and feel to everything else.
But what I would advise is that you try to use the built-in components as much as possible. In recent versions of iOS Apple have introduced a number of APIs to let you customise their look and feel significantly, and some of the most innovative UIs out there are simple table and collection views that have been hacked to pieces.
This is because Apple's built in components have logged many hundreds of thousands (if not millions) of hours of real-world testing and use, and are thus vastly more stable and field-tested than a totally custom component. Plus, they often have various built in features (such as a scroll view's bounce) that are hard to replicate on your own.
So definitely customise your interface as much as you like, but while you're doing it think about whether you can harness the built-in UIKit classes rather than totally re-inventing the wheel.
More and more custom controls appear for iOS every day. If it is so good as you say, Apple will be happy to accept it. Don't worry.
Also take a look at these cocoacontrols
As said before, Apple will not have a problem with that .. as long as you don't use any private APIs. If you are developing these components on your own, you will have to make sure that these will work in future releases (which is not necessarily a bad point) . This may be a problem with third party components, as they may not be continued (or supported in future releases).

Understanding Newsstand App

I have a big question about how newsstand works.
When you have to create a new magazine(issue), how do you do it?
I mean, Do I have to implement new code for each magazine (with new views and new view controllers) which doesn't look the same as the others and has interactive content? In this case, how do I add/upload/integrate them to my newsstand app which is already in the market?
In the case that It doesn't work in this way, How does it work?
Thank you very much in advance.
Your question really goes to the heart of how Apple has chosen to implement Newsstand. Basically, there are three possibilities for using Newsstand: use image/pdf content, use HTML5 content, and use the CoreText native API.
I take it from what you are saying that you would like to use the CoreText API. This is difficult to do in the Newsstand framework for the reason you suggest: you really are not supposed to upload a whole new app with each edition.
There are two possible solutions. The first is simply not to use Newsstand. Instead you can publish your magazine as an app, and simply upload a new app for each edition. This means you miss out on things such as subscriptions and the "double-listing" promotion of Newsstand, but you can make high-quality, native, custom interfaces.
The second is to do what I am in the process of doing right now, which is to develop something like an XML encoding that when loaded into your base app will generate the kind of interface you want.
At least that is my analysis so far. I would be so pleased to be told I'm wrong, really. But I do think this is one of those cases where Apple hasn't really thought through what they are offering. Maybe next year it will get better!
If you use the Baker framework you can download the interface elements (html, images) as "issues" and the code part (Baker framework) will stay the same.
To add a new issue you do the same as you do with downloading the PDFs using NKAssetDownload. If you're using Baker you will want to extract the whole "book" into the documents directory.

Starting with iPad Magazine App, how to make reader

I need to start developing an app to publish interactive magazines for the iPad. However I don't have any idea how I can make the reader. I've been using web views to display normal pdf's, however now I need to use magazines created using Adobe Indesign. Have been looking all over and haven't found anything besides businesses that already provide their own apps for publishing.
If anyone can point me somewhere I can start, I've already looked at a very good tutorial to set up the store and possibly the library:
http://ios-blog.co.uk/articles/tutorials/how-to-make-a-magazine-app-in-ios-part-i/
but i don't think QuickLook is what I need for the reader.
Take a look at this PDF rendering library:
http://pspdfkit.com/
We used it in a similar app, and were very pleased. Peter Steinberger (the author) also gives great support and is very helpful. Previous to purchasing this library, I wrote my own PDF renderer, and I can guarantee you that it's MUCH cheaper to just buy Pete's library. Otherwise, you will spend months to optimize it enough that it runs on iPad 1.

Html5 for iOS game development

I have been hearing of the advent of html5 for iOS development. I know nothing about web dev technologies and am wondering, can this really be used for iOS game development? Just hearing html makes me think this will be used for web related apps, not things like graphically dynamic 2d games, but being unfamiliar, I'm hoping to get some insight from the experts here. Is html5 going to be useful at all for games, or should I basically expect to be sticking with the likes of cocos2d for iphone?
The short answer is "Yes, you can develop full speed, interactive games with HTML5". Check out "Private Joe", "Biolab Disaster" and "FUBAR" in the Apple app store. All were created with HTML5, Javascript, and a few javascript libraries (ImpactJS and Box2D).
One thing you'll see as you explore this is the repeated caveat that "web games aren't fast enough", also "Web games can't use the device's goodies - like GPS, vibration, etc."
These statements represent "common thought" and are not really true anymore. Companies like PhoneGap and appMobi have tools that make it possible to do anything in HTML/JS that can be done in native apps. Browsers keep getting faster, and smartphone processors also keep getting faster. Qualcomm's new chipset even has GPU acceleration for future smartphones.
As an added bonus from coding your app in HTML5, you will have the choice of whether to compile it app into a native app and post to one of the app stores (using appmobi or phonegap), or to offer it yourself as a web app (saving the Apple censorship and 30% tax).
Viva HTML5!
The real benefit to using HTML 5 for game development is that it's a write once, deploy everywhere strategy, meaning you can write the same code and have it work on iOS, Android, Windows, MacOS, Linux, etc, as long as it has a browser.
The HTML5 canvas element supports both 2d and 3d (on some platforms), so you can use it for complex games as well.
This will, however, run in a browser, so the only way to sell it in an app store is to wrap it in a UIWebView container or the like.
Also, there are games written in Canvas (just google it, also google 'chrome experiments' to find cool 3d stuff in HTML5).
I wrote this HTML5 Tetris implementation: http://htmltetris.com
It is designed to be equally playable on a PC and on touch devices supporting Javascript touch events.
One of the important things to get right in a mobile game is the control scheme and it took some thinking to come up with the swipe/tap control scheme used for Tetris here. But it turns out quite playable (in fact, just as playable if not more so than all of the tetris like iOS apps I have tried, and there are... quite a few of them) and is proof that it is possible to build a perfectly playable game with HTML5 technology.
Check out HTML5 Canvas. Lots of Web games are based on this tag. Here are some samples :- http://www.canvasdemos.com/type/games/
There are two great things about investing your time in learning HTML5 and its counterparts:
For one, every application that you write will theoretically be able to run on many platforms. iOS, Android, Windows, Mac, Linux, etc, all have HTML5 capabilities. You'll also be investing your time in a language that is still being developed, so you'll already know the ins-and-outs of it as more features are added, and you'll have mastered it when the final product finally goes mainstream.
The capabilities and power of HTML5 are only expanding, so the experience with the language should only improve with time ;)

Resources