What is the difference between web servers (apache,ignix etc) and web frameworks(flask,rails etc)? - webserver

Aren't both necessarily the same thing? While frameworks seem to have extra features to help ease development?

A web server is a program that takes a request to your website from a user and does some processing on it. Then, it might give the request to your Rails app.
An app server is the thing that actually runs your Rails app.
See more in http://www.justinweiss.com/articles/a-web-server-vs-an-app-server/

Related

iOS: Enterprise Server architecture

For iPhone and iPad i.e iOS development
Is there a specific server platform required to setup for
development and deployment enterprise apps?
Is there a specific architecture for this purpose? If so which one
since we are will be calling windows web service.
Is an application development server required or can we use an
ordinary pc?
Thanks in advance
Your server doesn't need anything special to distribute apps, we have it working fine on an ordinary Linux box. All you need is:
a URL to an XML file that describes the app
a URL to a png image for your app icon (for use while the app is being downloaded)
a URL to a .ipa file containing the actual app.
some kind of authentication to ensure these URLs aren't publicly available (this could just be a VERY long random string inside the URL, perhaps one that changes regularly).
All of that can be done on any ordinary HTTP web server, without even any dynamic pages.
Some other enterprise features, such as push notifications, will require a programming language that can do some fairly low level network stuff. We've got that working fine with PHP, I'm not sure what would be the best language to work with on Windows.
I'm not sure if this is what you're asking, but you will need a Mac OS X based workstation for writing and compiling the app(s) you're working on. This cannot be done on windows.
1) No
2) It's up to you. For instance you could feed XML or JSON equally on your windows web service. The way you call your server from the client on the app is your decision. Typically driven by a URL.
3) No, an application development server is not required. You can use an ordinary PC if you wanted. I've done this multiple times for testing sure. But for a large audience of course I would recommend something large like a linux server and not a "home PC".

Can PhoneGap apps use server pages to load on it?

I am trying to do web apps using PhoneGap framework for iOS. I need to know whether PhoneGap loads page from server or not, I mean , can I use server side scripting language like php, pyhon, etc?
And if I used those scripting language, can I use phone native feature like camera?
Also for data storage there may be feature, I heard opendatabase can be used for online / offline database. Please anyone help me to figure out these things.
Waiting for good answer.
Thanks
Server side scripts cannot be loaded from within the app, however you can certainly call out to PHP, Python, etc running on a server from the app using AJAX, XHR, etc.
I gave an example in the question below:
How can get value in phonegap which is returned by php class?

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).

Rails3 and Devise working with Iphone/Android/Wp7 applications

I searched arround for solutions and didn't find anything of really pertinent on the subject.
This is why, I ask you guys your help :-)
Assuming I have an application running with Rails 3 using Devise to authenticate the users.
I need to create mobile applications for Iphone/Android and WP7.
The mobiles applications should communicate/login/create/list, do whatever the website can do.
The mobile Applications could commuicate by parsing the XML .... but maybe there are already lib/frameworks or something more sexy ?
What would be the best way to communicate between my mobile applications and my Rails website ?
I'd use the xml or json output to share data back and forth; For authentication you can set (in initializers/devise.rb)
config.http_authenticatable = true
That enables you to send basic HTTP Auth headers with every request which devise will handle for you.
--
For creating a webapplication that is also possible to view in a mobile version for the website i'd recommend to check out this railscast: http://railscasts.com/episodes/199-mobile-devices
It sounds like, if the mobile app is just an interface to the web app, that you would likely be best served by creating a mobile HTML5 "style" within your web app, that gets served automatically when a mobile phone accesses your website. All of your code can be in Rails, which it sounds like you're already familiar with, and you've also got the advantage of keeping your codebase all together in one place - if you want to add functionality later, you just update your web app, and don't worry about updating 2 different mobile phone apps as well.

Client-server web app with both client AND server running on iPhone - is this possible?

I'd like to build a simple native iPhone app with tools traditionally used for web apps.
I would prefer to use something like jQTouch and Rails, but I want it to work offline (not require an internet connection or a server).
Is there a framework that enables simple creation of native iOS aps by encapsulating a lightweight web server and a server-side app framework (Rails or something simpler and more lightweight that can run on a phone), thus allowing you to write the client side code in HTML+JavaScript ?
If there is not such a thing, is there a way to create an app (with HTML+JS) that basically only has a client-side component with persistent data storage?
Thanks.
Have you tried Phonegap?
www.phonegap.com
You write your app in HTML/CSS/JavaScript.
You access the phones APIs through JavaScript - boom!
Also; Appcelerator Titanium would be an option: http://www.appcelerator.com/
-IMO Titanium is more powerful, and offers a more native look.
Why would you want to run a webserver off of the iPhone?
Is it so that you could send back data to the mothership?
Yes, you can included a lightweight http server running in another thread inside your iPhone app, and have your UIWebView connect to it. But unless you are going to do a fancier web server that generates dynamic content, it might be easy to just download your HTML/CSS/Javascript content to a local directory, and then point any URLs to those local files when offline.