App development - android

I'm in a situation where I'm looking at building a company website and in-house app (for ipad/android) with basic functionality; pretty much just a portfolio. This is for the company I work for who (for many reasons, some of which I agree with, some I don't) don't particularly want to outsource this.
I've got a fairly basic knowledge of webdesign and would be able to put together a fairly decent website on my own however the app is what is causing me a slight headache as I'm not an expert at coding by any means. So my questions are:
1) Is it possible to build an app that isn't hosted on the app store? We have no requirement for people outside of the practice to have access to the app, so it'd only need to be an internal build. How (given that ios is so locked down) would I go about installing an app such as this, if I built one?
2) I've seen myriad app-building websites, some of which output code for both android and ios, others that (apparently) wrap them as some kind of hybrid so they run on either (though my understanding is that these may be refused by the app store?) and others that are just html5. Do you have any recommendations or experience of any of these sites?
3) I don't mind purchasing software to help get the job done. I'm in the process of mocking up a prototype in Adobe XD; but after that I'm fairly at a loss.
Any help would be much appreciated.
Kind regards,
Chris.

Yes its possible to host the application outside of the app store. For this, you will need to register with Enterprise developer program (https://developer.apple.com/programs/enterprise/) . You need not deploy the apps to app store if you sign the app with an enterprise distribution certificate.
You can use the code got from these hybrid sites to build the application. I dont have recommendations now

Glad you're getting started in XD! That's always a great way to prototype!
App development requires knowledge of languages like Swift, C#, Objective-C, C++. However since you are familiar with basic web languages (html, css, js) I would recommend looking into Nativescript(https://www.nativescript.org/).
It's a platform that allows you to build an actual native app using web languages. Read the docs (https://docs.nativescript.org/), watch some tutorial videos(https://courses.nativescripting.com/courses/nativescript-with-angular-getting-started-guide/lectures/2692194), and you'll be up shortly. It uses xml but you'll catch on pretty quick if you haven't used it yet.
Best of luck m8
Cheers!

Related

Android-to-web app-to-iPhone, without Xcode

I have released a native Android application, which I built in Android Studio. After a rocky start, it is now doing alright in the PlayStore.
I hope to release an iPhone version soon, and I am considering my options.
My general approach will be redeveloping the project as a web application using Ruby on Rails, then converting that to an iPhone app somehow.
I am writing to ask more about this final step. What cost-effective ways are there to convert a web application to iPhone format?
I am aware I will need $99 for the Apple developer programme, and I would like to keep my overall costs close to that amount. I had thought of using PhoneGap. Are there any extra steps between PhoneGap and publishing on the App store?
Extra information, which might help contextualise my situation:
I do not have an Apple devices or software for development or testing. I’m not the Prince of Monaco, so I do not intend to spend on these things anytime soon. My app is called Victoriana, and it is a Choose-Your-Own-Adventure/ text adventure game. Pretty basic, really.
This is my first real project, and I first came into developing through tutorials and Android Studio.
It would also be my first time coding a web application or using Ruby, but for converting this non-complex project I am happy to learn something new.
Unless your app requires a lot of database interaction, Rails is probably too heavy-weight for what you need. If you're set on building a web app in Ruby then Sinatra is much simpler and a better option for beginners, but again depending on the complexity of the game, how you persist state etc, you might actually be better off with Javascript and a single-page app framework.
There really is no developing for Apple products without running macOS, but it is possible to do this within a virtual machine on a Windows PC.

Building a hybrid app, where to start?

I know it's kind of an 'open' question to ask but I simply don't know where to start. Let me first tell you a bit of my experience/background so you know the level I'm at:
Build cd-roms with Lingo back in the days
Started web/front end development in the HTML3.2 era and kinda left off when XHTML was hot
Worked with Javascript 1.2 up till around 1.6 and later started working with Jquery
Actionscript up to 2.0, building websites and games
Did quite a bit of PHP/mySQL development. Build custom CMS' and later Drupal module development
All this was during internships or as a freelancer, everthing self thought by the help of books and such
So now I'm stuck with this idea to build myself an app. I've decided it should be an hybrid app as my target audience is very small but 60% is iOS and I don't want to leave out Android. Also I've been getting familiar with HTML5/CSS3 and started working on components for my app.
The basic concept for the app is that it's a layer on top of Google functionality: profile, calendar, circles and hangouts. Users will (eventually I hope) be able to create events for other users to rsvp to, they will be able to add eachother as buddies and chat about the events. A small step functionality wise but a huge step for me :)
I'm thinking of using the Crosswalk project for the Android version to counter the biggest issues around hybrid app development.
I've been reading up for the last months in preparation and the more I read the less I seem to know. Here's the stuff I think I should know more about;
Node.js
Gulp.js
Dev environment to work in (I once worked in Homesite, later Dreamweaver - don't laugh)
Packaging tools, etc etc.
Crosswalk project
Now I am not looking for some drag and drop software package to build an app in 3 days. I don't want to take the easy route per se, I don't mind a bit of a learning curve. I work on a Win8 machine, I know this isn't optimal but I can't change this.
Now where should I start? I was thinking NPM myself but you guys might think otherwise. Any good books on the stuff you think I need to learn to get me going?
Thanx for the advice!
I can share my experience with Cordova.
I work like full-stack developer and i'm quite expert to build responsive website, so the natural step to approach mobile dev was try Cordova.
First You can start to build HTML document totally responsive and try as webpage on your target devices.
A cool stuff, targeting mobile devices, is that You can use new CSS3 directive, without worry for compatibility with old browser.
First I installed Cordova following this tutorial.
https://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html
Opening the folder /www on your project you can edit your app like a website, and you can also debug with the browser like a normal site.
To enhance the feature you will find a lot of plugins ready on github to extends the native functionality at the Cordova/phonegap project.
I suggest you also to build using onsen http://onsen.io/ a framework that let you use mobile UI easily.
Last tip that i can give you, if you target Android is try your apps on virtual machine, i use Genymotion https://www.genymotion.com/ that is much more fast then SD<
Good luck with your first app!
As you can imagine, there are a lot of framework where you can start.
Looking on your skills, maybe is better to use JS/HTML/css stack, but in this case, you will create an hybrid app in a webview.
In my opinion, webview applications quality it's only acceptable, but because of his productivity, in some cases could be the best decision.
Another good alternative is react-native. This framework allows to create a native application using javascript. React has his own markup language, is very similar to html. JS code is executed on native device using an embedder javascript engine, instead of webview, so, performances and experience can be compared to native applications.
And, at the end, my alternative, a framework I've made to write native UI and share business logic for each platforms. You can take a look on aj-framework https://github.com/bfortunato/aj-framework

Developing in Android Studio versus Framework (e.g PhoneGap)

I wanted to get a more experienced opinion on something I recently found out. A couple of months ago I set a goal to build myself a mobile app, and the first thing I did was go to developer.android.com and begin reading documentation on how to go about doing this.
I've invested a lot of time in understanding Android Studio and how to make simple apps (and I'm just now getting the hang of it all), but I just recently read about frameworks like PhoneGap(which let web devs who know HTML,CSS, and Javascript make apps too).
Before learning Android, I taught myself web dev through the Odin Project, which taught me a fair amount of HTML, CSS, and Javascript (little iffy on this language, but I'm sure it's something I could pick up easily since I already have a bit of experience).
I'm wondering what you guys feel are the limitations of using these frameworks and whether I should switch over to them, as opposed to continuing with Android since things are beginning to click for me.
Thanks!
I have developed apps for both Android and Phonegap. Phonegap takes advantage of your web development experience and lets you build mobile apps with ease. But it's not a replacement for Android API itself. A good phonegap application requires knowledge about web development and Android API.
However if your aim is to develop an android application, and you are comfortable with web development and Android, I would advice to take Android API.
Phonegap as wonderful as it is for web developers, and startups who can't afford to have dedicated resources for Android, iOS separately, has its limitations.
Performance : Phonegap app's performance is not at par with a native
android application.
Functionality : As one would expect you can't have all the functionality support a native android application has.
Look : You could easily tell apart a phonegap application from a native one. Given phonegap renders all the content in a webview, the look of native ui elements is lost
I think you will always need access to the native API to make good apps.
At least the navigation should be native, so that your app has the look and feel that the user expects, and so that stuff like the back button get correctly handled for you.
Even if there is some plugin that does that for you in a perfect way, I believe it's beneficial to know how Android works.
In the end, frameworks like PhoneGap add a layer inside your app rather than removing one, and it's always better to understand what goes on inside your app.
So the time that you've spent learning native Android won't be lost.
However, it makes sense to use HTML/JS if you want to share code between different platforms.
I think this article from Basecamp shows a very compelling example: https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content.

Cross-platform and good performance mobile application for iPhone and Android

I need to develop an Application for both iPhone and Android platforms. I am looking for a cross-platform development frameworks. The important factors need to be taken into consideration are :
The App will be running in intranet environment (with NO internet
connection).
Drag and drop features will be available in this App.
Needs to use the barcode reader library.
Needs to use map (it will probably be a custom map)
Receives Push notifications (currently I have mqtt in mind, since
there is not internet connection)
If possible I only want to maintain only one source code for both platforms. I have done some research and I found 2 frameworks which are PhoneGap and Mono(touch and droid).
PhoneGap seems to be slow.
Mono need two code base for 2 platforms, only the libraries can be
shared (correct me if I am wrong). This is my another worries about mono: http://redth.info/2010/04/09/is-monotouch-now-dead-in-the-water-what-does-apples-new-iphone-developer-agreement-mean
I know the native is the best but for the sake of maintenance and reusing our developer talent (which are C#, HTML, JavaScript) we need to find out the second best option.
Note : Please bear in mind the first 5 features listed on top for your answer.
Thanks in advance.
UPDATE:
After exploring a few more tools, I like the performance of Appcelerator as well. But writing the whole app in JavaScript looks very messy to me and can't use OOP. And the extra package size of (5~7 MB) is also something to take note for frequent releases environment. I like to hear from you guys as well. I will be updating our decision in coming few weeks.
This recent article here may be helpful. It contains a rundown of several new cross platform mobile frameworks including Mono, Appcelerator Titanium, Rhodes, PhoneGap, MoSync and Moai.
From reading your requirements I'd say that either MoSync or Titanium might be the best fit for you. Apart from PhoneGap, which is really just a web app running inside a mobile browser (and might be the reason you thought it was slow), they all generate native UI code apps.
You may want to look into this article comparing 5 different cross-platform mobile development tools.
This Wikipedia article may be helpful as well.
go for http://www.appcelerator.com/
They first compile code in native code so performance is like native and they have barcode reader, push notification (via urban airship) too...
How about doing a hybrid application, using a mixture of native code and HTML5. Write native code for all the IO, and heavy lifting, and for the GUI use jQuery or similar in a web control embedded in your app. Android has a web control that allows you to interact with javascript. I assume you can do the same with Apple. I'm trying to do something similar myself using Monodroid, and its looking very promising, although I discovered Monodroid does not have native Javascript interface yet.
Just so you know, we were using Appcelerator at my last company, and the performance for Android was less than desirable. Our lead developer found the Mono products, and hasn't looked back.

developing smartphone apps using Rhomobile

I have been developing an Android application for about two months now, and the guy I'm writing it for wants me to use this instead of the android SDK so we can deploy the application for multiple smart phones: http://rhomobile.com/
he says you can write the application in one language and it can be deployed for most smart phones. Has anyone used this website to do something similar? Any advantages or disadvantages I should know about and tell him? Maybe someone could give me a better explanation on what this really does.
I'm current a one man army. He wants the application out for most smart phones but can afford to hire more developers.
Rhomobile will start up a small webserver on your phone and then show a webview that is directed to this webserver. You are able to write all the application logic in ruby in a way you would do it if you would write a web app that is deployed on a real web server. Rhomobile uses CSS etc. to have the app look look a little bit like a native app.
If you know Ruby you will get an App fast but it will look crappy and the user experience will be crappy too. A similar framework is appcelerator titanium they will let you write the app in Java Script and then compile it into a mix of javascript, webview and native components that run on an Iphone and on an Android phone and titanium has a much nicer user experience then rhomobile.
Visit their pages and test some of the apps that they are promoting as showcase for their frameworks.
As many developers writing apps in Objective C have learned using HTML for the view and styling with CSS styling libraries is a great way to create attractive native apps. Rhomobile's Rhodes uses this approach as well. We used to let people use whatever CSS they wanted and they could choose to use IUI, JQTouch, IWebKit, WebApp.net or any other library along with Rhodes. The best external apps all seemed to use JQTouch for styling and animated transitions.
Recently we decided to ship with our own fork of JQTouch (which we made work on Android) in order to make this even easier. The recent Rhodes master branch created apps with JQTouch builtin makes such attractive apps even easier to build, as the stylesheets are included with Rhodes scaffold-generated apps.

Categories

Resources