diff --git a/website/server/convert.js b/website/server/convert.js index 7f2c34ebc96354..ab3725176e63ef 100644 --- a/website/server/convert.js +++ b/website/server/convert.js @@ -98,6 +98,7 @@ function execute(options) { var DOCS_MD_DIR = '../docs/'; var BLOG_MD_DIR = '../blog/'; + var CONFIG_JSON_DIR = '../'; glob.sync('src/react-native/docs/*.*').forEach(rmFile); glob.sync('src/react-native/blog/*.*').forEach(rmFile); @@ -179,6 +180,13 @@ function execute(options) { metadatas.config[key] = process.env[key]; }); + // load showcase apps into metadata + var showcaseApps = JSON.parse(fs.readFileSync( + path.basename(CONFIG_JSON_DIR + 'showcase.json'), + {encoding: 'utf8'} + )); + metadatas.showcaseApps = showcaseApps; + fs.writeFileSync( 'core/metadata.js', '/**\n' + diff --git a/website/showcase.json b/website/showcase.json new file mode 100644 index 00000000000000..5aad684d9d673a --- /dev/null +++ b/website/showcase.json @@ -0,0 +1,514 @@ +[ + { + "name": "Facebook", + "icon": "https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300", + "linkAppStore": "https://itunes.apple.com/app/facebook/id284882215", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en", + "infoLink": "https://code.facebook.com/posts/895897210527114/dive-into-react-native-performance/", + "infoTitle": "Using React Native in the Facebook App", + "defaultLink": "https://itunes.apple.com/app/facebook/id284882215", + "pinned": true + }, + { + "name": "Facebook Ads Manager", + "icon": "http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png", + "linkAppStore": "https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.adsmanager", + "infoLink": "https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/", + "infoTitle": "How We Built the First Cross-Platform React Native App", + "defaultLink": "https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8", + "pinned": true + }, + { + "name": "Facebook Groups", + "icon": "http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png", + "linkAppStore": "https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8", + "infoLink": "https://code.facebook.com/posts/1014532261909640/react-native-bringing-modern-web-techniques-to-mobile/", + "infoTitle": "React Native: Bringing Modern Web Techniques to Mobile", + "defaultLink": "https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8", + "pinned": true + }, + { + "name": "Instagram", + "icon": "http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/app/instagram/id389801252?pt=428156&ct=igweb.unifiedHome.badge&mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.instagram.android&referrer=utm_source%3Dinstagramweb%26utm_campaign%3DunifiedHome%26utm_medium%3Dbadge", + "infoLink": "https://engineering.instagram.com/react-native-at-instagram-dd828a9a90c7#.3h4wir4zr", + "infoTitle": "React Native at Instagram", + "defaultLink": "https://www.instagram.com/", + "pinned": true + }, + { + "name": "Airbnb", + "icon": "https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png", + "linkAppStore": "https://itunes.apple.com/us/app/airbnb/id401626263?mt=8&bev=1472279725_4ITWKWGX6KrmU6pT&utm_medium=web&utm_source=airbnb&_branch_match_id=307510898795870823", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.airbnb.android&hl=en&referrer=bev%3D1472279725_4ITWKWGX6KrmU6pT%26utm_medium%3Dweb%26utm_source%3Dairbnb", + "infoLink": "https://www.youtube.com/watch?v=tUfgQtmG3R0", + "infoTitle": "Hybrid React Native Apps at Airbnb", + "defaultLink": "https://www.airbnb.com/mobile", + "pinned": true + }, + { + "name": "Baidu (手机百度)", + "icon": "http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png", + "linkPlayStore": "http://shouji.baidu.com/software/9896302.html", + "linkAppStore": "https://itunes.apple.com/en/app/shou-ji-bai-du-hai-liang-xin/id382201985?l=en&mt=8", + "infoLink": "http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K", + "infoTitle": "Baidu is a search engine that has 600 million users.", + "defaultLink": "http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K", + "pinned": true + }, + { + "name": "Discord", + "icon": "http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8", + "infoLink": "https://discord.engineering/react-native-deep-dive-91fd5e949933#.5jnqftgof", + "infoTitle": "Using React Native: One Year Later", + "defaultLink": "https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8", + "pinned": true + }, + { + "name": "Gyroscope", + "icon": "https://media.gyrosco.pe/images/magneto/180x180.png", + "linkAppStore": "https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8", + "infoLink": "https://blog.gyrosco.pe/building-the-app-1dac1a97d253", + "infoTitle": "Building a visualization experience with React Native", + "defaultLink": "https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8", + "pinned": true + }, + { + "name": "li.st", + "icon": "https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300", + "linkPlayStore": "https://play.google.com/store/apps/details?id=st.li.listapp", + "infoLink": "https://www.youtube.com/watch?v=cI9bDvDEsYE", + "infoTitle": "Building li.st for Android with React Native", + "defaultLink": "https://play.google.com/store/apps/details?id=st.li.listapp", + "pinned": true + }, + { + "name": "QQ", + "icon": "http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96", + "linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq", + "infoLink": "https://en.wikipedia.org/wiki/Tencent_QQ", + "infoTitle": "QQ is a Chinese messaging service with 829 million active accounts", + "defaultLink": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq", + "pinned": true + }, + { + "name": "Townske", + "icon": "http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8", + "infoLink": "https://hackernoon.com/townske-app-in-react-native-6ad557de7a7c", + "infoTitle": "\"I would recommend React Native in a heartbeat.\"", + "defaultLink": "https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8", + "pinned": true + }, + { + "name": "Vogue", + "icon": "http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8", + "infoLink": "http://www.vogue.com/app", + "infoTitle": "", + "defaultLink": "https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8", + "pinned": true + }, + { + "name": "Walmart", + "icon": "http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg", + "linkAppStore": "https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.walmart.android&hl=en", + "infoLink": " https://medium.com/walmartlabs/react-native-at-walmartlabs-cdd140589560#.ueonqqloc", + "infoTitle": "React Native at Walmart Labs", + "defaultLink": "https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8", + "pinned": true + }, + { + "name": "Qzone (QQ空间)", + "icon": "http://pp.myapp.com/ma_icon/0/icon_9959_1460036593/96", + "linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.qzone", + "infoLink": "https://en.wikipedia.org/wiki/Qzone", + "infoTitle": "Qzone is a Chinese social network with over 600 million users", + "pinned": false + }, + { + "name": "QQ Music (QQ音乐)", + "icon": "http://pp.myapp.com/ma_icon/0/icon_6259_1462429453/96", + "linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.qqmusic", + "infoLink": "http://www.wsj.com/articles/tencent-customers-come-for-the-music-stay-for-the-perks-1433869369", + "infoTitle": "Internet giant tries to get people to pay for digital music", + "pinned": false + }, + { + "name": "Classroom (腾讯课堂)", + "icon": "http://pp.myapp.com/ma_icon/0/icon_10927178_1479093114/96", + "linkPlayStore": "http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.edu", + "linkAppStore": "https://itunes.apple.com/cn/app/teng-xun-ke-tang-zhuan-ye/id931720936?mt=8", + "infoLink": "http://baike.baidu.com/view/13030839.htm", + "infoTitle": "Classroom is an education app by Chinese Internet giant Tencent", + "pinned": false + }, + { + "name": "F8", + "icon": "https://raw.githubusercontent.com/fbsamples/f8app/master/ios/F8v2/Images.xcassets/AppIcon.appiconset/AppIcon%402x.png", + "linkAppStore": "https://itunes.apple.com/us/app/f8/id853467066?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.facebook.f8", + "infoLink": "http://makeitopen.com/tutorials/building-the-f8-app/planning/", + "infoTitle": "Tutorial: Building the F8 2016 conference app", + "pinned": false + }, + { + "name": "Discovery VR", + "icon": "http://a2.mzstatic.com/us/r30/Purple6/v4/d1/d5/f4/d1d5f437-9f6b-b5aa-5fe7-47bd19f934bf/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/discovery-vr/id1030815031?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.discovery.DiscoveryVR", + "infoLink": "https://medium.com/ios-os-x-development/an-ios-developer-on-react-native-1f24786c29f0", + "infoTitle": "\"I may never write an iOS app in Objective-C or Swift again.\"", + "pinned": false + }, + { + "name": "Movie Trailers", + "icon": "https://lh3.googleusercontent.com/16aug4m_6tvJB7QZden9w1SOMqpZgNp7rHqDhltZNvofw1a4V_ojGGXUMPGiK0dDCqzL=w300", + "linkAppStore": "https://itunes.apple.com/us/app/movie-trailers-by-movielala/id1001416601?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.movielala.trailers", + "infoLink": "http://variety.com/2016/digital/news/movielala-1-4-million-seed-round-hollywood-angel-investors-1201678139/", + "infoTitle": "MovieLaLa Closes $1.4 Million Seed Round", + "pinned": false + }, + { + "name": "Myntra", + "icon": "http://a5.mzstatic.com/us/r30/Purple6/v4/9c/78/df/9c78dfa6-0061-1af2-5026-3e1d5a073c94/icon350x350.png", + "linkAppStore": "https://itunes.apple.com/in/app/myntra-fashion-shopping-app/id907394059", + "infoLink": "https://techcrunch.com/2014/05/22/flipkart-myntra-acqusition/", + "infoTitle": "Flipkart Buys Fashion E-tailer Myntra To Fight Amazon", + "pinned": false + }, + { + "name": "SoundCloud Pulse", + "icon": "https://i1.sndcdn.com/artworks-000149203716-k5je96-original.jpg", + "linkAppStore": "https://itunes.apple.com/us/app/soundcloud-pulse-for-creators/id1074278256?mt=8", + "infoLink": "https://developers.soundcloud.com/blog/react-native-at-soundcloud", + "infoTitle": "Why React Native worked well for us", + "pinned": false + }, + { + "name": "Start", + "icon": "http://a1.mzstatic.com/us/r30/Purple49/v4/de/9b/6f/de9b6fe8-84ea-7a12-ba2c-0a6d6c7b10b0/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/start-medication-manager-for/id1012099928?mt=8", + "infoLink": "http://www.nytimes.com/2014/09/24/technology/to-gather-drug-information-a-health-start-up-turns-to-consumers.html?_r=0", + "infoTitle": "NYT: A Health Startup Turns to Consumers", + "pinned": false + }, + { + "name": "Taxfyle", + "icon": "https://s3.amazonaws.com/taxfyle-public/images/taxfyle-icon-1024px.png", + "linkAppStore": "https://itunes.apple.com/us/app/taxfyle/id1058033104?mt=8", + "infoLink": "http://www.techinsider.io/taxfyle-wants-to-be-the-uber-for-taxes-2016-4", + "infoTitle": "Taxfyle: the Uber for filing taxes", + "pinned": false + }, + { + "name": "This AM", + "icon": "http://s3.r29static.com//bin/public/efe/x/1542038/image.png", + "linkAppStore": "https://itunes.apple.com/us/app/refinery29-this-am-top-breaking/id988472315?mt=8", + "infoLink": "https://techcrunch.com/2016/02/01/refinery29-debuts-its-first-app-a-morning-news-round-up-called-refinery29-am/", + "infoTitle": "Refinery29 debuts morning news roundup app created with React Native", + "pinned": false + }, + { + "name": "TRED", + "icon": "http://a1.mzstatic.com/us/r30/Purple20/v4/b0/0c/07/b00c07d2-a057-06bc-6044-9fdab97f370f/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/us/app/tred-sell-my-car-for-more!/id1070071394?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.tredmobile&hl=en", + "infoLink": "http://www.geekwire.com/2015/mobile-dealership-tred-raises-another-1m-to-help-used-car-owners-make-more-money/", + "infoTitle": "Sell your car for thousands more than Craigslist or the dealer with TRED", + "pinned": false + }, + { + "name": "Bitt Wallet", + "icon": "http://a4.mzstatic.com/us/r30/Purple69/v4/5b/00/34/5b003497-cc85-a0d0-0d3e-4fb3bc6f95cd/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/us/app/bitt-wallet/id1081954916?mt=8", + "infoLink": "https://bitcoinmagazine.com/articles/overstock-invests-in-bitt-to-launch-official-digital-currencies-in-the-caribbean-islands-1459961581", + "infoTitle": "Overstock invests in Bitt to launch digital currencies", + "pinned": false + }, + { + "name": "CBS Sports Franchise Football", + "icon": "http://a2.mzstatic.com/us/r30/Purple69/v4/7b/0c/a0/7b0ca007-885a-7cfc-9fa2-2ec4394c2ecc/icon175x175.png", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.cbssports.fantasy.franchisefootball2015", + "infoLink": "http://www.cbssports.com/fantasy/football/games/franchise/2015", + "infoTitle": "Award winning Fantasy Football league manager", + "pinned": false + }, + { + "name": "Coiney (窓口)", + "icon": "http://a4.mzstatic.com/us/r30/Purple69/v4/c9/bc/3a/c9bc3a29-9c11-868f-b960-ca46d5fcd509/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/jp/app/coiney-chuang-kou/id1069271336?mt=8", + "infoLink": "https://www.techinasia.com/japan-startup-coiney-aims-for-ipo", + "infoTitle": "Coiney provides smarphone-based credit card processing services in Japan", + "pinned": false + }, + { + "name": "Convoy Driver", + "icon": "http://a1.mzstatic.com/us/r30/Purple30/v4/5a/74/56/5a74567d-4491-a298-65cd-722c8a7211ac/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/convoy-driver/id1045368390?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.convoy.driver", + "infoLink": "http://www.theverge.com/2015/10/27/9620352/convoy-uber-for-trucking", + "infoTitle": "Convoy, a Seattle-based \"Uber for trucking\"", + "pinned": false + }, + { + "name": "Fixt", + "icon": "http://a5.mzstatic.com/us/r30/Purple62/v4/7f/b3/66/7fb366c4-79fd-34e1-3037-ffc02d8a93f7/icon350x350.png", + "linkAppStore": "https://itunes.apple.com/us/app/dropbot-phone-replacement/id1000855694?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=co.fixt", + "infoLink": "http://www.phonearena.com/news/Fixt-is-an-app-that-promises-a-hassle-free-smartphone-repairy-service_id81069", + "infoTitle": "A hassle-free smartphone repair service", + "pinned": false + }, + { + "name": "Leanpub", + "icon": "http://a2.mzstatic.com/us/r30/Purple6/v4/9f/4a/6f/9f4a6f8c-8951-ed89-4083-74ace23df9ef/icon350x350.jpeg", + "linkAppStore": "https://itunes.apple.com/us/app/leanpub/id913517110?ls=1&mt=8", + "infoLink": "http://techland.time.com/2011/06/23/how-to-turn-your-blog-into-an-instant-e-book/", + "infoTitle": "Leanpub: How to Turn Your Blog into an Instant E-Book", + "pinned": false + }, + { + "name": "Lugg", + "icon": "https://lh3.googleusercontent.com/EV9z7kRRME2KPMBRNHnje7bBNEl_Why2CFq-MfKzBC88uSFJTYr1HO3-nPt-JuVJwKFb=w300", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.lugg", + "infoLink": "https://techcrunch.com/2015/08/26/lugg-an-app-for-on-demand-short-distance-moves-raises-3-8-million/", + "infoTitle": "Lugg, An App for Short-Distance Moves, Raises $3.8 Million", + "pinned": false + }, + { + "name": "Pimmr", + "icon": "http://a2.mzstatic.com/eu/r30/Purple69/v4/99/da/0e/99da0ee6-bc87-e1a6-1d95-7027c78f50e1/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/nl/app/pimmr/id1023343303?mt=8", + "infoLink": "https://www.crunchbase.com/organization/pimmr#/entity", + "infoTitle": "Pimmr helps you find the needle in the haystack", + "pinned": false + }, + { + "name": "Project September", + "icon": "http://a4.mzstatic.com/us/r30/Purple30/v4/95/51/b7/9551b72a-d80a-5b1c-5c6d-7fc77d745d31/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/project-september/id1074075331?ls=1&mt=8&_branch_match_id=273849075056044546", + "infoLink": "http://fortune.com/2016/04/14/project-september-alexis-maybank/", + "infoTitle": "Former Gilt CEO Launches New Mobile App", + "pinned": false + }, + { + "name": "Samanage", + "icon": "http://a3.mzstatic.com/us/r30/Purple69/v4/ed/e9/ff/ede9ff34-a9f6-5eb6-2a23-fcb014b326f2/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/us/app/samanage/id1033018362", + "infoLink": "https://techcrunch.com/2015/05/20/samanage-raises-16m-as-asset-management-business-grows/", + "infoTitle": "Samanage raises $16M as Asset Management Expands", + "pinned": false + }, + { + "name": "ShareWis", + "icon": "https://s3-ap-northeast-1.amazonaws.com/sw-misc/sharewis3_app.png", + "linkAppStore": "https://itunes.apple.com/jp/app/id585517208", + "infoLink": "https://www.crunchbase.com/organization/sharewis#/entity", + "infoTitle": "The concept is to turn learning into an adventure", + "pinned": false + }, + { + "name": "sneat", + "icon": "http://a3.mzstatic.com/eu/r30/Purple49/v4/71/71/df/7171df47-6e03-8619-19a8-07f52186b0ed/icon175x175.jpeg", + "linkAppStore": "https://itunes.apple.com/fr/app/sneat-reservez-les-meilleurs/id1062510079?l=en&mt=8", + "infoLink": "http://www.internetsansfrontieres.com/sneat-application-mobile-reserver-restaurant/", + "infoTitle": "Application mobile pour réserver un restaurant", + "pinned": false + }, + { + "name": "Ticketea", + "icon": "http://f.cl.ly/items/0n3g3x2t0W0a0d0b1F0C/tkt-icon.png", + "linkAppStore": "https://itunes.apple.com/es/app/entradas-teatro-y-conciertos/id1060067658?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.ticketea.geminis", + "infoLink": "https://techcrunch.com/2013/05/27/ticket-to-ride/", + "infoTitle": "Ticketea raises $4 Million to Beat Ticketmaster", + "pinned": false + }, + { + "name": "uSwitch", + "icon": "https://lh3.googleusercontent.com/NpkGlwFWdj7VsK2ueVwlgdrrBrNJ-yN-4TkEHjjSjDUu7NpMcfyAp10p97f0zci0CSFQ=w300", + "linkAppStore": "https://itunes.apple.com/gb/app/uswitch-compare-switch-save/id935325621?mt=8&ct=react", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.uswitchmobileapp", + "infoLink": "https://en.wikipedia.org/wiki/USwitch", + "infoTitle": "uSwitch: a UK-based price comparison service", + "pinned": false + }, + { + "name": "WEARVR", + "icon": "http://a2.mzstatic.com/eu/r30/Purple69/v4/4f/5a/28/4f5a2876-9530-ef83-e399-c5ef5b2dab80/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/gb/app/wearvr/id1066288171?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.wearvr.app", + "infoLink": "http://venturebeat.com/2015/04/07/virtual-reality-app-store-wear-vr-secures-1-5m-in-funding/", + "infoTitle": "Wear VR secures $1.5M in funding", + "pinned": false + }, + { + "name": "Wego Concerts", + "icon": "http://a5.mzstatic.com/us/r30/Purple69/v4/03/91/2d/03912daa-fae7-6a25-5f11-e6b19290b3f4/icon175x175.png", + "linkAppStore": "https://itunes.apple.com/us/app/wego-concerts-follow-friends/id869478093?mt=8", + "infoLink": "http://www.nydailynews.com/life-style/wego-concerts-app-links-music-fans-article-1.2066776", + "infoTitle": "Wego Concerts: Like the love child of Tinder and StubHub", + "pinned": false + }, + { + "name": "Bdsdiet", + "icon": "http://s3.ap-northeast-2.amazonaws.com/bdsdiet-bucket/media/store-icon.png", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.bdsdiet_app", + "infoLink": "https://www.crunchbase.com/organization/bds-diet#/entity", + "infoTitle": "Bdsdiet provides real estate brokerage services through web and live agents in Korea.", + "pinned": false + }, + { + "name": "Crowdsource (蜂鸟众包)", + "icon": "http://img.wdjimg.com/mms/icon/v1/e/6e/687b129606504cd52632a8cc4ca816ee_256_256.png", + "linkPlayStore": "http://www.wandoujia.com/apps/me.ele.crowdsource", + "linkAppStore": "https://itunes.apple.com/cn/app/feng-niao-zhong-bao-jian-zhi/id1061034377?mt=8", + "infoLink": "https://elelogistics.github.io/about/Crowdsource-App-Write-In-React-Native.html", + "infoTitle": "Fengniao Crowdsource is the largest crowdsourced logistics platform in China.", + "pinned": false + }, + { + "name": "昨日热推", + "icon": "https://frontbin.com/images/apple-touch-icon.png", + "linkAppStore": "https://itunes.apple.com/cn/app/zuo-ri-re-tui/id1137163693?l=en&mt=8", + "infoLink": "https://www.zfanw.com/blog/developing-react-native-image-viewer-library.html", + "infoTitle": "Developing the react-native-image-viewer library", + "pinned": false + }, + { + "name": "Artsy", + "icon": "https://raw.githubusercontent.com/artsy/eigen/master/Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png", + "linkAppStore": "https://itunes.apple.com/us/app/artsy-collect-bid-on-fine/id703796080?mt=8", + "infoLink": "https://artsy.github.io/series/react-native-at-artsy/", + "infoTitle": "React Native at Artsy", + "pinned": false + }, + { + "name": "Huiseoul (惠首尔)", + "icon": "https://cdn.huiseoul.com/icon.png", + "linkAppStore": "https://itunes.apple.com/us/app/hui-shou-er-ni-si-ren-mei/id1127150360?ls=1&mt=8", + "infoLink": "https://engineering.huiseoul.com/building-a-conversational-e-commerce-app-in-6-weeks-with-react-native-c35d46637e07", + "infoTitle": "Building a conversational E-commerce app in 6 weeks with React Native", + "pinned": false + }, + { + "name": "PlaceAVote", + "icon": "https://s12.postimg.org/nr79mplq5/pav_Icon.png", + "linkAppStore": "https://itunes.apple.com/us/app/placeavote/id1120628991?ls=1&mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.placeavote.androidapp&hl=en", + "infoLink": "https://techcrunch.com/2016/05/10/placeavote-wants-to-give-voters-a-say-in-congress/", + "infoTitle": "PlaceAVote wants to give voters a say in Congress", + "pinned": false + }, + { + "name": "Robin Rooms", + "icon": "http://robinpowered.s3.amazonaws.com/rooms/appicon.png", + "linkAppStore": "https://itunes.apple.com/us/app/robin-rooms/id947566115", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.robinpowered.rooms", + "infoLink": "https://techcrunch.com/2016/05/31/robin-makes-the-office-smarter-with-7-million-in-new-funding/", + "infoTitle": "Robin Rooms manages and mounts outside your conference rooms", + "pinned": false + }, + { + "name": "Sleeperbot", + "icon": "https://blitzchat.net/uploads/c8425332190a4f4b852d7770ad32e602/original.png", + "linkAppStore": "https://itunes.apple.com/us/app/sleeperbot-fantasy-football/id987367543?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.sleeperbot&hl=en", + "infoLink": "https://medium.com/sleeperbot-hq/switching-to-react-native-in-production-on-ios-and-android-e6b675402712#.cug6h6qhn", + "infoTitle": "Switching to React Native in Production on iOS and Android", + "pinned": false + }, + { + "name": "JD(手机京东)", + "icon": "https://lh3.googleusercontent.com/AIIAZsqyEG0KmCFruh1Ec374-2l7n1rfv_LG5RWjdAZOzUBCu-5MRqdLbzJfBnOdSFg=w300-rw", + "linkAppStore": "https://itunes.apple.com/cn/app/shou-ji-jing-dong-xin-ren/id414245413?mt=8", + "linkPlayStore": "https://app.jd.com/android.html", + "infoLink": "http://ir.jd.com/phoenix.zhtml?c=253315&p=irol-homeProfile", + "infoTitle": "JD.com is China’s largest ecommerce company by revenue and a member of the Fortune Global 500.", + "pinned": false + }, + { + "name": "Chop", + "icon": "https://pbs.twimg.com/profile_images/656536498951446529/6zU6BvgB.png", + "linkAppStore": "http://apple.co/2dfkYH9", + "infoLink": "https://blog.getchop.io/how-we-built-chop-bae3d8acd131#.7y8buamrq", + "infoTitle": "How we built Chop", + "pinned": false + }, + { + "name": "Bloomberg", + "icon": "http://is1.mzstatic.com/image/thumb/Purple71/v4/31/24/72/312472df-3d53-0acf-fc31-8a25682e528f/source/175x175bb.jpg", + "linkAppStore": "https://itunes.apple.com/us/app/bloomberg/id281941097?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.bloomberg.android.plus&hl=en", + "infoLink": "https://www.techatbloomberg.com/blog/bloomberg-used-react-native-develop-new-consumer-app/", + "infoTitle": "How Bloomberg Used React Native to Develop its new Consumer App", + "pinned": false + }, + { + "name": "Blink", + "icon": "https://lh3.googleusercontent.com/QaId7rFtOjAT-2tHVkKB4lebX_w4ujWiO7ZIDe3Hd99TfBmPmiZySbLbVJV65qs0ViM=w300-rw", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.witapp", + "infoLink": "https://hashnode.com/post/what-we-learned-after-using-react-native-for-a-year-civdr8zv6058l3853wqud7hqp", + "infoTitle": "What we learned after using React Native for a year", + "pinned": false + }, + { + "name": "Delivery.com", + "icon": "https://lh3.googleusercontent.com/ZwwQHQns9Ut2-LqbMqPcmQrsWBh3YbmbIzeDthfdavw99Ziq0unJ6EHUw8bstXUIpg=w300-rw", + "linkAppStore": "https://itunes.apple.com/us/app/delivery.com-food-alcohol/id435168129?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.deliverycom&hl=en", + "infoLink": "https://medium.com/delivery-com-engineering/react-native-in-an-existing-ios-app-delivered-874ba95a3c52#.37qruw6ck", + "infoTitle": "React Native in an Existing iOS App: Getting Started", + "pinned": false + }, + { + "name": "Remedy", + "icon": "https://www.remedymedical.com/static/images/AppIconPatient.png", + "linkAppStore": "https://itunes.apple.com/us/app/remedy-on-demand-intelligent/id1125877350?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.remedy.android", + "infoLink": "https://techcrunch.com/2017/01/10/doctordoctorcantyouseeimburning/", + "infoTitle": "Talk to a world-class doctor: advice, prescriptions, and care", + "pinned": false + }, + { + "name": "Yeti Smart Home", + "icon": "https://res.cloudinary.com/netbeast/image/upload/v1484303676/Android_192_loykto.png", + "linkAppStore": "https://itunes.apple.com/us/app/yeti-smart-home/id1190638808?mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.netbeast.yeti", + "infoLink": "https://medium.com/@jesusdario/developing-beyond-the-screen-9af812b96724#.ozx0xy4lv", + "infoTitle": "How React Native is helping us to reinvent the wheel", + "pinned": false + }, + { + "name": "Jack", + "icon": "https://s3-eu-west-1.amazonaws.com/jack-public/react-native-showcase/jack-raw-icon.png", + "linkAppStore": "https://itunes.apple.com/us/app/you-have-a-jack/id1019167559?ls=1&mt=8", + "linkPlayStore": "https://play.google.com/store/apps/details?id=com.jack45.jack", + "infoLink": "https://medium.com/@herdani/our-switch-to-react-native-f4ada19f0f3d#.ogwjzf2tw", + "infoTitle": "Our switch to React Native", + "pinned": false + }, + { + "name": "Causr", + "icon": "http://is2.mzstatic.com/image/thumb/Purple111/v4/9d/14/20/9d142015-3319-f613-2886-ad889609466a/source/175x175bb.jpg", + "linkAppStore": "https://itunes.apple.com/us/app/causr-business-networking/id1129819484", + "infoLink": "https://medium.com/causr/why-we-chose-react-native-abd7d58a18b5", + "infoTitle": "Why we chose React Native", + "pinned": false + }, + { + "name": "Flare", + "icon": "http://x.co/FlareIcon", + "linkAppStore": "http://x.co/Flare", + "linkPlayStore": "http://x.co/FlareAndr", + "infoLink": "http://x.co/FlareNews", + "infoTitle": "Social network that connects entrepreneurs to fellow entrepreneurs, consumers, investors and experts", + "pinned": false + } +] diff --git a/website/src/react-native/index.js b/website/src/react-native/index.js index d5d12ad8ad270a..85d73c1d68e9e8 100644 --- a/website/src/react-native/index.js +++ b/website/src/react-native/index.js @@ -12,74 +12,11 @@ var Hero = require('Hero'); var Prism = require('Prism'); var React = require('React'); var Site = require('Site'); +var Metadata = require('Metadata'); -var apps = [ - { - name: 'Facebook', - icon: 'https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300', - infoLink: 'https://itunes.apple.com/app/facebook/id284882215', - }, - { - name: 'Facebook Ads Manager', - icon: 'http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png', - infoLink: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8', - }, - { - name: 'Facebook Groups', - icon: 'http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png', - infoLink: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8', - }, - { - name: 'Instagram', - icon: 'http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg', - infoLink: 'https://www.instagram.com/', - }, - { - name: 'Airbnb', - icon: 'https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png', - infoLink: 'https://www.airbnb.com/mobile', - }, - { - name: 'Baidu(手机百度)', - icon: 'http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png', - infoLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K', - }, - { - name: 'Discord', - icon: 'http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg', - infoLink: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8', - }, - { - name: 'Gyroscope', - icon: 'https://media.gyrosco.pe/images/magneto/180x180.png', - infoLink: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8', - }, - { - name: 'li.st', - icon: 'https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300', - infoLink: 'https://play.google.com/store/apps/details?id=st.li.listapp', - }, - { - name: 'QQ', - icon: 'http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96', - infoLink: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq', - }, - { - name: 'Townske', - icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png', - infoLink: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8', - }, - { - name: 'Vogue', - icon: 'http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg', - infoLink: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8', - }, - { - name: 'Walmart', - icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg', - infoLink: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8', - }, -]; +const pinnedApps = Metadata.showcaseApps.filter(app => { + return app.pinned; +}); var AppList = React.createClass({ render: function() { @@ -230,7 +167,7 @@ class SomethingFast extends Component {

Thousands of apps are using React Native, from established Fortune 500 companies to hot new startups. If you're curious to see what can be accomplished with React Native, check out these apps!

- +

Some of these are hybrid native/React Native apps.

diff --git a/website/src/react-native/showcase.js b/website/src/react-native/showcase.js index 79b63326cccc54..402160db9b2411 100644 --- a/website/src/react-native/showcase.js +++ b/website/src/react-native/showcase.js @@ -10,496 +10,65 @@ var React = require('React'); var Site = require('Site'); +var Metadata = require('Metadata'); /* -Thousands of applications use React Native, so we can't list all of them -in our showcase. To be useful to someone looking through the showcase, -either the app must be something that most readers would recognize, or the -makers of the application must have posted useful technical content about the -making of the app. It also must be useful considering that the majority of -readers only speak English. So, each app in the showcase should link to either: - -1/ An English-language news article discussing the app, built either by a funded startup or for a public company -2/ An English-language technical post on a funded startup or public company blog discussing React Native + * Thousands of applications use React Native, so we can't list all of them + * in our showcase. To be useful to someone looking through the showcase, + * either the app must be something that most readers would recognize, or the + * makers of the application must have posted useful technical content about the + * making of the app. It also must be useful considering that the majority of + * readers only speak English. So, each app in the showcase should link to + * either: + * + * 1/ An English-language news article discussing the app, built either by a + * funded startup or for a public company + * 2/ An English-language technical post on a funded startup or public company + * blog discussing React Native + * + * The app should be available for download in the App Store or Play Store. + * + * If you believe your app meets the above critera, add it to the end of the + * array in the `../../showcase.json` file in this repository and open a pull + * request. PRs that do not follow these guidelines may be closed without + * comment. + * + * Use the 'infoLink' and 'infoTitle' keys to reference the news article or + * technical post. Your app icon should be hosted on a CDN and be no smaller + * than 200px by 200px. Use the `icon` key to reference your app icon. + * + * Please use the following format when adding your app to the showcase: + * + * { + * name: 'App Name in English (Non-English name inside parenthesis, if any)', + * icon: 'CDN URL to your app icon' + * linkAppStore: 'https://itunes.apple.com/app/XXXXX' + * linkPlayStore: "https://play.google.com/store/apps/details?id=XXXXX", + * infoLink: 'Link to content that satisfies critera above', + * infoTitle: 'Short title for the infoLink', + * pinned: false, + * } + * + * Do not set 'pinned' to true as the pinned list is reserved for a small number + * of hand picked apps. + */ +const pinnedApps = Metadata.showcaseApps.filter(app => { + return app.pinned; +}); -For each app in the showcase, use infoLink and infoTitle to reference this -content. -*/ -var featured = [ - { - name: 'Qzone (QQ空间)', - icon: 'http://pp.myapp.com/ma_icon/0/icon_9959_1460036593/96', - linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.qzone', - infoLink: 'https://en.wikipedia.org/wiki/Qzone', - infoTitle: 'Qzone is a Chinese social network with over 600 million users', - }, - { - name: 'QQ Music (QQ音乐)', - icon: 'http://pp.myapp.com/ma_icon/0/icon_6259_1462429453/96', - linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.qqmusic', - infoLink: 'http://www.wsj.com/articles/tencent-customers-come-for-the-music-stay-for-the-perks-1433869369', - infoTitle: 'Internet giant tries to get people to pay for digital music', - }, - { - name: 'Classroom (腾讯课堂)', - icon: 'http://pp.myapp.com/ma_icon/0/icon_10927178_1479093114/96', - linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.edu', - linkAppStore: 'https://itunes.apple.com/cn/app/teng-xun-ke-tang-zhuan-ye/id931720936?mt=8', - infoLink: 'http://baike.baidu.com/view/13030839.htm', - infoTitle: 'Classroom is an education app by Chinese Internet giant Tencent', - }, - { - name: 'F8', - icon: 'https://raw.githubusercontent.com/fbsamples/f8app/master/ios/F8v2/Images.xcassets/AppIcon.appiconset/AppIcon%402x.png', - linkAppStore: 'https://itunes.apple.com/us/app/f8/id853467066?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.f8', - infoLink: 'http://makeitopen.com/tutorials/building-the-f8-app/planning/', - infoTitle: 'Tutorial: Building the F8 2016 conference app', - }, - { - name: 'Discovery VR', - icon: 'http://a2.mzstatic.com/us/r30/Purple6/v4/d1/d5/f4/d1d5f437-9f6b-b5aa-5fe7-47bd19f934bf/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/discovery-vr/id1030815031?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.discovery.DiscoveryVR', - infoLink: 'https://medium.com/ios-os-x-development/an-ios-developer-on-react-native-1f24786c29f0', - infoTitle: '"I may never write an iOS app in Objective-C or Swift again."', - }, - { - name: 'Movie Trailers', - icon: 'https://lh3.googleusercontent.com/16aug4m_6tvJB7QZden9w1SOMqpZgNp7rHqDhltZNvofw1a4V_ojGGXUMPGiK0dDCqzL=w300', - linkAppStore: 'https://itunes.apple.com/us/app/movie-trailers-by-movielala/id1001416601?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.movielala.trailers', - infoLink: 'http://variety.com/2016/digital/news/movielala-1-4-million-seed-round-hollywood-angel-investors-1201678139/', - infoTitle: 'MovieLaLa Closes $1.4 Million Seed Round', - }, - { - name: 'Myntra', - icon: 'http://a5.mzstatic.com/us/r30/Purple6/v4/9c/78/df/9c78dfa6-0061-1af2-5026-3e1d5a073c94/icon350x350.png', - linkAppStore: 'https://itunes.apple.com/in/app/myntra-fashion-shopping-app/id907394059', - infoLink: 'https://techcrunch.com/2014/05/22/flipkart-myntra-acqusition/', - infoTitle: 'Flipkart Buys Fashion E-tailer Myntra To Fight Amazon', - }, - { - name: 'SoundCloud Pulse', - icon: 'https://i1.sndcdn.com/artworks-000149203716-k5je96-original.jpg', - linkAppStore: 'https://itunes.apple.com/us/app/soundcloud-pulse-for-creators/id1074278256?mt=8', - infoLink: 'https://developers.soundcloud.com/blog/react-native-at-soundcloud', - infoTitle: 'Why React Native worked well for us', - }, - { - name: 'Start', - icon: 'http://a1.mzstatic.com/us/r30/Purple49/v4/de/9b/6f/de9b6fe8-84ea-7a12-ba2c-0a6d6c7b10b0/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/start-medication-manager-for/id1012099928?mt=8', - infoLink: 'http://www.nytimes.com/2014/09/24/technology/to-gather-drug-information-a-health-start-up-turns-to-consumers.html?_r=0', - infoTitle: 'NYT: A Health Startup Turns to Consumers', - }, - { - name: 'Taxfyle', - icon: 'https://s3.amazonaws.com/taxfyle-public/images/taxfyle-icon-1024px.png', - linkAppStore: 'https://itunes.apple.com/us/app/taxfyle/id1058033104?mt=8', - infoLink: 'http://www.techinsider.io/taxfyle-wants-to-be-the-uber-for-taxes-2016-4', - infoTitle: 'Taxfyle: the Uber for filing taxes', - }, - { - name: 'This AM', - icon: 'http://s3.r29static.com//bin/public/efe/x/1542038/image.png', - linkAppStore: 'https://itunes.apple.com/us/app/refinery29-this-am-top-breaking/id988472315?mt=8', - infoLink: 'https://techcrunch.com/2016/02/01/refinery29-debuts-its-first-app-a-morning-news-round-up-called-refinery29-am/', - infoTitle: 'Refinery29 debuts morning news roundup app created with React Native', - }, - { - name: 'TRED', - icon: 'http://a1.mzstatic.com/us/r30/Purple20/v4/b0/0c/07/b00c07d2-a057-06bc-6044-9fdab97f370f/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/us/app/tred-sell-my-car-for-more!/id1070071394?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.tredmobile&hl=en', - infoLink: 'http://www.geekwire.com/2015/mobile-dealership-tred-raises-another-1m-to-help-used-car-owners-make-more-money/', - infoTitle: 'Sell your car for thousands more than Craigslist or the dealer with TRED', - }, - { - name: 'Bitt Wallet', - icon: 'http://a4.mzstatic.com/us/r30/Purple69/v4/5b/00/34/5b003497-cc85-a0d0-0d3e-4fb3bc6f95cd/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/us/app/bitt-wallet/id1081954916?mt=8', - infoLink: 'https://bitcoinmagazine.com/articles/overstock-invests-in-bitt-to-launch-official-digital-currencies-in-the-caribbean-islands-1459961581', - infoTitle: 'Overstock invests in Bitt to launch digital currencies', - }, - { - name: 'CBS Sports Franchise Football', - icon: 'http://a2.mzstatic.com/us/r30/Purple69/v4/7b/0c/a0/7b0ca007-885a-7cfc-9fa2-2ec4394c2ecc/icon175x175.png', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.cbssports.fantasy.franchisefootball2015', - infoLink: 'http://www.cbssports.com/fantasy/football/games/franchise/2015', - infoTitle: 'Award winning Fantasy Football league manager', - }, - { - name: 'Coiney (窓口)', - icon: 'http://a4.mzstatic.com/us/r30/Purple69/v4/c9/bc/3a/c9bc3a29-9c11-868f-b960-ca46d5fcd509/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/jp/app/coiney-chuang-kou/id1069271336?mt=8', - infoLink: 'https://www.techinasia.com/japan-startup-coiney-aims-for-ipo', - infoTitle: 'Coiney provides smarphone-based credit card processing services in Japan', - }, - { - name: 'Convoy Driver', - icon: 'http://a1.mzstatic.com/us/r30/Purple30/v4/5a/74/56/5a74567d-4491-a298-65cd-722c8a7211ac/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/convoy-driver/id1045368390?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.convoy.driver', - infoLink: 'http://www.theverge.com/2015/10/27/9620352/convoy-uber-for-trucking', - infoTitle: 'Convoy, a Seattle-based "Uber for trucking"', - }, - { - name: 'Fixt', - icon: 'http://a5.mzstatic.com/us/r30/Purple62/v4/7f/b3/66/7fb366c4-79fd-34e1-3037-ffc02d8a93f7/icon350x350.png', - linkAppStore: 'https://itunes.apple.com/us/app/dropbot-phone-replacement/id1000855694?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=co.fixt', - infoLink: 'http://www.phonearena.com/news/Fixt-is-an-app-that-promises-a-hassle-free-smartphone-repairy-service_id81069', - infoTitle: 'A hassle-free smartphone repair service', - }, - { - name: 'Leanpub', - icon: 'http://a2.mzstatic.com/us/r30/Purple6/v4/9f/4a/6f/9f4a6f8c-8951-ed89-4083-74ace23df9ef/icon350x350.jpeg', - linkAppStore: 'https://itunes.apple.com/us/app/leanpub/id913517110?ls=1&mt=8', - infoLink: 'http://techland.time.com/2011/06/23/how-to-turn-your-blog-into-an-instant-e-book/', - infoTitle: 'Leanpub: How to Turn Your Blog into an Instant E-Book', - }, - { - name: 'Lugg', - icon: 'https://lh3.googleusercontent.com/EV9z7kRRME2KPMBRNHnje7bBNEl_Why2CFq-MfKzBC88uSFJTYr1HO3-nPt-JuVJwKFb=w300', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.lugg', - infoLink: 'https://techcrunch.com/2015/08/26/lugg-an-app-for-on-demand-short-distance-moves-raises-3-8-million/', - infoTitle: 'Lugg, An App for Short-Distance Moves, Raises $3.8 Million', - }, - { - name: 'Pimmr', - icon: 'http://a2.mzstatic.com/eu/r30/Purple69/v4/99/da/0e/99da0ee6-bc87-e1a6-1d95-7027c78f50e1/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/nl/app/pimmr/id1023343303?mt=8', - infoLink: 'https://www.crunchbase.com/organization/pimmr#/entity', - infoTitle: 'Pimmr helps you find the needle in the haystack', - }, - { - name: 'Project September', - icon: 'http://a4.mzstatic.com/us/r30/Purple30/v4/95/51/b7/9551b72a-d80a-5b1c-5c6d-7fc77d745d31/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/project-september/id1074075331?ls=1&mt=8&_branch_match_id=273849075056044546', - infoLink: 'http://fortune.com/2016/04/14/project-september-alexis-maybank/', - infoTitle: 'Former Gilt CEO Launches New Mobile App', - }, - { - name: 'Samanage', - icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/ed/e9/ff/ede9ff34-a9f6-5eb6-2a23-fcb014b326f2/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/us/app/samanage/id1033018362', - infoLink: 'https://techcrunch.com/2015/05/20/samanage-raises-16m-as-asset-management-business-grows/', - infoTitle: 'Samanage raises $16M as Asset Management Expands', - }, - { - name: 'ShareWis', - icon: 'https://s3-ap-northeast-1.amazonaws.com/sw-misc/sharewis3_app.png', - linkAppStore: 'https://itunes.apple.com/jp/app/id585517208', - infoLink: 'https://www.crunchbase.com/organization/sharewis#/entity', - infoTitle: 'The concept is to turn learning into an adventure', - }, - { - name: 'sneat', - icon: 'http://a3.mzstatic.com/eu/r30/Purple49/v4/71/71/df/7171df47-6e03-8619-19a8-07f52186b0ed/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/fr/app/sneat-reservez-les-meilleurs/id1062510079?l=en&mt=8', - infoLink: 'http://www.internetsansfrontieres.com/sneat-application-mobile-reserver-restaurant/', - infoTitle: 'Application mobile pour réserver un restaurant', - }, - { - name: 'Ticketea', - icon: 'http://f.cl.ly/items/0n3g3x2t0W0a0d0b1F0C/tkt-icon.png', - linkAppStore: 'https://itunes.apple.com/es/app/entradas-teatro-y-conciertos/id1060067658?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.ticketea.geminis', - infoLink: 'https://techcrunch.com/2013/05/27/ticket-to-ride/', - infoTitle: 'Ticketea raises $4 Million to Beat Ticketmaster', - }, - { - name: 'uSwitch', - icon: 'https://lh3.googleusercontent.com/NpkGlwFWdj7VsK2ueVwlgdrrBrNJ-yN-4TkEHjjSjDUu7NpMcfyAp10p97f0zci0CSFQ=w300', - linkAppStore: 'https://itunes.apple.com/gb/app/uswitch-compare-switch-save/id935325621?mt=8&ct=react', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.uswitchmobileapp', - infoLink: 'https://en.wikipedia.org/wiki/USwitch', - infoTitle: 'uSwitch: a UK-based price comparison service', - }, - { - name: 'WEARVR', - icon: 'http://a2.mzstatic.com/eu/r30/Purple69/v4/4f/5a/28/4f5a2876-9530-ef83-e399-c5ef5b2dab80/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/gb/app/wearvr/id1066288171?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.wearvr.app', - infoLink: 'http://venturebeat.com/2015/04/07/virtual-reality-app-store-wear-vr-secures-1-5m-in-funding/', - infoTitle: 'Wear VR secures $1.5M in funding', - }, - { - name: 'Wego Concerts', - icon: 'http://a5.mzstatic.com/us/r30/Purple69/v4/03/91/2d/03912daa-fae7-6a25-5f11-e6b19290b3f4/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/wego-concerts-follow-friends/id869478093?mt=8', - infoLink: 'http://www.nydailynews.com/life-style/wego-concerts-app-links-music-fans-article-1.2066776', - infoTitle: 'Wego Concerts: Like the love child of Tinder and StubHub', - }, - { - name: 'Bdsdiet', - icon: 'http://s3.ap-northeast-2.amazonaws.com/bdsdiet-bucket/media/store-icon.png', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.bdsdiet_app', - infoLink: 'https://www.crunchbase.com/organization/bds-diet#/entity', - infoTitle: 'Bdsdiet provides real estate brokerage services through web and live agents in Korea.', - }, - { - name: 'Crowdsource (蜂鸟众包)', - icon: 'http://img.wdjimg.com/mms/icon/v1/e/6e/687b129606504cd52632a8cc4ca816ee_256_256.png', - linkPlayStore: 'http://www.wandoujia.com/apps/me.ele.crowdsource', - linkAppStore: 'https://itunes.apple.com/cn/app/feng-niao-zhong-bao-jian-zhi/id1061034377?mt=8', - infoLink: 'https://elelogistics.github.io/about/Crowdsource-App-Write-In-React-Native.html', - infoTitle: 'Fengniao Crowdsource is the largest crowdsourced logistics platform in China.', - }, - { - name: '昨日热推', - icon: 'https://frontbin.com/images/apple-touch-icon.png', - linkAppStore: 'https://itunes.apple.com/cn/app/zuo-ri-re-tui/id1137163693?l=en&mt=8', - infoLink: 'https://www.zfanw.com/blog/developing-react-native-image-viewer-library.html', - infoTitle: 'Developing the react-native-image-viewer library', - }, - { - name: 'Artsy', - icon: 'https://raw.githubusercontent.com/artsy/eigen/master/Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png', - linkAppStore: 'https://itunes.apple.com/us/app/artsy-collect-bid-on-fine/id703796080?mt=8', - infoLink: 'https://artsy.github.io/series/react-native-at-artsy/', - infoTitle: 'React Native at Artsy', - }, - { - name: 'Huiseoul (惠首尔)', - icon: 'https://cdn.huiseoul.com/icon.png', - linkAppStore: 'https://itunes.apple.com/us/app/hui-shou-er-ni-si-ren-mei/id1127150360?ls=1&mt=8', - infoLink: 'https://engineering.huiseoul.com/building-a-conversational-e-commerce-app-in-6-weeks-with-react-native-c35d46637e07', - infoTitle: 'Building a conversational E-commerce app in 6 weeks with React Native', - }, - { - name: 'PlaceAVote', - icon: 'https://s12.postimg.org/nr79mplq5/pav_Icon.png', - linkAppStore: 'https://itunes.apple.com/us/app/placeavote/id1120628991?ls=1&mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.placeavote.androidapp&hl=en', - infoLink: 'https://techcrunch.com/2016/05/10/placeavote-wants-to-give-voters-a-say-in-congress/', - infoTitle: 'PlaceAVote wants to give voters a say in Congress', - }, - { - name: 'Robin Rooms', - icon: 'http://robinpowered.s3.amazonaws.com/rooms/appicon.png', - linkAppStore: 'https://itunes.apple.com/us/app/robin-rooms/id947566115', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.robinpowered.rooms', - infoLink: 'https://techcrunch.com/2016/05/31/robin-makes-the-office-smarter-with-7-million-in-new-funding/', - infoTitle: 'Robin Rooms manages and mounts outside your conference rooms' - }, - { - name: 'Sleeperbot', - icon: 'https://blitzchat.net/uploads/c8425332190a4f4b852d7770ad32e602/original.png', - linkAppStore: 'https://itunes.apple.com/us/app/sleeperbot-fantasy-football/id987367543?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.sleeperbot&hl=en', - infoLink: 'https://medium.com/sleeperbot-hq/switching-to-react-native-in-production-on-ios-and-android-e6b675402712#.cug6h6qhn', - infoTitle: 'Switching to React Native in Production on iOS and Android', - }, - { - name: 'JD(手机京东)', - icon: 'https://lh3.googleusercontent.com/AIIAZsqyEG0KmCFruh1Ec374-2l7n1rfv_LG5RWjdAZOzUBCu-5MRqdLbzJfBnOdSFg=w300-rw', - linkAppStore: 'https://itunes.apple.com/cn/app/shou-ji-jing-dong-xin-ren/id414245413?mt=8', - linkPlayStore: 'https://app.jd.com/android.html', - infoLink: 'http://ir.jd.com/phoenix.zhtml?c=253315&p=irol-homeProfile', - infoTitle: 'JD.com is China’s largest ecommerce company by revenue and a member of the Fortune Global 500.', - }, - { - name: 'Chop', - icon: 'https://pbs.twimg.com/profile_images/656536498951446529/6zU6BvgB.png', - linkAppStore: 'http://apple.co/2dfkYH9', - infoLink: 'https://blog.getchop.io/how-we-built-chop-bae3d8acd131#.7y8buamrq', - infoTitle: 'How we built Chop', - }, - { - name: 'Bloomberg', - icon: 'http://is1.mzstatic.com/image/thumb/Purple71/v4/31/24/72/312472df-3d53-0acf-fc31-8a25682e528f/source/175x175bb.jpg', - linkAppStore: 'https://itunes.apple.com/us/app/bloomberg/id281941097?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.bloomberg.android.plus&hl=en', - infoLink: 'https://www.techatbloomberg.com/blog/bloomberg-used-react-native-develop-new-consumer-app/', - infoTitle: 'How Bloomberg Used React Native to Develop its new Consumer App', - }, - { - name: 'Blink', - icon: 'https://lh3.googleusercontent.com/QaId7rFtOjAT-2tHVkKB4lebX_w4ujWiO7ZIDe3Hd99TfBmPmiZySbLbVJV65qs0ViM=w300-rw', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.witapp', - infoLink: 'https://hashnode.com/post/what-we-learned-after-using-react-native-for-a-year-civdr8zv6058l3853wqud7hqp', - infoTitle: 'What we learned after using React Native for a year', - }, - { - name: 'Delivery.com', - icon: 'https://lh3.googleusercontent.com/ZwwQHQns9Ut2-LqbMqPcmQrsWBh3YbmbIzeDthfdavw99Ziq0unJ6EHUw8bstXUIpg=w300-rw', - linkAppStore: 'https://itunes.apple.com/us/app/delivery.com-food-alcohol/id435168129?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.deliverycom&hl=en', - infoLink: 'https://medium.com/delivery-com-engineering/react-native-in-an-existing-ios-app-delivered-874ba95a3c52#.37qruw6ck', - infoTitle: 'React Native in an Existing iOS App: Getting Started' - }, - { - name: 'Remedy', - icon: 'https://www.remedymedical.com/static/images/AppIconPatient.png', - linkAppStore: 'https://itunes.apple.com/us/app/remedy-on-demand-intelligent/id1125877350?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.remedy.android', - infoLink: 'https://techcrunch.com/2017/01/10/doctordoctorcantyouseeimburning/', - infoTitle: 'Talk to a world-class doctor: advice, prescriptions, and care', - }, - { - name: 'Yeti Smart Home', - icon: 'https://res.cloudinary.com/netbeast/image/upload/v1484303676/Android_192_loykto.png', - linkAppStore: 'https://itunes.apple.com/us/app/yeti-smart-home/id1190638808?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.netbeast.yeti', - infoLink: 'https://medium.com/@jesusdario/developing-beyond-the-screen-9af812b96724#.ozx0xy4lv', - infoTitle: 'How React Native is helping us to reinvent the wheel', - }, - { - name: 'Jack', - icon: 'https://s3-eu-west-1.amazonaws.com/jack-public/react-native-showcase/jack-raw-icon.png', - linkAppStore: 'https://itunes.apple.com/us/app/you-have-a-jack/id1019167559?ls=1&mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.jack45.jack', - infoLink: 'https://medium.com/@herdani/our-switch-to-react-native-f4ada19f0f3d#.ogwjzf2tw', - infoTitle: 'Our switch to React Native', - }, - { - name: 'Causr', - icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/9d/14/20/9d142015-3319-f613-2886-ad889609466a/source/175x175bb.jpg', - linkAppStore: 'https://itunes.apple.com/us/app/causr-business-networking/id1129819484', - infoLink: 'https://medium.com/causr/why-we-chose-react-native-abd7d58a18b5', - infoTitle: 'Why we chose React Native' - }, - { - name: 'Flare', - icon: 'http://x.co/FlareIcon', - linkAppStore: 'http://x.co/Flare', - linkPlayStore: 'http://x.co/FlareAndr', - infoLink: 'http://x.co/FlareNews', - infoTitle: 'Social network that connects entrepreneurs to fellow entrepreneurs, consumers, investors and experts', - }, - { - name: 'Prepd', - icon: 'http://is4.mzstatic.com/image/thumb/Purple111/v4/03/56/95/035695ab-77dc-4f3b-0961-3263e32e3494/source/175x175bb.jpg', - linkAppStore: 'https://itunes.apple.com/us/app/get-prepd/id1125687122?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.prepd&hl=en', - infoLink: 'https://logbook.hanno.co/prepd-pros-cons-react-native/', - infoTitle: 'How we built Prepd for iOS and Android using React Native', - }, -]; +const featuredApps = Metadata.showcaseApps.filter(app => { + return !app.pinned; +}).sort(function(a, b) { + return a.name.localeCompare(b.name); +}); -/* -If you want your app to be featured in the showcase, add them to the featured -hash above this line. The pinned list is reserved for a small list of hand-picked apps. -*/ -var pinned = [ - { - name: 'Facebook', - icon: 'https://lh3.googleusercontent.com/ZZPdzvlpK9r_Df9C3M7j1rNRi7hhHRvPhlklJ3lfi5jk86Jd1s0Y5wcQ1QgbVaAP5Q=w300', - linkAppStore: 'https://itunes.apple.com/app/facebook/id284882215', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en', - infoLink: 'https://code.facebook.com/posts/895897210527114/dive-into-react-native-performance/', - infoTitle: 'Using React Native in the Facebook App', - defaultLink: 'https://itunes.apple.com/app/facebook/id284882215', - }, - { - name: 'Facebook Ads Manager', - icon: 'http://is5.mzstatic.com/image/pf/us/r30/Purple5/v4/9e/16/86/9e1686ef-cc55-805a-c977-538ddb5e6832/mzl.gqbhwitj.png', - linkAppStore: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.facebook.adsmanager', - infoLink: 'https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native-app/', - infoTitle: 'How We Built the First Cross-Platform React Native App', - defaultLink: 'https://itunes.apple.com/us/app/facebook-ads-manager/id964397083?mt=8', - }, - { - name: 'Facebook Groups', - icon: 'http://is4.mzstatic.com/image/pf/us/r30/Purple69/v4/57/f8/4c/57f84c0c-793d-5f9a-95ee-c212d0369e37/mzl.ugjwfhzx.png', - linkAppStore: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8', - infoLink: 'https://code.facebook.com/posts/1014532261909640/react-native-bringing-modern-web-techniques-to-mobile/', - infoTitle: 'React Native: Bringing Modern Web Techniques to Mobile', - defaultLink: 'https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8', - }, - { - name: 'Instagram', - icon: 'http://a4.mzstatic.com/us/r30/Purple62/v4/1f/8d/f9/1f8df910-8ec7-3b8e-0104-d44e869f4d65/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/app/instagram/id389801252?pt=428156&ct=igweb.unifiedHome.badge&mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.instagram.android&referrer=utm_source%3Dinstagramweb%26utm_campaign%3DunifiedHome%26utm_medium%3Dbadge', - infoLink: 'https://engineering.instagram.com/react-native-at-instagram-dd828a9a90c7#.3h4wir4zr', - infoTitle: 'React Native at Instagram', - defaultLink: 'https://www.instagram.com/', - }, - { - name: 'Airbnb', - icon: 'https://a2.muscache.com/airbnb/static/icons/apple-touch-icon-180x180-bcbe0e3960cd084eb8eaf1353cf3c730.png', - linkAppStore: 'https://itunes.apple.com/us/app/airbnb/id401626263?mt=8&bev=1472279725_4ITWKWGX6KrmU6pT&utm_medium=web&utm_source=airbnb&_branch_match_id=307510898795870823', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.airbnb.android&hl=en&referrer=bev%3D1472279725_4ITWKWGX6KrmU6pT%26utm_medium%3Dweb%26utm_source%3Dairbnb', - infoLink: 'https://www.youtube.com/watch?v=tUfgQtmG3R0', - infoTitle: 'Hybrid React Native Apps at Airbnb', - defaultLink: 'https://www.airbnb.com/mobile', - }, - { - name: 'Baidu (手机百度)', - icon: 'http://a3.mzstatic.com/us/r30/Purple62/v4/90/7c/9b/907c9b4e-556d-1a45-45d4-0ea801719abd/icon175x175.png', - linkPlayStore: 'http://shouji.baidu.com/software/9896302.html', - linkAppStore: 'https://itunes.apple.com/en/app/shou-ji-bai-du-hai-liang-xin/id382201985?l=en&mt=8', - infoLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K', - infoTitle: 'Baidu is a search engine that has 600 million users.', - defaultLink: 'http://baike.baidu.com/link?url=TW8YhcVN4tO_Jz5VqMclCjGhf12EEqMD_TeVC6efe2REZlx80r6T0dX96hdmNl36XogLyExXzrvFU9rFeqxg_K', - }, - { - name: 'Discord', - icon: 'http://a5.mzstatic.com/us/r30/Purple5/v4/c1/2f/4c/c12f4cba-1d9a-f6bf-2240-04085d3470ec/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8', - infoLink: 'https://discord.engineering/react-native-deep-dive-91fd5e949933#.5jnqftgof', - infoTitle: 'Using React Native: One Year Later', - defaultLink: 'https://itunes.apple.com/us/app/discord-chat-for-gamers/id985746746?mt=8', - }, - { - name: 'Gyroscope', - icon: 'https://media.gyrosco.pe/images/magneto/180x180.png', - linkAppStore: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8', - infoLink: 'https://blog.gyrosco.pe/building-the-app-1dac1a97d253', - infoTitle: 'Building a visualization experience with React Native', - defaultLink: 'https://itunes.apple.com/app/apple-store/id1104085053?pt=117927205&ct=website&mt=8', - }, - { - name: 'li.st', - icon: 'https://lh3.googleusercontent.com/tXt0HgJ7dCgOnuQ-lQr1P7E57mnOYfwXhRsV9lGcPwHPVvrDAN6YmpLVFgy88qKrkFI=w300', - linkPlayStore: 'https://play.google.com/store/apps/details?id=st.li.listapp', - infoLink: 'https://www.youtube.com/watch?v=cI9bDvDEsYE', - infoTitle: 'Building li.st for Android with React Native', - defaultLink: 'https://play.google.com/store/apps/details?id=st.li.listapp', - }, - { - name: 'QQ', - icon: 'http://pp.myapp.com/ma_icon/0/icon_6633_1461768893/96', - linkPlayStore: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq', - infoLink: 'https://en.wikipedia.org/wiki/Tencent_QQ', - infoTitle: 'QQ is a Chinese messaging service with 829 million active accounts', - defaultLink: 'http://android.myapp.com/myapp/detail.htm?apkName=com.tencent.mobileqq', - }, - { - name: 'Townske', - icon: 'http://a3.mzstatic.com/us/r30/Purple69/v4/8b/42/20/8b4220af-5165-91fd-0f05-014332df73ef/icon175x175.png', - linkAppStore: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8', - infoLink: 'https://hackernoon.com/townske-app-in-react-native-6ad557de7a7c', - infoTitle: '"I would recommend React Native in a heartbeat."', - defaultLink: 'https://itunes.apple.com/us/app/townske-stunning-city-guides/id1018136179?ls=1&mt=8', - }, - { - name: 'Vogue', - icon: 'http://a2.mzstatic.com/us/r30/Purple30/v4/06/24/92/0624927f-a389-746c-27f9-e2466d59e55b/icon175x175.jpeg', - linkAppStore: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8', - infoLink: 'http://www.vogue.com/app', - infoTitle: '', - defaultLink: 'https://itunes.apple.com/app/apple-store/id1087973225?pt=45076&ct=site-promo&mt=8', - }, - { - name: 'Walmart', - icon: 'http://is2.mzstatic.com/image/thumb/Purple111/v4/64/9f/20/649f2026-e968-0417-660c-e5ee6d7977ff/source/350x350bb.jpg', - linkAppStore: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8', - linkPlayStore: 'https://play.google.com/store/apps/details?id=com.walmart.android&hl=en', - infoLink: ' https://medium.com/walmartlabs/react-native-at-walmartlabs-cdd140589560#.ueonqqloc', - infoTitle: 'React Native at Walmart Labs', - defaultLink: 'https://itunes.apple.com/us/app/walmart-app-shopping-savings/id338137227?mt=8', - }, -]; +const apps = pinnedApps.concat(featuredApps); -featured.sort(function(a, b) { - return a.name.localeCompare(b.name); +var AppIcon = React.createClass({ + render: function() { + return {this.props.appName}; + } }); -var apps = pinned.concat(featured); var AppList = React.createClass({ @@ -512,53 +81,34 @@ var AppList = React.createClass({ }, _renderApp: function(app, i) { - var inner = ( -
- {this._renderIcon(app)} - {this._renderTitle(app)} - {this._renderLinks(app)} - {this._renderInfo(app)} -
- ); - - if (app.linkAppStore && app.linkPlayStore) { - return (
{inner}
); - } - return (
- {inner} +
+ {this._renderAppIcon(app)} + {this._renderAppName(app)} + {this._renderLinks(app)} + {this._renderInfo(app)} +
); }, - _renderIcon: function(app) { - var icon = ( - {app.name} - ); - - return ( - {icon} - ); + _renderAppIcon: function(app) { + return {app.name}; }, - _renderTitle: function(app) { - var title = ( -

{app.name}

- ); - - return ( - {title} - ); + _renderAppName: function(app) { + return

{app.name}

; }, _renderInfo: function(app) { - if (!app.infoLink) { - return; + let info = null; + if (app.infoLink) { + info =

{app.infoTitle}

; } return ( -

{app.infoTitle}

+ {info} ); },