Is possible to combine rest-api and angular profiles on Grails? - rest

I'm going to start a new project that has two front ends, a mobile APP and a Web Application.
I was thinking about creating a "rest-api" grails application and consume this "api" from the mobile apps.
But, for the WebApp, is it possible to create a new "angular" Grails app that uses as model the previously generated "rest-api" Grails application and ovoids me to "re-implement the wheel (model)"?
Any articles/documentation how that could be accomplish?
Thanks in advance.
JD Evora

You can use the domain you already have in the new rest api, nothing changes. You may want to add the #Resource annotations.
If there is another app that uses this same domain, I would put in a plugin(as #Joshua suggested), we currently do it for clients which have both admin/cms and final user applications.
In our company,we are currently developing 3 projects with an idea I believe will fit well to your needs, or may help someone else who is starting a similar project
We organized the apps this way:
We've created a grails app with rest-api profile
We've created a grunt/bower/npm project(you could use yoo angular generator, but It had more than we needed)
We've created an android and and ios apps
Advantages we've seen:
The angular application calls the same methods as the mobile apps, there is only one controller, one service, one grails app
The web apps is pure JS and CSS and runs smoothly in the serve(npm
install serve)
You can deploy the web app in any CDN like Amazon Cloud Front and be able to handle a big demand, and you can deploy it quickly
Just in case you don't know, but with grunt and bower you can replace assets pipeline automation.
Hope it helps you!

Related

Ionic : create web app and native apps with same code?

I'am about to start learning ionic to create a project for web and mobile.
What i want is : writing code once, and having a classic website and an iOS and Android native apps.
The design is different between website and apps, so it can't just be responsive, it kinda must have different html for different platforms.
Is this possible with this version of ionic or should i create two different projects for web and apps ?
Thank you!
First of all, Ionic does not create native apps for iOS and Android, they are hybrid apps.
That being said yes, there is a way to achieve what you want but it probably isn't the best way. Ionic build does produce a plain web project inside a www/ folder which you can deploy as a website.
That however is probably not the best option if you want a great website, as web and mobile app design is quite different.
Ionic already creates hybrid applications, i would not use it as a tripartite technology and rather create a separate project for a web application.

AEM- IOS app integration

I have an IOS app which I need to integrate with AEM. Can anyone guide me, how to do it.All I can see with adobe documents is to use phonegap and build app using it.
There are 3 things you can do:
Build a native app the queries AEM server and gets content as needed. In this case you might want to expose certain rest services for your app to consume.
Build app using the AEM mobile library or phone gap - for this you will have to create an new mobile app in AEM that uses angular JS and phonegap enterprise to build your app. In this case AEM allows you to manage the content independently
https://github.com/Adobe-Marketing-Cloud-Apps/aem-phonegap-starter-kit - this is a good starting point for it. Checkout the code and run the maven command. It will build a phonegap app for you that you can build by configuring PGE in the build configurations
You can use AEMMobile. Primarily targeted towards creating independent content like magazines and catalogues for your site. AEMMobile is a fresh take at Adobe's Digital Publishing Suite. Here it allows you to create a website without having to write any code. Everything happens on the AEMMobile portal

How GWT and PhoneGap works together?

I have been working with GWT projects, and the scenario with GWT is that it is compiled then deployed to a web server (like Tomcat), however I want to try out PhoneGap, so I can develop a Android / Iphone app using a single code base and perhaps using the familiar web-style UI.
If I use GWT with PhoneGap, would the application still need a back-end web server to display the UI?
The answer to your specific question is no, you do not necessarily need the back end web server to display the UI. That does not mean that your application will seamlessly work in phonegap though. If you limit your GWT app to just client side code and call services outside of the GWT app you should be producing a web app that you can grab all of the content of the war minus the WEB-INF directory and drop it into phonegap (or the web server of your choice) and run the app without a java application server. I have had very good success with running my applications on Apache HTTPD Server this way. I have had limited success running it in PhoneGap though. Some parts of the applications function fine, others do not. So you will have to do quite a bit of testing to find out what works and what doesn't and then restrict your work accordingly but in principle it is possible to use GWT for developing a UI to use in PhoneGap.

Developing Google gadgets with GWT

I successfully created gadget using Getting Started with Gadgets and GWT
I want to know:
Is it possible to work on gadgets in development mode? I want to change the code and see the results. Or i need to compile and publish the gadget every time i change code?
I want my GWT GAE application to be both normal GWT app and a google gadget. When user enters http://mygadget.appspot.com/ i want him to see normal GWT app. But when user access http://mygadget.appspot.com/axogadget/com.axdms.gadget.client.AxObjectGadget.gadget.xml he gets the gadget. Is it posible? Or it has to be 2 different GAE applications? (Normal GWT app and gadget have different functionality). Multiple entry points?
yes using apache shinding, but it is still a hassle.
multiple entry points can work for you but you have to differentiate on how you make your calls to the server. Normal GWT app can use RPC for example but Gadgets must use IoProvider.

Lotus Native Application on iPhone

How can i make a lotus application an iPhone native apps?
For e.g: eLeave.
The submit or approve action button in the form was created using lotusscript. So how can it work in iOS ? I have no idea how can i extend my lotus application to an iPhone Native Apps. Someone had suggested to use either SOAP or REST via HTTP to communicate between iOS and domino. But i don't even know what can i do with SOAP in my apps.
Pls help.
The suggestions along the lines of SOAP or other HTTP-based access to the data are correct. Since you can't just port a Notes app to the iPhone (for a variety of reasons) or use the Notes Java API classes (since the iPhone doesn't have Java), some form of HTTP access is your best bet. Either traditional Domino web access via forms or XPages are most likely the best way to go, since then you can write your UI in Designer. If you don't want to or can't do that for whatever reason, you're on the hook for writing the UI for your iOS app separately and then connecting to Domino via Web Services or REST functionality.
SOAP Web Services are probably what you want. They have the advantage of being supported directly in Designer - you can create a Web Service Provider in LotusScript or Java in much the same way you would write an Agent or Script Library. You would have to write methods to access and update the data you want, but it would also mean you have full control over what happens. You could re-implement your form-submission code as a web service call that takes the changed data as parameters and then does whatever manipulation you want and creates/saves the document.
It does depend on the version of Lotus/Domino you are running. This could be a start XPages Mobile Controls I am not sure about the "native"here. This is XPages, web based.
Based on your comment, I know of one native application TSAzr. This application uses XPages as web-services on the domino server. A bit more info can be found here dominoGuru
Your follow-up suggests that a mobile-optimised web application will not cut it, and that you want a native application. This means writing a new iOS application, end of story. There are different ways to go about this of course—e.g. you could build a web app and then wrapper it using something like Appcelerator Titanium, or PhoneGap—but ultimately, you need to write something.
As #Jesse Gallagher has already stated, Notes applications can't be ported directly to an iOS device. Apart from anything else, a Lotus Notes client application is a proprietary data store (NSF) sitting within a C and C++-based client built and compiled for the relevant underlying platform (Win or OS X). There is no direct analogue for iOS other than re-coding your app (of course, you could re-use the existing Lotusscript business logic via web service calls, as detailed in earlier answers).