{"id":902,"date":"2013-04-03T23:30:54","date_gmt":"2013-04-03T23:30:54","guid":{"rendered":"http:\/\/garysieling.com\/blog\/?p=902"},"modified":"2013-04-03T23:30:54","modified_gmt":"2013-04-03T23:30:54","slug":"philly-ete-metor-js-talk-summary","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/","title":{"rendered":"Philly ETE &#8211; Metor.js Talk Summary"},"content":{"rendered":"<p>I went to a talk at <a href=\"http:\/\/phillyemergingtech.com\/2013\">Philly ETE<\/a> on <a href=\"http:\/\/meteor.com\/\">Meteor<\/a>, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &#8220;smart packages,&#8221; which is what meteor calls extensions to their core product. While in it&#8217;s infancy, the framework appears to be built around rapid development iteration and consistent, easy to learn APIs. They make use of some clever tricks to aid development, such as auto re-loading HTML pages when any underlying file changes (presumably with a library like <a href=\"http:\/\/socket.io\/\">socket.io<\/a>). They also support some client-side caching which lets you save a good portion of the app in browser, for disconnected use, <a href=\"http:\/\/www.html5rocks.com\/en\/tutorials\/appcache\/beginner\/\">part of an HTML5 API<\/a>.<\/p>\n<p>Meteor uses mongodb for a database, with an API available on both client and server, which handles caching and re-drawing the page when data changes. The server is a wrapper around Node.js, to allow for JS everywhere. Coupled with auto-reloading of pages when the source changes, this looks like it makes for a nice development environment, although it seems like it would be easy to cripple application servers or databases if not handled with care. Their approach seems to be to hide many implementation details to ease the learning curve, which would be risky in a demanding client environment, as it&#8217;s nice to know how things work if you have to fix them.<\/p>\n<p>I suspect these types of tools are driven by firms which do smaller-budget web design projects, as they seem built around building small apps as fast as possible. Surprisingly, the Meteor team made no mention of targeting Phonegap- it would seem like an ideal target for a platform aimed at building Javascript apps everywhere. Some research indicates it is possible to get these two to interoperate, but with some effort. The team behind Meteor is aiming to build a hosting platform for their product, and thus make money &#8211; presumably they could also get affiliate commissions setting up bundled services (email, twilio, etc).<\/p>\n<p>The notion of smart packages as designed is interesting; the idea is to allow you to run a build target which adds a sophisticated feature to your project; e.g. support for single sign-on integration, email, LESS, etc, with appropriate defaults and deep feature-sets. The demo-ed features looked cool, although the Meteor team is working to improve the ecosystem of open packages, to the point of taking ownership of projects that community members start to fill gaps, but can&#8217;t maintain.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &#8220;smart packages,&#8221; which is what meteor calls extensions to their core product. While in it&#8217;s infancy, the framework appears to be built around rapid development iteration &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Philly ETE &#8211; Metor.js Talk Summary&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[15],"tags":[302,365,369,430,440],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &quot;smart packages,&quot; which is what meteor calls extensions to their core product. While in it&#039;s infancy, the framework appears to be built around rapid development iteration\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &quot;smart packages,&quot; which is what meteor calls extensions to their core product. While in it&#039;s infancy, the framework appears to be built around rapid development iteration\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2013-04-03T23:30:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2013-04-03T23:30:54+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &quot;smart packages,&quot; which is what meteor calls extensions to their core product. While in it&#039;s infancy, the framework appears to be built around rapid development iteration\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#blogposting\",\"name\":\"Philly ETE \\u2013 Metor.js Talk Summary - Gary Sieling\",\"headline\":\"Philly ETE &#8211; Metor.js Talk Summary\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2013-04-03T23:30:54+00:00\",\"dateModified\":\"2013-04-03T23:30:54+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#webpage\"},\"articleSection\":\"Meetups, javascript, meteor, mongodb, phillyete, programming techniques\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/meetups\\\/#listItem\",\"name\":\"Meetups\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/meetups\\\/#listItem\",\"position\":2,\"name\":\"Meetups\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/meetups\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#listItem\",\"name\":\"Philly ETE &#8211; Metor.js Talk Summary\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#listItem\",\"position\":3,\"name\":\"Philly ETE &#8211; Metor.js Talk Summary\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/meetups\\\/#listItem\",\"name\":\"Meetups\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/\",\"name\":\"Philly ETE \\u2013 Metor.js Talk Summary - Gary Sieling\",\"description\":\"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on \\\"smart packages,\\\" which is what meteor calls extensions to their core product. While in it's infancy, the framework appears to be built around rapid development iteration\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/philly-ete-metor-js-talk-summary\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2013-04-03T23:30:54+00:00\",\"dateModified\":\"2013-04-03T23:30:54+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling","description":"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on \"smart packages,\" which is what meteor calls extensions to their core product. While in it's infancy, the framework appears to be built around rapid development iteration","canonical_url":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#blogposting","name":"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling","headline":"Philly ETE &#8211; Metor.js Talk Summary","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2013-04-03T23:30:54+00:00","dateModified":"2013-04-03T23:30:54+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#webpage"},"articleSection":"Meetups, javascript, meteor, mongodb, phillyete, programming techniques"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/meetups\/#listItem","name":"Meetups"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/meetups\/#listItem","position":2,"name":"Meetups","item":"https:\/\/www.garysieling.com\/blog\/category\/meetups\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#listItem","name":"Philly ETE &#8211; Metor.js Talk Summary"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#listItem","position":3,"name":"Philly ETE &#8211; Metor.js Talk Summary","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/meetups\/#listItem","name":"Meetups"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/","name":"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling","description":"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on \"smart packages,\" which is what meteor calls extensions to their core product. While in it's infancy, the framework appears to be built around rapid development iteration","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2013-04-03T23:30:54+00:00","dateModified":"2013-04-03T23:30:54+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling","og:description":"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &quot;smart packages,&quot; which is what meteor calls extensions to their core product. While in it's infancy, the framework appears to be built around rapid development iteration","og:url":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/","article:published_time":"2013-04-03T23:30:54+00:00","article:modified_time":"2013-04-03T23:30:54+00:00","twitter:card":"summary_large_image","twitter:title":"Philly ETE \u2013 Metor.js Talk Summary - Gary Sieling","twitter:description":"I went to a talk at Philly ETE on Meteor, a Javascript-based webapp development platform. The talk was given by Avital Oliver, one of the core meteor developers, on &quot;smart packages,&quot; which is what meteor calls extensions to their core product. While in it's infancy, the framework appears to be built around rapid development iteration"},"aioseo_meta_data":{"post_id":"902","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 16:11:45","updated":"2026-07-06 00:52:35","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/meetups\/\" title=\"Meetups\">Meetups<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPhilly ETE \u2013 Metor.js Talk Summary\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Meetups","link":"https:\/\/www.garysieling.com\/blog\/category\/meetups\/"},{"label":"Philly ETE &#8211; Metor.js Talk Summary","link":"https:\/\/www.garysieling.com\/blog\/philly-ete-metor-js-talk-summary\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/902"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=902"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/902\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}