I am new to iOS development with Delphi XE2 and Firemonkey and have a question how to consume SOAP web services from iOS application?
Is there any example for possible set of components involved to get the job done.
Thanks
Yes there is...
http://wiki.freepascal.org/Web_Service_Toolkit
Unfortunately I did not discover this until I had written the whole thing using the cocoa platform!
Related
This is a very basic question, but I have no idea how to be begin, so please bear with me.
I'm a C# software developer, so I'm very familiar with the VS IDE and with Windows and Web development. But I have never developed a mobile application.
With that said, I came up with an idea which is essentially a screen with a map and a bunch of pins, and a list that represents each pin. It will run in an iphone and android phone. It will look something like below.
I decided to develop it in Xamarin because 1) I've worked with VS for many years so I understand how it works, 2) I can develop one app in Xamarin that can run both in ios and android.
I understand that it may be a very basic question, but I have no idea where to start. I also have experience with development, so I don't want to go thru the Hello World example. Finally, I also have a full-time job, so my limited free time would be used to completing this particular app.
So my question is: where do I start?
First thing first. You should get yourself familiar with Mobile Development(app life cycle, patterns etc.) by creating few sample applications (since you stated you were developing in Visual Studio using c# before it should be quick procedure for you). You can find documentation and sample codes on official Xamarin site:
Xamarin Website
Next get yourself familiar with MVVM pattern and MVVM frameworks to write applications using modern patterns and modern practises. I personally recommend MVVMCross or MVVMFresh.
Data Binding from Official site
FreshMVVM with Samples
Then get yourself familiar with Xamarin.Forms maps. It's a nice library that allows you to use one code and share them across 2 platforms. Google Maps official apis are also good but they are platform specific.
Xamarin Forms Maps
Enjoy and welcome to the Dark Side ;)
I'm trying to write an IOS app using Xamarin that sends data to PC using TCP. I want it to do this with Cable or WiFi. I have been researching around the net for sometime now. But couldn't find any good tutorials. I'am aware that I should be using NSNet and Bonjour Windows SDK but I couldn't find anything more than that. Any suggestions or directions on how to achieve this would be very helpful. Thanks in advance.
If you are using Xamarin then the more preferred choice would be to write things using System.Net.Sockets namespace. This way you can reuse the code with other C# clients, including Android (if needed).
Plenty of examples on TcpClient/TcpServer.
https://msdn.microsoft.com/en-us/library/vstudio/system.net.sockets.tcpclient(v=vs.110).aspx
I'm new to iOS, have been developing in Delphi for many years.
I don't know FPC well and i find it very hard to figure out which classes are available on iOS.
is there any FireMonkey classes for calling web services and parsing xml?
Yes you can call a webservice :)
No it is not simple :(
You need to access the iOS framework directly...
The following code fragments will help...
First a pascal example of how to send/receive data via TCP
https://forums.embarcadero.com/thread.jspa?messageID=397346
Secondly, you will need to wrap the call using the relevant headers. See...
http://books.google.com.au/books?id=0nTYIL3-0yoC&pg=PT518&lpg=PT518&dq=beginning+ipad+development+webservices&source=bl&ots=cYniLvL8z2&sig=Ci6HskHgMvUeIrjyUbDecd7fBCQ&hl=en&ei=0_KdTpzBB4nOrQfwzM29CQ&sa=X&oi=book_result&ct=result&resnum=6&ved=0CEAQ6AEwBQ#v=onepage&q&f=true
It is a fair bit of work, but it can be done. Good luck!
You can also try to use RealThinClient (RTC) SDK to allow your Delphi XE2 FireMonkey iOS client to connect to a RTC SDK server. Not SOAP, but I've managed to send data back and forth between the two layers (just in case you do not have to use SOAP, but are merely looking for some way to connect an iOS client to a server)...
I'd like my Blackberry devices to get and possibly set data to the server, and am a little confused by all the options:
RIM-Push/Pap-Push. Use any library that is able to compose a HTTP GET request to the MDS-CS service (not MDS-IS). This is a one way operation from the server to the device.
RIM-Push (Push a URL and or shorcut to a device for possible offline viewing)
PAP-Push (Same as above, BUT allows for message confirmation of delivery)
WebServices: Use Visual Studio 2008 to create a Web Services only project. I'm unclear if this is supported anymore, or if MDS-IS is used. This is a 2 way operation.
MDS-IS: Use Eclipse to develop the applications and Java is required, I am unsure of what client libraries are able to do (2 way operation).
Let me know if missing any option, or if I need to revise my understanding of the basics
This is actually quite a broad question - there are a lot of ways for a BlackBerry device to interact with a server, and the ideal way depends heavily on your specific application.
Generally:
MDS Studio: the Visual Studio 2008 method is no longer actively supported. It was a mostly visual forms designer, but not a great solution for a lot of reasons. Basically, don't use it.
Mobile Web: Depending on what you need to do, this might work. Everything server side. The thing to be aware of (and why this doesn't work for a lot of problems) is that prior to BlackBerry 6 the browser wasn't very capable, either in terms of HTML support or JavaScript support. You can, however, create shortcuts to mobile web sites which appear as icons on the BlackBerry homescreen. And you can use BlackBerry Web Signals: http://na.blackberry.com/eng/developers/browserdev/websignals.jsp to push changes to mobile web pages to devices
Widgets: Supported in BlackBerry OS 5 and higher. http://na.blackberry.com/eng/developers/browserdev/widgetsdk.jsp These are packaged much like 'native' BlackBerry apps, but written using HTML and JavaScript. Can be a good option for rapid development if you're ok with just targeting OS 5, and with the limitations of the BlackBerry Browser. Lots of JavaScript hooks to system functions, so they give you more functionality than pure mobile web, and you can distribute them through App World and the like.
Java Apps: Most development work, but you get potentially the best user experience, and the most functionality. Too broad a topic to cover adequately here, but there are a lot of questions related to these on SO and elsewhere. A good starting point is the BlackBerry developer zone: http://www.blackberry.com/developers RIM Push and PAP Push both fall into this category, as they interact with Java apps, though there are other methods that you can use to achieve similar results (client polling, or I've even seen SMS or email used to push info or wake up a client, though this isn't recommended by RIM).
For a deeper overview of the options I'd recommend a book by my friend John Wargo, called BlackBerry Development Fundamentals. He covers the various options pretty well.
I'm looking for a viable link to the 'old' borland chess server so i can connect my chessboard client? Also, i do have the client chessboard, the chessCGIserver and the chessbook (intelligence) - i would like to know how to setup the web server.
Note: Old WSDL (chessWebService) link was first:
http://wwwapp1.borland.com/webchess/ChessCGIServer.exe/wsdl/IBorlandChess
then :
http://www.danmarinescu.com/WebServices/ChessCGIServer.exe/wsdl/IBorlandChess
You will find this text at Dr Bob's web site about this borland chess soap service (given links are now dead):
2002/01/24 - The Chess WebService is Back!
The Chess WebService IBorlandChess, implemented by Borland Software Engineer
Dan Marinescu, is back in the new domain www.danmarinescu.com and listed on
xmethods. The Chess WebService implements an extremely scalable SOAP
interface to a fully featured, high performance (competition level) Chess
Engine, which is completely stateless.
The Chess WebService is currently written in Delphi 6. Soon, we will
have the very same WebService written in Kylix 2 & C++Builder 6 - very
soon!.
Dr.Bob says... I've check out the source code for the client and server,
and played a few games with the client binary, and am (again) very impressed
by this amazing WebService. Well done! 2002/01/24 - The Chess WebService is
Back!
The Chess WebService IBorlandChess, implemented by Borland
Software Engineer Dan Marinescu, is back in the new domain
www.danmarinescu.com and listed on xmethods. The Chess WebService
implements an extremely scalable SOAP interface to a fully featured, high
performance (competition level) Chess Engine, which is completely stateless.
The Chess WebService is currently written in Delphi 6. Soon, we will
have the very same WebService written in Kylix 2 & C++Builder 6 - very
soon!.
Dr.Bob says... I've check out the source code for the client and server,
and played a few games with the client binary, and am (again) very impressed
by this amazing WebService. Well done!
As far as i know, Dan Marinescu was the last 'owner' of the service.
I have all the sources in hand, i have ported them to Delphi 2009. I miss the information about how to setup the webservice / soap on my server. Any one can help?
If you have a compiled ISAPI (or was it a CGI exe?), then you can install that in IIS as WebService -like any other ISAPI application. ASP.NET web space locations are usually NOT sufficient for that.
If you cannot get it working and if you supply the (updated) source then I will have a look.
Regards,
Olaf
I have the source code for the Chess web service, and migrated it to Delphi 2009 some time ago already. It's un and running on my server.
The WSDL is at:
http://www.bobswart.nl/cgi-bin/ChessISAPIServer.dll/wsdl/IDelphiChess
CGI is also available (change ISAPI to CGI, .dll to .exe).