{"id":634,"date":"2013-01-03T08:46:57","date_gmt":"2013-01-03T03:16:57","guid":{"rendered":"http:\/\/ramkulkarni.com\/blog\/?p=634"},"modified":"2013-01-03T08:46:57","modified_gmt":"2013-01-03T03:16:57","slug":"creating-ios-application-with-html-user-interface","status":"publish","type":"post","link":"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/","title":{"rendered":"Creating iOS Application with HTML User Interface"},"content":{"rendered":"<p>Last year in April, I experimented with iOS\u00a0development\u00a0for the first time. I have described details in <a title=\"My Experiment  with iOS Development\" href=\"http:\/\/ramkulkarni.com\/blog\/my-experiment-with-ios-development-2\/\">this post<\/a>. I wanted to spend more time learning iOS application\u00a0development\u00a0then, however could not get around to actually doing that till very recently.<\/p>\n<p>I had written a blog post on <a title=\"Creating Android Applications with HTML User Interface\" href=\"http:\/\/ramkulkarni.com\/blog\/creating-android-applications-with-html-user-interface\/\">creating Android application using HTML user interface<\/a> back in March last year. I was curious to know how to do the same in an iOS application. \u00a0In this post I will describe how to embed web view and set a URL in an iOS app and in the next post I would describe how to access native Objective-C code from JavaScript running in the web view control.<\/p>\n<p><!--more--><\/p>\n<p>First, create a new project in <a href=\"https:\/\/developer.apple.com\/xcode\/\">Xcode<\/a>;\u00a0select iOS-&gt;Single View Application \u00a0template.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/project_wizard1\/\" rel=\"attachment wp-att-644\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"644\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/project_wizard1\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?fit=365%2C246\" data-orig-size=\"365,246\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"project_wizard1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?fit=300%2C202\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?fit=365%2C246\" class=\"alignnone size-full wp-image-644\" alt=\"project_wizard1\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?resize=365%2C246\" width=\"365\" height=\"246\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?w=365 365w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard1.png?resize=300%2C202 300w\" sizes=\"(max-width: 365px) 100vw, 365px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Complete the project wizard.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/project_wizard2\/\" rel=\"attachment wp-att-645\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"645\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/project_wizard2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?fit=551%2C368\" data-orig-size=\"551,368\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"project_wizard2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?fit=300%2C200\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?fit=525%2C351\" class=\"alignnone size-full wp-image-645\" alt=\"project_wizard2\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?resize=525%2C351\" width=\"525\" height=\"351\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?w=551 551w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/project_wizard2.png?resize=300%2C200 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>At the end of it, the wizard creates application delegate class, a view controller and a main file (main.m in &#8216;Supporting Files&#8217; folder). It also creates a .xib file (also called nib file, because older versions of Xcode used to create this as .nib file), which contains information about UI created for the application. The application delegate class contains an instance of main window (of type UIWindow) and an instance of view controller. The application delegate class is created in the main.m .<\/p>\n<p>Open .xib file, this is where the UI for the application is created. We will embed WebView in the main window. Type &#8216;WebView&#8221; in the lower right search box (in &#8216;Objects&#8217; panel). Drag &#8216;WebView&#8217; from this window and drop it in the main window.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/webview_control\/\" rel=\"attachment wp-att-646\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"646\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/webview_control\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?fit=964%2C658\" data-orig-size=\"964,658\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"webview_control\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?fit=300%2C205\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?fit=525%2C358\" class=\"alignnone size-full wp-image-646\" alt=\"webview_control\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?resize=525%2C358\" width=\"525\" height=\"358\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?w=964 964w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?resize=300%2C205 300w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/webview_control.png?resize=768%2C524 768w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>To access instance of this web view control from the controller, you need to create an Outlet. See more information about outlet <a href=\"https:\/\/developer.apple.com\/library\/mac\/#documentation\/General\/Conceptual\/Devpedia-CocoaApp\/Outlet.html\">here<\/a>. Open ViewController.h and add a member variable called webview &#8211;<\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: white; overflow: auto; width: auto; color: black; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\">#import &lt;UIKit\/UIKit.h&gt;\n@interface RKViewController : UIViewController\n{\n    IBOutlet UIWebView *webView;\n}\n@end<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>We will have to connect the above variable (webView) to the UI control in the .xib file. Open .xib file and CRL+Click &#8216;File&#8217;s Owner&#8217; icon. On click and hold the plus icon next to webView under Outlet group and drag and drop on the WebView control.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/outlet_connection\/\" rel=\"attachment wp-att-643\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"643\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/outlet_connection\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?fit=409%2C416\" data-orig-size=\"409,416\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"outlet_connection\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?fit=295%2C300\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?fit=409%2C416\" class=\"alignnone size-full wp-image-643\" alt=\"outlet_connection\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?resize=409%2C416\" width=\"409\" height=\"416\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?w=409 409w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/outlet_connection.png?resize=295%2C300 295w\" sizes=\"(max-width: 409px) 100vw, 409px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Unlike in other programming languages\/frameworks, Cocoa framework hides code to instantiate class associated with UI controls.<\/p>\n<p>Now we can access the instance of UIWebView from the ViewController. Next step is to set URL to be displayed in the web view. Create wwwroot folder under the project folder, either using Finder or console window. Select wwwroot folder in the finder and drop it on the project window of Xcode.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/link_wwwroot\/\" rel=\"attachment wp-att-651\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"651\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/link_wwwroot\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?fit=728%2C293\" data-orig-size=\"728,293\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"link_wwwroot\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?fit=300%2C121\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?fit=525%2C211\" class=\"alignnone size-full wp-image-651\" alt=\"link_wwwroot\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?resize=525%2C211\" width=\"525\" height=\"211\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?w=728 728w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot.png?resize=300%2C121 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Select &#8216;Create folder reference for any added folder&#8217; option.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/link_wwwroot2\/\" rel=\"attachment wp-att-650\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"650\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/link_wwwroot2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?fit=562%2C230\" data-orig-size=\"562,230\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"link_wwwroot2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?fit=300%2C123\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?fit=525%2C215\" class=\"alignnone size-full wp-image-650\" alt=\"link_wwwroot2\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?resize=525%2C215\" width=\"525\" height=\"215\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?w=562 562w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/link_wwwroot2.png?resize=300%2C123 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>CTRL+Click on the wwwroot folder in Xcode and select &#8216;New File&#8217; option. Select &#8216;Empty&#8217; file option and create index.html in the wwwroot folder.<\/p>\n<p><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/create_index_html\/\" rel=\"attachment wp-att-649\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"649\" data-permalink=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/create_index_html\/\" data-orig-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?fit=441%2C425\" data-orig-size=\"441,425\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"create_index_html\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?fit=300%2C289\" data-large-file=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?fit=441%2C425\" class=\"alignnone size-full wp-image-649\" alt=\"create_index_html\" src=\"https:\/\/i0.wp.com\/138.197.85.232\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?resize=441%2C425\" width=\"441\" height=\"425\" srcset=\"https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?w=441 441w, https:\/\/i0.wp.com\/ramkulkarni.com\/blog\/wp-content\/uploads\/2013\/01\/create_index_html.png?resize=300%2C289 300w\" sizes=\"(max-width: 441px) 100vw, 441px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Add some html code in the index.html.<\/p>\n<p>We can now set url of the web view to index.html that we have created. We will do this in\u00a0viewDidLoad method of the ViewController. Open ViewController.m and modify\u00a0viewDidLoad method.<\/p>\n<p><!-- HTML generated using hilite.me --><\/p>\n<div style=\"background: white; overflow: auto; width: auto; color: black; border: solid gray; border-width: .1em .1em .1em .8em; padding: .2em .6em;\">\n<pre style=\"margin: 0; line-height: 125%;\">- (void)viewDidLoad\n{\n    [super viewDidLoad];\n\n    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@\"index\" ofType:@\"html\" inDirectory:@\"wwwroot\"]];\n\n    NSURLRequest *req = [NSURLRequest requestWithURL:url];\n\n    [webView loadRequest:req];\n\n}<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Run the application in iPhone\/iPad emulator and you will see the content of index.html displayed in the application.<\/p>\n<p>Next step is to understand how to call native Objective-C code from JavaScript in the html file. I will describe that in the <a title=\"Calling Objective-C function from JavaScript in iOS applications\" href=\"http:\/\/ramkulkarni.com\/blog\/calling-objective-c-function-from-javascript-in-ios-applications\/\">next part<\/a> of this post.<\/p>\n<p>-Ram Kulkarni<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last year in April, I experimented with iOS\u00a0development\u00a0for the first time. I have described details in this post. I wanted to spend more time learning iOS application\u00a0development\u00a0then, however could not get around to actually doing that till very recently. I had written a blog post on creating Android application using HTML user interface back in &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/ramkulkarni.com\/blog\/creating-ios-application-with-html-user-interface\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Creating iOS Application with HTML User Interface&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Creating iOS Application with HTML User Interface http:\/\/wp.me\/p2g9O8-ae","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[15,1],"tags":[61,14,62],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2g9O8-ae","jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/posts\/634"}],"collection":[{"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":1,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"predecessor-version":[{"id":1997,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions\/1997"}],"wp:attachment":[{"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ramkulkarni.com\/blog\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}